标签: salt-stack

saltstack“支柱无法渲染并显示以下消息”

当我执行以下操作时收到以下错误消息state.apply

[ERROR   ] Data passed to highstate outputter is not a
valid highstate return: {'sonia9': ['Pillar failed to
render with the following messages:', "Rendering SLS 'users'
failed. Please see master log for details."]}
Run Code Online (Sandbox Code Playgroud)

是否可以看到实际渲染以及失败的地方?

我已经尝试过:

  • log_level: garbage/etc/salt/master,重新启动守护进程
  • salt-call -l debug state.apply在奴才上

我收到同样无用的错误消息,并且没有有关实际渲染的更多详细信息。

salt-stack

2
推荐指数
1
解决办法
9764
查看次数

如果里面的一个语句失败,如何使整个 state.sls 失败

我刚开始使用 saltstack,所以有人可以帮助解决这个问题:如果里面的一个语句失败,如何使整个 state.sls 失败?是必需品吗

要求/观看

适合这个吗?

configurationmanager salt-stack

2
推荐指数
1
解决办法
1263
查看次数

Jinja 模板字典/列表过滤器“包含”或“喜欢” - Saltstack

我想过滤包含或以“foo_”开头的值,并忽略列表中的其他值。

值(无法修改):

TEST:
- foo_a
- foo_b
- bar_a
- bar_b
- test_c
Run Code Online (Sandbox Code Playgroud)

模板 :

{% for value in grains['TEST'] %}
- do something with value that contains "foo_"
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

我尝试过:

{% for value in grains['TEST']|map(^foo_) %}
- do something with value that contains "foo_"
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

=> 没有成功

python jinja2 salt-stack

2
推荐指数
1
解决办法
1万
查看次数

如何使用 saltstack 添加包 repo 和密钥到 apt ?

我只是 SaltStack 的初学者。我可以看到有一个 pkgrepo 模块可用于设置包 repo 以便从中安装包。

https://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html

给出的一个例子是:

base:
  pkgrepo.managed:
    - humanname: Google Chrome
    - name: deb http://dl.google.com/linux/chrome/deb/ stable main
    - dist: stable
    - file: /etc/apt/sources.list.d/chrome-browser.list
    - require_in:
      - pkg: google-chrome-stable
    - gpgcheck: 1
    - key_url: https://dl-ssl.google.com/linux/linux_signing_key.pub
Run Code Online (Sandbox Code Playgroud)

我不明白的是我把上面的代码放在哪里?我在 /srv/salt/top.sls 和其他状态的 .sls 文件中尝试过,但这是不对的。它是如何完成的?

debian apt salt-stack

2
推荐指数
1
解决办法
4891
查看次数

如何用盐重新启动 systemd 服务?

我正在尝试构建一个.sls将始终重新启动服务的文件:

systemd-resolved:
  service.running:
    - restart: True
Run Code Online (Sandbox Code Playgroud)

部署时,这给出了


      ID: systemd-resolved
Function: service.running
  Result: True
 Comment: The service systemd-resolved is already running
 Started: 23:46:49.999789
Duration: 53.068 ms
 Changes:
Run Code Online (Sandbox Code Playgroud)

这是正确的,服务已经在运行。我试图用这个命令传达的是重新启动它。怎么做?

注意:如果可能的话,我想避免运行显式命令(因为我觉得我不太像盐 - 这应该由适当的模块处理):

'systemctl restart systemd-resolved':
  cmd.run
Run Code Online (Sandbox Code Playgroud)

salt-stack

2
推荐指数
1
解决办法
9111
查看次数

如何将盐奴隶降级为旧版本?

我需要使用版本0.13.0而不是版本0.15.x. 似乎堆栈溢出需要我在这一行下面添加许多行文本,当我想问的是一个简单的问题,如何降级盐奴才找不到任何ppa ...有它或任何东西的存储库.. .

salt-stack

1
推荐指数
1
解决办法
2403
查看次数

如何执行盐堆奴才

我正在尝试使用salt minion安装Nginx包.但是,我无法安装.我试着.sls在一个名为Nginx的新目录中编写一个文件,如下所示:

/salt/states/base/nginx/init.sls:

nginx:
  pkg:
    - installed
  service:
    - running
    - watch:
      - pkg: nginx
Run Code Online (Sandbox Code Playgroud)

我写的top.sls如下:

base:
  'saltminion*':
    - nginx
Run Code Online (Sandbox Code Playgroud)

我执行了以下命令:

salt '*' state.highstate
Run Code Online (Sandbox Code Playgroud)

我得到如下输出:

ubuntu:
----------
          ID: states
    Function: no.None
      Result: False
     Comment: No Top file or external nodes data matches found
     Changes:   

Summary
------------
Succeeded: 0
Failed:    1
------------
Total:     1
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

salt-stack

1
推荐指数
1
解决办法
1567
查看次数

saltstack:有没有办法在每次运行state.highstate时停止更新cron文件

目前我有以下cron.file公式

date > system_cron:
  cron.file:
    - name:  salt://crons/cron_jobs
    - source_hash:  "md5sum=895dcbbddd27bfa77056ef8c8340549a"
    - user:  security
Run Code Online (Sandbox Code Playgroud)

但是每次运行highstate时都会更新crontab,尽管cron_jobs文件没有改变,因此状态是相同的.有没有办法在每次使用cron.file时运行highstate时停止创建temp crontab文件

linux salt-stack

1
推荐指数
1
解决办法
160
查看次数

盐:基于systemd的条件是否可用

我想通过盐堆栈安装此文件。

# /etc/logrotate.d/foo

/home/foo/log/foo.log {
    compress
    # ...
    postrotate
      systemctl restart foo.service
    endscript
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,有些旧机器还没有安装系统。

对于那些机器,我需要以下postrotate脚本:

/etc/init.d/foo restart
Run Code Online (Sandbox Code Playgroud)

如何用盐做这件事?

我想我需要这样的东西:

postrotate
 {% if ??? %}
   /etc/init.d/foo restart
 {% else %}
   systemctl restart foo.service
 {% endif %} 
endscript
Run Code Online (Sandbox Code Playgroud)

但是如何实施???

systemd salt-stack

1
推荐指数
1
解决办法
514
查看次数

如何将多个参数传递给salt cmd.run?

我刚刚开始使用Salt而不是Ansible.我不确定是从主服务器调用以下脚本还是手动将命令输入salt状态.对于后者,任何人都可以建议如何使用cmd.run实现此目的.

#!/bin/bash

. /lib/lsb/init-functions

cd /opt/concourse/bin/

./concourse worker \
  --name ci_worker01 \
  --bind-ip 0.0.0.0 \
  --bind-port 7777 \
  --work-dir /opt/concourse/worker \
  --tsa-host 127.0.0.1 \
  --tsa-port 2222 \
  --tsa-public-key /opt/concourse/.ssh/id_web_rsa.pub \
  --tsa-worker-private-key /opt/concourse/.ssh/id_worker_rsa &>/var/log/concourse/concourse_worker.log &
Run Code Online (Sandbox Code Playgroud)

salt-stack concourse

1
推荐指数
1
解决办法
2175
查看次数