From db8d9fff2c2f64c0fdf5ddeb5eb2172582aded36 Mon Sep 17 00:00:00 2001 From: m0duspwnens Date: Tue, 2 Aug 2022 16:22:26 -0400 Subject: [PATCH] manage salt-minion start delay with systemd drop-in file - https://github.com/Security-Onion-Solutions/securityonion/issues/8441 --- salt/salt/map.jinja | 2 -- salt/salt/minion.sls | 6 +++--- salt/salt/service/salt-minion.service.jinja | 15 --------------- salt/salt/service/start-delay.conf.jinja | 2 ++ 4 files changed, 5 insertions(+), 20 deletions(-) delete mode 100644 salt/salt/service/salt-minion.service.jinja create mode 100644 salt/salt/service/start-delay.conf.jinja diff --git a/salt/salt/map.jinja b/salt/salt/map.jinja index 389a95607..eb9f5ae89 100644 --- a/salt/salt/map.jinja +++ b/salt/salt/map.jinja @@ -11,7 +11,6 @@ {% set PYTHON3INFLUX= 'influxdb == ' ~ PYTHONINFLUXVERSION %} {% set PYTHON3INFLUXDEPS= ['certifi', 'chardet', 'python-dateutil', 'pytz', 'requests'] %} {% set PYTHONINSTALLER = 'pip' %} - {% set SYSTEMD_UNIT_FILE = '/lib/systemd/system/salt-minion.service' %} {% else %} {% set SPLITCHAR = '-' %} {% set SALTNOTHELD = salt['cmd.run']('yum versionlock list | grep -q salt ; echo $?', python_shell=True) %} @@ -22,7 +21,6 @@ {% set PYTHON3INFLUX= 'securityonion-python3-influxdb' %} {% set PYTHON3INFLUXDEPS= ['python36-certifi', 'python36-chardet', 'python36-dateutil', 'python36-pytz', 'python36-requests'] %} {% set PYTHONINSTALLER = 'pkg' %} - {% set SYSTEMD_UNIT_FILE = '/usr/lib/systemd/system/salt-minion.service' %} {% endif %} {% set INSTALLEDSALTVERSION = salt['pkg.version']('salt-minion').split(SPLITCHAR)[0] %} diff --git a/salt/salt/minion.sls b/salt/salt/minion.sls index 15e203d82..fafb6f0f3 100644 --- a/salt/salt/minion.sls +++ b/salt/salt/minion.sls @@ -81,10 +81,10 @@ set_log_levels: - "log_level: error" - "log_level_logfile: error" -salt_minion_service_unit_file: +salt_minion_service_start_delay: file.managed: - - name: {{ SYSTEMD_UNIT_FILE }} - - source: salt://salt/service/salt-minion.service.jinja + - name: /etc/systemd/system/salt-minion.service.d/start-delay.conf + - source: salt://salt/service/start-delay.conf.jinja - template: jinja - defaults: service_start_delay: {{ service_start_delay }} diff --git a/salt/salt/service/salt-minion.service.jinja b/salt/salt/service/salt-minion.service.jinja deleted file mode 100644 index c7bae0bc2..000000000 --- a/salt/salt/service/salt-minion.service.jinja +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=The Salt Minion -Documentation=man:salt-minion(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltstack.com/en/latest/contents.html -After=network.target salt-master.service - -[Service] -KillMode=process -Type=notify -NotifyAccess=all -LimitNOFILE=8192 -ExecStart=/usr/bin/salt-minion -ExecStartPre=/bin/sleep {{ salt['pillar.get']('salt:minion:service_start_delay', service_start_delay) }} - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/salt/salt/service/start-delay.conf.jinja b/salt/salt/service/start-delay.conf.jinja new file mode 100644 index 000000000..33917b174 --- /dev/null +++ b/salt/salt/service/start-delay.conf.jinja @@ -0,0 +1,2 @@ +[Service] +ExecStartPre=/bin/sleep {{ salt['pillar.get']('salt:minion:service_start_delay', service_start_delay) }}