Salt stack 盐堆栈错误:在sls测试中找到状态*.basic。测试不可用

Salt stack 盐堆栈错误:在sls测试中找到状态*.basic。测试不可用,salt-stack,Salt Stack,我正在尝试使用Salt将在线工具部署到新的VPS。这个过程涉及到克隆一个git repo,然后是各种设置命令——但是在子目录中包含其他.sls文件似乎有问题 以下是一个简化版本: 主配置文件: file_roots: base: - /srv/salt/saltstates 我在/srv/salt/saltstates/test/test.sls中有一个文件,其中包含: base: '*': - basic 文件/srv/salt/saltstates/test/ba

我正在尝试使用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
仅在您想要执行highstate时才需要,但是由于您正在尝试运行
salt'Minion1'state.sls test.test
您并不真正需要
top.sls

现在,由于您的sls文件位于此处:
/srv/salt/saltstates/test/basic.sls
,因此您要运行的命令如下:

salt'Minion1'state.sls test.basic


“点”向下遍历目录。

好的,这里您混淆了几点

首先,您在
/srv/salt/saltstates/test/test.sls中输入的所有内容实际上就是所谓的
top
文件,可能应该移动到
/srv/salt/saltstates/top.sls
top.sls
仅在您想要执行highstate时才需要,但是由于您正在尝试运行
salt'Minion1'state.sls test.test
您并不真正需要
top.sls

现在,由于您的sls文件位于此处:
/srv/salt/saltstates/test/basic.sls
,因此您要运行的命令如下:

salt'Minion1'state.sls test.basic


“点”向下遍历目录。

谢谢@Utah\u Dave-我实际上是在尝试测试一个建议的顶级文件(
test.sls
)=你是对的,事情变得混乱了,因为顶级文件不同于州文件。最后,
salt'Minion1'state.top test/test
正确运行了文件。谢谢@犹他州Dave-我实际上正在尝试测试一个建议的top文件(
test.sls
)=你是对的,事情变得混乱了,因为顶级文件不同于州文件。最后,
salt'Minion1'state.top测试/test
正确运行了文件。