在 env 'base' 中找不到 'php-apps' 的匹配 sls
No matching sls found for 'php-apps' in env 'base'
我有以下 saltstack 顶级文件。
'blog.php.*':
- php-apps
- php-apps.blog
'app.php.*':
- php-apps
- php-apps.some-app
'*phpone*':
- php-apps
- php-apps.blog
- php-apps.some-app
当我 运行 上述环境的高状态时它工作正常。像这样
salt 'blog.php.*' state.highstate
或 salt 'app.php.*' state.highstate
但是当我运行第三台服务器时,它失败了。
salt '*phpone*' state.highstate
错误:
No matching sls found for 'php_apps' in env 'base'
我去了 minion 服务器,发现 php-apps
中的 init.sls
文件没有被复制到 minion 缓存位置 /var/cache/salt/minion/files/base/php-apps
我找不到任何可能导致此问题的编译错误的状态文件日志。
我尝试了以下方法,但仍然无效。
- 已清除主缓存
- 已清除 minion 缓存
- 从头开始重新创建小黄人
我错过了什么?如果需要任何其他信息,请告诉我。
首先,我将使用 yaml 验证器来验证 yaml 元结构。即.. 安装 kwalify
#install kwalify
sudo apt-get install kwalify
# Now try to check the top file with yaml meta-validation
kwalify -m top.sls
# to check many yaml sls file
find . | grep "sls" | xargs kwalify -m
当 salt 不验证最基本的元结构时,请不要感到惊讶。
因为 saltstack 使用 YAML,如果你没有强制你的编辑器转换所有 TABS 来修复 spaces,它也会遇到制表符与 space 缩进问题。
我有以下 saltstack 顶级文件。
'blog.php.*':
- php-apps
- php-apps.blog
'app.php.*':
- php-apps
- php-apps.some-app
'*phpone*':
- php-apps
- php-apps.blog
- php-apps.some-app
当我 运行 上述环境的高状态时它工作正常。像这样
salt 'blog.php.*' state.highstate
或 salt 'app.php.*' state.highstate
但是当我运行第三台服务器时,它失败了。
salt '*phpone*' state.highstate
错误:
No matching sls found for 'php_apps' in env 'base'
我去了 minion 服务器,发现 php-apps
中的 init.sls
文件没有被复制到 minion 缓存位置 /var/cache/salt/minion/files/base/php-apps
我找不到任何可能导致此问题的编译错误的状态文件日志。
我尝试了以下方法,但仍然无效。
- 已清除主缓存
- 已清除 minion 缓存
- 从头开始重新创建小黄人
我错过了什么?如果需要任何其他信息,请告诉我。
首先,我将使用 yaml 验证器来验证 yaml 元结构。即.. 安装 kwalify
#install kwalify
sudo apt-get install kwalify
# Now try to check the top file with yaml meta-validation
kwalify -m top.sls
# to check many yaml sls file
find . | grep "sls" | xargs kwalify -m
当 salt 不验证最基本的元结构时,请不要感到惊讶。
因为 saltstack 使用 YAML,如果你没有强制你的编辑器转换所有 TABS 来修复 spaces,它也会遇到制表符与 space 缩进问题。