diff --git a/salt/minion.sls b/salt/minion.sls index 466fdb313..6a3cdad5e 100644 --- a/salt/minion.sls +++ b/salt/minion.sls @@ -12,9 +12,9 @@ download-salt-minion: - source: {{ salt_settings.salt_minion_pkg_source }} {%- if salt_settings.salt_minion_pkg_hash %} - source_hash: {{ salt_settings.salt_minion_pkg_hash }} - {% else %} + {%- else %} - skip_verify: True - {% endif %} + {%- endif %} - user: root - group: wheel - mode: '0644' @@ -36,8 +36,8 @@ salt-minion: macpackage.installed: - name: '/tmp/salt.pkg' - target: / - {# macpackage.installed behaves weirdly with version_check; version_check detects difference but fails to actually complete install. #} - {# use force == True as workaround #} + {#- macpackage.installed behaves weirdly with version_check; version_check detects difference but fails to actually complete install. #} + {#- use force == True as workaround #} - force: True - unless: - test -n "{{ salt_settings.version }}" && '/opt/salt/bin/salt-minion --version=.*{{ salt_settings.version }}.*' @@ -50,11 +50,17 @@ salt-minion: - name: {{ salt_settings.salt_minion }} {%- if salt_settings.version %} - version: {{ salt_settings.version }} + {%- endif %} {%- endif %} - require_in: - service: salt-minion - {%- endif %} -{% endif %} + - onchanges_in: + - cmd: salt-minion + {%- if salt_settings.restart_via_at %} + - cmd: restart-salt-minion + {%- endif %} +{%- endif %} + file.recurse: - name: {{ salt_settings.config_path }}/minion.d {%- if salt_settings.minion_config_use_TOFS %} @@ -71,11 +77,18 @@ salt-minion: {%- endif %} - clean: {{ salt_settings.clean_config_d_dir }} - exclude_pat: _* + - onchanges_in: + - cmd: salt-minion + {%- if salt_settings.restart_via_at %} + - cmd: restart-salt-minion + {%- endif %} + service.running: - enable: True - name: {{ salt_settings.minion_service }} - require: - file: salt-minion + {%- if not salt_settings.restart_via_at %} cmd.run: {%- if grains['saltversioninfo'] >= [ 2016, 3 ] %} @@ -110,12 +123,11 @@ salt-minion: - file: salt-minion - file: remove-old-minion-conf-file {%- else %} - - {% if grains.os != 'MacOS' %} - {# MacOS has 'at' command; but there's no package to install #} +{%- if grains.os != 'MacOS' %} +{#- MacOS has 'at' command; but there's no package to install #} at: pkg.installed: [] - {% endif %} +{%- endif %} restart-salt-minion: cmd.run: @@ -137,7 +149,7 @@ restart-salt-minion: - file: remove-old-minion-conf-file {%- endif %} -{% if 'inotify' in salt_settings.get('minion', {}).get('beacons', {}) and salt_settings.get('pyinotify', False) %} +{%- if 'inotify' in salt_settings.get('minion', {}).get('beacons', {}) and salt_settings.get('pyinotify', False) %} salt-minion-beacon-inotify: pkg.installed: - name: {{ salt_settings.pyinotify }} @@ -145,20 +157,25 @@ salt-minion-beacon-inotify: - service: salt-minion - watch_in: - service: salt-minion -{% endif %} +{%- endif %} -{% if salt_settings.minion_remove_config %} +{%- if salt_settings.minion_remove_config %} remove-default-minion-conf-file: file.absent: - name: {{ salt_settings.config_path }}/minion -{% endif %} +{%- endif %} # clean up old _defaults.conf file if they have it around remove-old-minion-conf-file: file.absent: - name: {{ salt_settings.config_path }}/minion.d/_defaults.conf + - onchanges_in: + - cmd: salt-minion + {%- if salt_settings.restart_via_at %} + - cmd: restart-salt-minion + {%- endif %} -{% if grains.os == 'MacOS' %} +{%- if grains.os == 'MacOS' %} remove-macpackage-salt: file.absent: - name: /tmp/salt.pkg