0
0
mirror of https://github.com/saltstack-formulas/salt-formula.git synced 2024-11-27 22:38:10 +01:00

Ensure consistent ordering of module_config entries

Right now when you set module_config entries in your pillar data
like this:
salt:
  minion:
    module_config:
      smtp.from: 'Kali Salt <admins+salt@kali.org>'
      smtp.to: 'Kali Admins <admins+salt@kali.org>'
      smtp.host: localhost
      smtp.subject: 'Results of salt actions on'
      smtp.fields: id,fun

On each run, you will always a different ordering of the various
fields in the minion configuration file, leading to spurious restart
of the minion and admin annoyance:

          ID: salt-minion
    Function: file.recurse
        Name: /etc/salt/minion.d
      Result: True
     Comment: Recursively updated /etc/salt/minion.d
     Started: 13:39:25.689775
    Duration: 874.318 ms
     Changes:
              ----------
              /etc/salt/minion.d/f_defaults.conf:
                  ----------
                  diff:
                      ---
                      +++
                      @@ -930,10 +930,10 @@
                       # A dict for the test module:
                       #test.baz: {spam: sausage, cheese: bread}
                       #
                      +smtp.fields: id,fun
                      +smtp.from: Kali Salt <admins+salt@kali.org>
                       smtp.to: Kali Admins <admins+salt@kali.org>
                      -smtp.fields: id,fun
                       smtp.host: localhost
                      -smtp.from: Kali Salt <admins+salt@kali.org>
                       smtp.subject: Results of salt actions on

With the change here, this bad behaviour is gone...
This commit is contained in:
Raphaël Hertzog 2021-04-09 16:02:36 +02:00
parent 5941618c6e
commit 97299983ba
No known key found for this signature in database
GPG Key ID: 03881DABEBC29AB9

View File

@ -1137,7 +1137,7 @@ ext_pillar:
{%- if 'module_config' in cfg_minion %} {%- if 'module_config' in cfg_minion %}
{%- do default_keys.append('module_config') %} {%- do default_keys.append('module_config') %}
{%- for modkey, modval in cfg_minion.module_config.items() %} {%- for modkey, modval in cfg_minion.module_config|dictsort %}
{{ modkey }}: {{ modval }} {{ modkey }}: {{ modval }}
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}