Search code examples
salt-project

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


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

Solution

  • 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.