(SaltStack) ID dog in SLS dog is not a dictionary

核能气质少年 提交于 2019-12-10 04:06:39

问题


I have been trying to find a pattern (bcm2708_wdog) in the /etc/modules file and if it isnt there add it to the bottom. Every time I try this I get the "ID dog in SLS dog is not a dictionary". I have no idea what this means. Here is the file:

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

回答1:


It should probably look like this:

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

Lines beginning with "-" denote items in a list. In your version, you've defined the top-level "dog" element as a list containing a dictionary. Salt expects it to be a straight dictionary instead, hence the error.




回答2:


Depending on your version, in 2018

You will get that message if wrote the state with just 'file.replace' without the "dog" on top.

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



来源:https://stackoverflow.com/questions/31414095/saltstack-id-dog-in-sls-dog-is-not-a-dictionary

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!