运行 下载了 SaltStack 公式
Run downloaded SaltStack formula
我已经按照此处的说明下载了 PHP 公式:https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
我已将 apache
更改为 php
。在我的 salt 配置文件中(我假设是 /etc/salt/master
),我设置 file_roots
如下:
file_roots:
base:
- /srv/salt
- /srv/formulas/php-formula
我不知道我现在应该如何运行。通过发现文档不完整,我已经成功 运行 盐状态文件,所以我错过了一个我不知道的步骤。
如果我尝试 运行 公式与 运行 状态相同,我只会收到错误。
salt '*' state.apply php-formula
salt-minion:
Data failed to compile:
----------
No matching sls found for 'php-formula' in env 'base'
ERROR: Minions returned with non-zero exit code
我也试过:sudo salt '*' state.highstate
,也有错误:
salt-minion:
----------
ID: states
Function: no.None
Result: False
Comment: No Top file or master_tops data matches found.
Changes:
Summary for salt-minion
------------
Succeeded: 0
Failed: 1
------------
Total states run: 1
Total run time: 0.000 ms
ERROR: Minions returned with non-zero exit code
您必须将 top.sls
文件添加到 /srv/salt/
,而不仅仅是 /srv/pillar/
。如果您有一个名为 /srv/salt/php.sls
的文件,您已将其删除,否则它会干扰 /srv/pillar/php.sls
.
/srv/salt/top.sls
的内容:
base:
'*':
- php
这有点奇怪,因为我之前的测试(不是公式)使用了 /srv/salt/php.sls
和 /srv/pillar/top.sls
。现在我正在使用 /srv/pillar/php.sls
和 /srv/salt/top.sls
.
我已经按照此处的说明下载了 PHP 公式:https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
我已将 apache
更改为 php
。在我的 salt 配置文件中(我假设是 /etc/salt/master
),我设置 file_roots
如下:
file_roots:
base:
- /srv/salt
- /srv/formulas/php-formula
我不知道我现在应该如何运行。通过发现文档不完整,我已经成功 运行 盐状态文件,所以我错过了一个我不知道的步骤。
如果我尝试 运行 公式与 运行 状态相同,我只会收到错误。
salt '*' state.apply php-formula
salt-minion:
Data failed to compile:
----------
No matching sls found for 'php-formula' in env 'base'
ERROR: Minions returned with non-zero exit code
我也试过:sudo salt '*' state.highstate
,也有错误:
salt-minion:
----------
ID: states
Function: no.None
Result: False
Comment: No Top file or master_tops data matches found.
Changes:
Summary for salt-minion
------------
Succeeded: 0
Failed: 1
------------
Total states run: 1
Total run time: 0.000 ms
ERROR: Minions returned with non-zero exit code
您必须将 top.sls
文件添加到 /srv/salt/
,而不仅仅是 /srv/pillar/
。如果您有一个名为 /srv/salt/php.sls
的文件,您已将其删除,否则它会干扰 /srv/pillar/php.sls
.
/srv/salt/top.sls
的内容:
base:
'*':
- php
这有点奇怪,因为我之前的测试(不是公式)使用了 /srv/salt/php.sls
和 /srv/pillar/top.sls
。现在我正在使用 /srv/pillar/php.sls
和 /srv/salt/top.sls
.