From 7649c26a0d1bcd61724a685a2b138a7c71f4ae8b Mon Sep 17 00:00:00 2001 From: Brian Jackson Date: Fri, 27 Mar 2015 17:58:05 -0500 Subject: [PATCH] Switch config file.recurse to clean by default and tell it to ignore _* Salt writes it's schedule file to /etc/salt/{minion,master}.d/_schedule.conf We don't want to stomp all over Salt's files, but we do want a pristine starting point to lay down our managed config. So we use clean: True on the file.recurse call, but we tell it to ignore files that start with an _ We have to rename the current config file (_defaults.conf) because it will be ignored by the rule that ignores Salt's _* config files. This also means we need to clean up old config files (_defaults.conf) and restart the service if we cleaned it up. --- salt/defaults.yaml | 2 +- salt/files/master.d/{_defaults.conf => f_defaults.conf} | 0 salt/files/minion.d/{_defaults.conf => f_defaults.conf} | 0 salt/master.sls | 7 +++++++ salt/minion.sls | 7 +++++++ salt/standalone.sls | 6 ++++++ 6 files changed, 21 insertions(+), 1 deletion(-) rename salt/files/master.d/{_defaults.conf => f_defaults.conf} (100%) rename salt/files/minion.d/{_defaults.conf => f_defaults.conf} (100%) diff --git a/salt/defaults.yaml b/salt/defaults.yaml index e48e1bc..3457a72 100644 --- a/salt/defaults.yaml +++ b/salt/defaults.yaml @@ -11,7 +11,7 @@ salt: salt_cloud: salt-cloud salt_api: salt-api salt_ssh: salt-ssh - clean_config_d_dir: False + clean_config_d_dir: True master: gitfs_provider: gitpython diff --git a/salt/files/master.d/_defaults.conf b/salt/files/master.d/f_defaults.conf similarity index 100% rename from salt/files/master.d/_defaults.conf rename to salt/files/master.d/f_defaults.conf diff --git a/salt/files/minion.d/_defaults.conf b/salt/files/minion.d/f_defaults.conf similarity index 100% rename from salt/files/minion.d/_defaults.conf rename to salt/files/minion.d/f_defaults.conf diff --git a/salt/master.sls b/salt/master.sls index f21813a..234ffca 100644 --- a/salt/master.sls +++ b/salt/master.sls @@ -10,6 +10,7 @@ salt-master: - template: jinja - source: salt://salt/files/master.d - clean: {{ salt_settings.clean_config_d_dir }} + - exclude_pat: _* service.running: - enable: True - name: {{ salt_settings.master_service }} @@ -18,3 +19,9 @@ salt-master: - pkg: salt-master {% endif %} - file: salt-master + - file: remove-old-master-conf-file + +# clean up old _defaults.conf file if they have it around +remove-old-master-conf-file: + file.absent: + - name: /etc/salt/master.d/_defaults.conf diff --git a/salt/minion.sls b/salt/minion.sls index 5edb970..7f0cd52 100644 --- a/salt/minion.sls +++ b/salt/minion.sls @@ -10,6 +10,7 @@ salt-minion: - template: jinja - source: salt://salt/files/minion.d - clean: {{ salt_settings.clean_config_d_dir }} + - exclude_pat: _* - context: standalone: False service.running: @@ -20,3 +21,9 @@ salt-minion: - pkg: salt-minion {% endif %} - file: salt-minion + - file: remove-old-minion-conf-file + +# clean up old _defaults.conf file if they have it around +remove-old-minion-conf-file: + file.absent: + - name: /etc/salt/minion.d/_defaults.conf diff --git a/salt/standalone.sls b/salt/standalone.sls index 0ced4ae..1b3c2a1 100644 --- a/salt/standalone.sls +++ b/salt/standalone.sls @@ -10,6 +10,7 @@ salt-minion: - template: jinja - source: salt://salt/files/minion.d - clean: {{ salt_settings.clean_config_d_dir }} + - exclude_pat: _* - context: standalone: True service.dead: @@ -20,3 +21,8 @@ salt-minion: - pkg: salt-minion {% endif %} - file: salt-minion + +# clean up old _defaults.conf file if they have it around +remove-old-standalone-conf-file: + file.absent: + - name: /etc/salt/minion.d/_defaults.conf