我在我的状态文件中添加了以下逻辑,该文件在首次安装名为agent的实用程序后基本上设置了新的粒度值。
{% if salt['grains.get']('agent') != 'installed' %}
..............
agent_status:
grains.present:
- name: agent
- value: installed
{% endif %}
我第一次运行salt 'server1' state.highstate
时会返回以下内容,这是我的期望:
----------
ID: agent_status
Function: grains.present
Name: agent
Result: True
Comment: Set grain agent to installed
Started: 16:03:27.083578
Duration: 709.795 ms
Changes:
----------
agent:
installed
当我随后运行salt 'server1' state.highstate
时,它返回:
server1:
----------
ID: states
Function: no.None
Result: False
Comment: No states found for this minion
Started:
Duration:
Changes:
Summary
------------
Succeeded: 0
Failed: 1
这是正确的行为,因为我有点困惑,因为我原本预计这不会显示为失败?此外,评论在这里似乎有点误导。
答案 0 :(得分:1)
是的,这是正确的行为。发生的事情是,盐首先呈现了神社。从第二次你运行这个谷物存在,你的仆从看到一个空的sls文件。因此,没有找到这个小兵的状态"
编辑:如果你想避免得到#34;没有找到这个小兵的状态"错误,你可以在这个
之外的jinja之外的底部添加一个无害的状态/tmp/deletemeplease.txt:
file.absent