我正在尝试使用Salt将在线工具部署到新的VPS上。这个过程包括克隆一个git repo,然后是各种设置命令——然而,从子目录中包含其他.sls文件似乎有一个问题。
这里是一个简化的版本:
主配置文件:file_roots:
base:
- /srv/salt/saltstates
我有一个文件在/srv/salt/saltstates/test/test.sls
包含:
base:
'*':
- basic
文件/srv/salt/saltstates/test/basic.sls
包含:
Europe/London:
timezone.system
然而,当我运行salt 'Minion1' state.sls test.test
时,返回一个错误:
Minion1:
----------
ID: base
Function: *.basic
Result: False
Comment: State *.basic found in sls test.test is unavailable
Started:
Duration:
Changes:
好了,这里你混淆了几件事。
首先,你放在/srv/salt/saltstates/test/test.sls
中的内容实际上是所谓的top
文件,可能应该移动到/srv/salt/saltstates/top.sls
top.sls
只在您想要执行高状态时才需要,但由于您正在尝试运行salt 'Minion1' state.sls test.test
,因此实际上不需要top.sls
。
现在,既然您的sls文件在这里:/srv/salt/saltstates/test/basic.sls
,那么您想要运行的命令如下:
salt 'Minion1' state.sls test.basic
"点"遍历目录