diff --git a/pillar.example b/pillar.example index dd40882..2c75741 100644 --- a/pillar.example +++ b/pillar.example @@ -173,6 +173,8 @@ salt: # salt minion config: minion_config_use_TOFS: true + # schedule delayed minion restart on configuration changes + restart_via_systemd: false minion: # standalone setup diff --git a/salt/defaults.yaml b/salt/defaults.yaml index 2b84eec..dcf2dd6 100644 --- a/salt/defaults.yaml +++ b/salt/defaults.yaml @@ -11,6 +11,7 @@ salt: use_pip: false clean_config_d_dir: true restart_via_at: false + restart_via_systemd: false parallel: true # salt.git module argument config_path: /etc/salt diff --git a/salt/minion.sls b/salt/minion.sls index 3436244..6f4d41a 100644 --- a/salt/minion.sls +++ b/salt/minion.sls @@ -107,7 +107,7 @@ salt-minion: - file: remove-old-minion-conf-file - order: last {% endif %} - {%- if not salt_settings.restart_via_at %} + {%- if not salt_settings.restart_via_at and not salt_settings.restart_via_systemd %} cmd.run: {%- if grains['saltversioninfo'] >= [ 2016, 3 ] %} {%- if grains['kernel'] == 'Windows' %} @@ -142,7 +142,7 @@ salt-minion: - file: remove-old-minion-conf-file {%- else %} - {% if grains.os_family not in ['MacOS', 'FreeBSD'] %} + {%- if grains.os_family not in ['MacOS', 'FreeBSD'] and not salt_settings.restart_via_systemd %} {# MacOS and FreeBSD have the 'at' command; but there's no package to install #} at: pkg.installed: @@ -151,7 +151,11 @@ at: restart-salt-minion: cmd.run: + {%- if salt_settings.restart_via_systemd %} + - name: systemd-run --on-active=1m systemctl restart salt-minion + {%- else %} - name: echo salt-call --local service.restart {{ salt_settings.minion_service }} | at now + 1 minute + {%- endif %} - order: last - onchanges: {%- if salt_settings.install_packages %} diff --git a/test/integration/default/files/_mapdata/almalinux-8.yaml b/test/integration/default/files/_mapdata/almalinux-8.yaml index 8633ac5..7eb8fee 100644 --- a/test/integration/default/files/_mapdata/almalinux-8.yaml +++ b/test/integration/default/files/_mapdata/almalinux-8.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/almalinux-9.yaml b/test/integration/default/files/_mapdata/almalinux-9.yaml index c27ba30..2c8e23d 100644 --- a/test/integration/default/files/_mapdata/almalinux-9.yaml +++ b/test/integration/default/files/_mapdata/almalinux-9.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/amazonlinux-2.yaml b/test/integration/default/files/_mapdata/amazonlinux-2.yaml index 175f200..5459073 100644 --- a/test/integration/default/files/_mapdata/amazonlinux-2.yaml +++ b/test/integration/default/files/_mapdata/amazonlinux-2.yaml @@ -96,6 +96,7 @@ values: python_git: GitPython release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/amazonlinux-2023.yaml b/test/integration/default/files/_mapdata/amazonlinux-2023.yaml index d414720..5d9dae6 100644 --- a/test/integration/default/files/_mapdata/amazonlinux-2023.yaml +++ b/test/integration/default/files/_mapdata/amazonlinux-2023.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/arch-base-latest.yaml b/test/integration/default/files/_mapdata/arch-base-latest.yaml index 798f5ff..c35d50a 100644 --- a/test/integration/default/files/_mapdata/arch-base-latest.yaml +++ b/test/integration/default/files/_mapdata/arch-base-latest.yaml @@ -95,6 +95,7 @@ values: python_git: python2-gitpython release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/centos-7.yaml b/test/integration/default/files/_mapdata/centos-7.yaml index 72ccc36..29d3beb 100644 --- a/test/integration/default/files/_mapdata/centos-7.yaml +++ b/test/integration/default/files/_mapdata/centos-7.yaml @@ -96,6 +96,7 @@ values: python_git: GitPython release: '3003' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/centos-8.yaml b/test/integration/default/files/_mapdata/centos-8.yaml index 65a6b1e..6987960 100644 --- a/test/integration/default/files/_mapdata/centos-8.yaml +++ b/test/integration/default/files/_mapdata/centos-8.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/centos-9.yaml b/test/integration/default/files/_mapdata/centos-9.yaml index acd292c..948f62b 100644 --- a/test/integration/default/files/_mapdata/centos-9.yaml +++ b/test/integration/default/files/_mapdata/centos-9.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/debian-10.yaml b/test/integration/default/files/_mapdata/debian-10.yaml index e3d07ce..dcdda5a 100644 --- a/test/integration/default/files/_mapdata/debian-10.yaml +++ b/test/integration/default/files/_mapdata/debian-10.yaml @@ -97,6 +97,7 @@ values: python_git: python-git release: '3003' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/debian-11.yaml b/test/integration/default/files/_mapdata/debian-11.yaml index 4ec2914..19ac099 100644 --- a/test/integration/default/files/_mapdata/debian-11.yaml +++ b/test/integration/default/files/_mapdata/debian-11.yaml @@ -96,6 +96,7 @@ values: python_dulwich: python-dulwich python_git: python-git restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/debian-12.yaml b/test/integration/default/files/_mapdata/debian-12.yaml index 80e2549..b647283 100644 --- a/test/integration/default/files/_mapdata/debian-12.yaml +++ b/test/integration/default/files/_mapdata/debian-12.yaml @@ -96,6 +96,7 @@ values: python_dulwich: python-dulwich python_git: python-git restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/debian-9.yaml b/test/integration/default/files/_mapdata/debian-9.yaml index 9ed1616..e8b3d2c 100644 --- a/test/integration/default/files/_mapdata/debian-9.yaml +++ b/test/integration/default/files/_mapdata/debian-9.yaml @@ -97,6 +97,7 @@ values: python_git: python-git release: '3003' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/fedora-33.yaml b/test/integration/default/files/_mapdata/fedora-33.yaml index 4187c7e..61708bf 100644 --- a/test/integration/default/files/_mapdata/fedora-33.yaml +++ b/test/integration/default/files/_mapdata/fedora-33.yaml @@ -96,6 +96,7 @@ values: python_git: GitPython release: '3003' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/fedora-34.yaml b/test/integration/default/files/_mapdata/fedora-34.yaml index bf86114..085e14c 100644 --- a/test/integration/default/files/_mapdata/fedora-34.yaml +++ b/test/integration/default/files/_mapdata/fedora-34.yaml @@ -96,6 +96,7 @@ values: python_git: GitPython release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/fedora-35.yaml b/test/integration/default/files/_mapdata/fedora-35.yaml index 13c0f81..19fe812 100644 --- a/test/integration/default/files/_mapdata/fedora-35.yaml +++ b/test/integration/default/files/_mapdata/fedora-35.yaml @@ -96,6 +96,7 @@ values: python_git: GitPython release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/fedora-36.yaml b/test/integration/default/files/_mapdata/fedora-36.yaml index b006dde..b58ed94 100644 --- a/test/integration/default/files/_mapdata/fedora-36.yaml +++ b/test/integration/default/files/_mapdata/fedora-36.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/fedora-40.yaml b/test/integration/default/files/_mapdata/fedora-40.yaml index b006dde..b58ed94 100644 --- a/test/integration/default/files/_mapdata/fedora-40.yaml +++ b/test/integration/default/files/_mapdata/fedora-40.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/fedora-41.yaml b/test/integration/default/files/_mapdata/fedora-41.yaml index 6cbf60e..0761e0a 100644 --- a/test/integration/default/files/_mapdata/fedora-41.yaml +++ b/test/integration/default/files/_mapdata/fedora-41.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/freebsd-12.yaml b/test/integration/default/files/_mapdata/freebsd-12.yaml index c6aa88a..e6e6341 100644 --- a/test/integration/default/files/_mapdata/freebsd-12.yaml +++ b/test/integration/default/files/_mapdata/freebsd-12.yaml @@ -93,6 +93,7 @@ values: python_git: py39-gitpython release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/freebsd-13.yaml b/test/integration/default/files/_mapdata/freebsd-13.yaml index ec8d795..71c2322 100644 --- a/test/integration/default/files/_mapdata/freebsd-13.yaml +++ b/test/integration/default/files/_mapdata/freebsd-13.yaml @@ -93,6 +93,7 @@ values: python_git: py39-gitpython release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/gentoo-2-sysd.yaml b/test/integration/default/files/_mapdata/gentoo-2-sysd.yaml index 008272c..98f0718 100644 --- a/test/integration/default/files/_mapdata/gentoo-2-sysd.yaml +++ b/test/integration/default/files/_mapdata/gentoo-2-sysd.yaml @@ -93,6 +93,7 @@ values: python_git: python-git release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/gentoo-2-sysv.yaml b/test/integration/default/files/_mapdata/gentoo-2-sysv.yaml index 008272c..98f0718 100644 --- a/test/integration/default/files/_mapdata/gentoo-2-sysv.yaml +++ b/test/integration/default/files/_mapdata/gentoo-2-sysv.yaml @@ -93,6 +93,7 @@ values: python_git: python-git release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/mac_os_x-10.yaml b/test/integration/default/files/_mapdata/mac_os_x-10.yaml index b8f0fa7..cfcf4f0 100644 --- a/test/integration/default/files/_mapdata/mac_os_x-10.yaml +++ b/test/integration/default/files/_mapdata/mac_os_x-10.yaml @@ -92,6 +92,7 @@ values: python_git: python-git release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/mac_os_x-11.yaml b/test/integration/default/files/_mapdata/mac_os_x-11.yaml index b8f0fa7..cfcf4f0 100644 --- a/test/integration/default/files/_mapdata/mac_os_x-11.yaml +++ b/test/integration/default/files/_mapdata/mac_os_x-11.yaml @@ -92,6 +92,7 @@ values: python_git: python-git release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/mac_os_x-12.yaml b/test/integration/default/files/_mapdata/mac_os_x-12.yaml index b8f0fa7..cfcf4f0 100644 --- a/test/integration/default/files/_mapdata/mac_os_x-12.yaml +++ b/test/integration/default/files/_mapdata/mac_os_x-12.yaml @@ -92,6 +92,7 @@ values: python_git: python-git release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/openbsd-6.yaml b/test/integration/default/files/_mapdata/openbsd-6.yaml index 56605f5..691eafa 100644 --- a/test/integration/default/files/_mapdata/openbsd-6.yaml +++ b/test/integration/default/files/_mapdata/openbsd-6.yaml @@ -92,6 +92,7 @@ values: python_git: py3-GitPython release: '3002' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/openbsd-7.yaml b/test/integration/default/files/_mapdata/openbsd-7.yaml index 4d71f3b..c4c4d36 100644 --- a/test/integration/default/files/_mapdata/openbsd-7.yaml +++ b/test/integration/default/files/_mapdata/openbsd-7.yaml @@ -92,6 +92,7 @@ values: python_git: py3-GitPython release: '3003' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/opensuse-15.yaml b/test/integration/default/files/_mapdata/opensuse-15.yaml index bf09fc6..3d1551f 100644 --- a/test/integration/default/files/_mapdata/opensuse-15.yaml +++ b/test/integration/default/files/_mapdata/opensuse-15.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: python-git restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/opensuse-tumbleweed.yaml b/test/integration/default/files/_mapdata/opensuse-tumbleweed.yaml index f0b0ca2..134a360 100644 --- a/test/integration/default/files/_mapdata/opensuse-tumbleweed.yaml +++ b/test/integration/default/files/_mapdata/opensuse-tumbleweed.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: python-git restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/oraclelinux-7.yaml b/test/integration/default/files/_mapdata/oraclelinux-7.yaml index 6ae2694..ec67350 100644 --- a/test/integration/default/files/_mapdata/oraclelinux-7.yaml +++ b/test/integration/default/files/_mapdata/oraclelinux-7.yaml @@ -96,6 +96,7 @@ values: python_git: GitPython release: '3003' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/oraclelinux-8.yaml b/test/integration/default/files/_mapdata/oraclelinux-8.yaml index 4ab6757..7301c44 100644 --- a/test/integration/default/files/_mapdata/oraclelinux-8.yaml +++ b/test/integration/default/files/_mapdata/oraclelinux-8.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/oraclelinux-9.yaml b/test/integration/default/files/_mapdata/oraclelinux-9.yaml index 426bf70..7cd8601 100644 --- a/test/integration/default/files/_mapdata/oraclelinux-9.yaml +++ b/test/integration/default/files/_mapdata/oraclelinux-9.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/rockylinux-8.yaml b/test/integration/default/files/_mapdata/rockylinux-8.yaml index f4e129e..aba926c 100644 --- a/test/integration/default/files/_mapdata/rockylinux-8.yaml +++ b/test/integration/default/files/_mapdata/rockylinux-8.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/rockylinux-9.yaml b/test/integration/default/files/_mapdata/rockylinux-9.yaml index 73e947d..809ee9a 100644 --- a/test/integration/default/files/_mapdata/rockylinux-9.yaml +++ b/test/integration/default/files/_mapdata/rockylinux-9.yaml @@ -95,6 +95,7 @@ values: python_dulwich: python-dulwich python_git: GitPython restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/ubuntu-18.yaml b/test/integration/default/files/_mapdata/ubuntu-18.yaml index 1bd6744..1bb2f74 100644 --- a/test/integration/default/files/_mapdata/ubuntu-18.yaml +++ b/test/integration/default/files/_mapdata/ubuntu-18.yaml @@ -99,6 +99,7 @@ values: python_git: python-git release: '3003' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/ubuntu-20.yaml b/test/integration/default/files/_mapdata/ubuntu-20.yaml index 8f0e84e..3c81da0 100644 --- a/test/integration/default/files/_mapdata/ubuntu-20.yaml +++ b/test/integration/default/files/_mapdata/ubuntu-20.yaml @@ -98,6 +98,7 @@ values: python_dulwich: python-dulwich python_git: python-git restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/ubuntu-22.yaml b/test/integration/default/files/_mapdata/ubuntu-22.yaml index efcbaff..dcc9638 100644 --- a/test/integration/default/files/_mapdata/ubuntu-22.yaml +++ b/test/integration/default/files/_mapdata/ubuntu-22.yaml @@ -98,6 +98,7 @@ values: python_dulwich: python-dulwich python_git: python-git restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/ubuntu-24.yaml b/test/integration/default/files/_mapdata/ubuntu-24.yaml index 7dcb575..314b73c 100644 --- a/test/integration/default/files/_mapdata/ubuntu-24.yaml +++ b/test/integration/default/files/_mapdata/ubuntu-24.yaml @@ -98,6 +98,7 @@ values: python_dulwich: python-dulwich python_git: python-git restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/windows-10.yaml b/test/integration/default/files/_mapdata/windows-10.yaml index 82b75c6..680b741 100644 --- a/test/integration/default/files/_mapdata/windows-10.yaml +++ b/test/integration/default/files/_mapdata/windows-10.yaml @@ -92,6 +92,7 @@ values: python_git: python-git release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/windows-2016-server.yaml b/test/integration/default/files/_mapdata/windows-2016-server.yaml index 87d32e6..db36f40 100644 --- a/test/integration/default/files/_mapdata/windows-2016-server.yaml +++ b/test/integration/default/files/_mapdata/windows-2016-server.yaml @@ -92,6 +92,7 @@ values: python_git: python-git release: '3003' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/windows-2019-server.yaml b/test/integration/default/files/_mapdata/windows-2019-server.yaml index 2f71007..8246177 100644 --- a/test/integration/default/files/_mapdata/windows-2019-server.yaml +++ b/test/integration/default/files/_mapdata/windows-2019-server.yaml @@ -92,6 +92,7 @@ values: python_git: python-git release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/windows-2022-server.yaml b/test/integration/default/files/_mapdata/windows-2022-server.yaml index 4457677..4148533 100644 --- a/test/integration/default/files/_mapdata/windows-2022-server.yaml +++ b/test/integration/default/files/_mapdata/windows-2022-server.yaml @@ -92,6 +92,7 @@ values: python_git: python-git release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10 diff --git a/test/integration/default/files/_mapdata/windows-8.yaml b/test/integration/default/files/_mapdata/windows-8.yaml index 65342e9..d519aa5 100644 --- a/test/integration/default/files/_mapdata/windows-8.yaml +++ b/test/integration/default/files/_mapdata/windows-8.yaml @@ -92,6 +92,7 @@ values: python_git: python-git release: '3004' restart_via_at: false + restart_via_systemd: false retry_options: attempts: 5 interval: 10