SaltStack:调用一个sls文件的单一状态

我无法调用一个sls文件的单一状态。

整个sls文件的作品

这工作:

salt-ssh w123 state.sls monitoring 

这工作:

 salt-ssh w123 state.show_sls monitoring 

以上输出一项:

 monitoring_packages: ---------- __env__: base __sls__: monitoring.packages pkg: |_ ---------- pkgs: - python-psutil - installed |_ ---------- order: 10000 

我试过了

现在我只想调用monitoring_packages ,而不是整个sls文件:

失败:

 salt:/srv # salt-ssh w123 state.sls_id monitoring_packages monitoring w123: Data failed to compile: ---------- No matching sls found for 'monitoring' in env 'base' 

失败:

 salt:/srv # salt-ssh w123 state.single monitoring.monitoring_packages w123: TypeError encountered executing state.single: single() takes at least 2 arguments (1 given) 

如何调用我的单一状态monitoring_packages

 salt:/srv # salt-ssh --version salt-ssh 2015.8.3 (Beryllium) 

我遇到这个post,同时也试图找出如何做到这一点与普通的电话(即不盐ssh )。

如果您有以下SLS文件(foo.sls):

 bar: file.managed: - source: salt://some/file 

您可以运行以下命令,仅在状态文件中执行该条目:

 salt '*' state.sls_id bar foo 

而且,我也不知道这一点。 我在Google小组讨论的评论中find了答案,指出了这里的提交。

看起来这是一个已知的问题: https : //github.com/saltstack/salt/issues/29253

它在salt-ssh之外工作。 看起来像一个function需要添加到该包装。