2015-03-17 05:39:32 +01:00
|
|
|
{% from "salt/map.jinja" import salt_settings with context %}
|
2013-08-14 21:53:29 +02:00
|
|
|
|
2018-01-06 13:54:57 +01:00
|
|
|
{% if grains.os != "MacOS" %}
|
2013-06-13 01:53:26 +02:00
|
|
|
salt-minion:
|
2015-03-24 18:08:08 +01:00
|
|
|
{% if salt_settings.install_packages %}
|
2013-06-13 01:53:26 +02:00
|
|
|
pkg.installed:
|
2015-03-17 05:39:32 +01:00
|
|
|
- name: {{ salt_settings.salt_minion }}
|
2015-03-24 18:08:08 +01:00
|
|
|
{% endif %}
|
2014-10-06 17:17:43 +02:00
|
|
|
file.recurse:
|
2015-03-17 05:39:32 +01:00
|
|
|
- name: {{ salt_settings.config_path }}/minion.d
|
2013-06-13 01:53:26 +02:00
|
|
|
- template: jinja
|
2015-06-09 23:05:49 +02:00
|
|
|
- source: salt://{{ slspath }}/files/minion.d
|
2015-03-23 22:53:24 +01:00
|
|
|
- clean: {{ salt_settings.clean_config_d_dir }}
|
2015-03-27 23:58:05 +01:00
|
|
|
- exclude_pat: _*
|
2014-12-21 15:35:45 +01:00
|
|
|
- context:
|
|
|
|
standalone: False
|
2013-06-13 01:53:26 +02:00
|
|
|
service.running:
|
|
|
|
- enable: True
|
2015-03-17 05:39:32 +01:00
|
|
|
- name: {{ salt_settings.minion_service }}
|
2017-07-27 22:15:21 +02:00
|
|
|
- require:
|
|
|
|
- file: salt-minion
|
2017-06-14 17:35:00 +02:00
|
|
|
{%- if not salt_settings.restart_via_at %}
|
2017-07-27 22:15:21 +02:00
|
|
|
cmd.run:
|
|
|
|
{%- if grains['saltversioninfo'][0] >= 2016 and grains['saltversioninfo'][1] >= 3 %}
|
|
|
|
{%- if grains['kernel'] == 'Windows' %}
|
2017-10-16 18:09:19 +02:00
|
|
|
- name: 'salt-call.bat --local service.restart {{ salt_settings.minion_service }}'
|
2017-07-27 22:15:21 +02:00
|
|
|
{%- else %}
|
|
|
|
- name: 'salt-call --local service.restart {{ salt_settings.minion_service }} --out-file /dev/null'
|
|
|
|
{%- endif %}
|
2017-10-16 18:09:19 +02:00
|
|
|
- bg: True
|
2017-07-27 22:15:21 +02:00
|
|
|
{%- else %}
|
|
|
|
{%- if grains['kernel'] == 'Windows' %}
|
|
|
|
- name: 'start powershell "Restart-Service -Name {{ salt_settings.minion_service }}"'
|
|
|
|
{%- else %}
|
|
|
|
# old style, pre 2016.3. fork and disown the process
|
|
|
|
- name: |-
|
|
|
|
exec 0>&- # close stdin
|
|
|
|
exec 1>&- # close stdout
|
|
|
|
exec 2>&- # close stderr
|
|
|
|
nohup salt-call --local service.restart {{ salt_settings.minion_service }} --out-file /dev/null &
|
|
|
|
{%- endif %}
|
|
|
|
{%- endif %}
|
|
|
|
- onchanges:
|
2017-06-14 17:35:00 +02:00
|
|
|
{%- if salt_settings.install_packages %}
|
2013-08-14 21:53:29 +02:00
|
|
|
- pkg: salt-minion
|
2017-06-14 17:35:00 +02:00
|
|
|
{%- endif %}
|
|
|
|
- file: salt-minion
|
|
|
|
- file: remove-old-minion-conf-file
|
|
|
|
{%- else %}
|
|
|
|
at:
|
|
|
|
pkg.installed: []
|
|
|
|
|
|
|
|
restart-salt-minion:
|
2017-10-01 20:22:11 +02:00
|
|
|
cmd.run:
|
2017-06-14 17:35:00 +02:00
|
|
|
- name: echo salt-call --local service.restart salt-minion | at now + 1 minute
|
|
|
|
- order: last
|
2017-06-15 12:30:30 +02:00
|
|
|
- require:
|
2017-06-14 17:35:00 +02:00
|
|
|
- pkg: at
|
2017-10-01 20:22:11 +02:00
|
|
|
- onchanges:
|
2017-06-14 17:35:00 +02:00
|
|
|
{%- if salt_settings.install_packages %}
|
|
|
|
- pkg: salt-minion
|
|
|
|
{%- endif %}
|
2013-06-13 01:53:26 +02:00
|
|
|
- file: salt-minion
|
2015-03-27 23:58:05 +01:00
|
|
|
- file: remove-old-minion-conf-file
|
2017-06-14 17:35:00 +02:00
|
|
|
{%- endif %}
|
2015-03-27 23:58:05 +01:00
|
|
|
|
2017-08-15 22:48:15 +02:00
|
|
|
{% 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 }}
|
|
|
|
- require_in:
|
|
|
|
- service: salt-minion
|
|
|
|
- watch_in:
|
|
|
|
- service: salt-minion
|
|
|
|
{% endif %}
|
|
|
|
|
2016-07-14 18:23:08 +02:00
|
|
|
{% if salt_settings.minion_remove_config %}
|
|
|
|
remove-default-minion-conf-file:
|
|
|
|
file.absent:
|
|
|
|
- name: {{ salt_settings.config_path }}/minion
|
|
|
|
{% endif %}
|
|
|
|
|
2015-03-27 23:58:05 +01:00
|
|
|
# clean up old _defaults.conf file if they have it around
|
|
|
|
remove-old-minion-conf-file:
|
|
|
|
file.absent:
|
2016-03-29 19:28:47 +02:00
|
|
|
- name: {{ salt_settings.config_path }}/minion.d/_defaults.conf
|
2018-01-06 13:54:57 +01:00
|
|
|
|
|
|
|
{% endif %}
|