运行 下载了 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.