(SaltStack)SLS狗中的ID狗不是字典

时间:2015-07-14 18:06:36

标签: salt-stack

我一直在尝试在/ etc / modules文件中找到一个模式(bcm2708_wdog),如果没有,则将其添加到底部。每次我尝试这个,我得到“SLS狗的ID狗不是字典”。我不知道这是什么意思。 这是文件:

dog:
  - file.replace:
    - name: /etc/modules
    - pattern: 'bcm2708_wdog'
    - append_if_not_found: True

2 个答案:

答案 0 :(得分:10)

应该看起来像这样:

dog:
  file.replace:    # <--------this line was your problem.
    - name: /etc/modules
    - pattern: 'bcm2708_wdog'
    - append_if_not_found: True

以&#34开头的行; - &#34;表示列表中的项目。在您的版本中,您已经定义了顶级&#34; dog&#34; element作为包含字典的列表。 Salt希望它是一个直字典,因此错误。

答案 1 :(得分:0)

根据您的版本,在2018年

如果只写了“ file.replace”状态,而顶部没有“ dog”,则会收到该消息。

file.replace:     -名称:/ etc / modules     -模式:“ bcm2708_wdog”     -append_if_not_found:是