我一直在尝试在/ etc / modules文件中找到一个模式(bcm2708_wdog),如果没有,则将其添加到底部。每次我尝试这个,我得到“SLS狗的ID狗不是字典”。我不知道这是什么意思。 这是文件:
dog:
- file.replace:
- name: /etc/modules
- pattern: 'bcm2708_wdog'
- append_if_not_found: True
答案 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:是