only hold/unhold packages if not already unheld/held

This commit is contained in:
m0duspwnens
2021-04-16 11:37:18 -04:00
parent 9d676efada
commit 24b263c812
2 changed files with 13 additions and 4 deletions

View File

@@ -3,8 +3,10 @@
{% if grains.os == 'Ubuntu' %} {% if grains.os == 'Ubuntu' %}
{% set SPLITCHAR = '+' %} {% set SPLITCHAR = '+' %}
{% set SALTNOTHELD = salt['cmd.run']('apt-mark showhold | grep salt-* ; echo $?') %}
{% else %} {% else %}
{% set SPLITCHAR = '-' %} {% set SPLITCHAR = '-' %}
{% set SALTNOTHELD = salt['cmd.run']('yum versionlock list | grep salt-* ; echo $?') %}
{% endif %} {% endif %}
{% set INSTALLEDSALTVERSION = salt['pkg.version']('salt-minion').split(SPLITCHAR)[0] %} {% set INSTALLEDSALTVERSION = salt['pkg.version']('salt-minion').split(SPLITCHAR)[0] %}

View File

@@ -1,6 +1,7 @@
{% from 'salt/map.jinja' import UPGRADECOMMAND with context %} {% from 'salt/map.jinja' import UPGRADECOMMAND with context %}
{% from 'salt/map.jinja' import SALTVERSION %} {% from 'salt/map.jinja' import SALTVERSION %}
{% from 'salt/map.jinja' import INSTALLEDSALTVERSION %} {% from 'salt/map.jinja' import INSTALLEDSALTVERSION %}
{% from 'salt/map.jinja' import SALTNOTHELD %}
{% import_yaml 'salt/minion.defaults.yaml' as SALTMINION %} {% import_yaml 'salt/minion.defaults.yaml' as SALTMINION %}
{% set service_start_delay = SALTMINION.salt.minion.service_start_delay %} {% set service_start_delay = SALTMINION.salt.minion.service_start_delay %}
@@ -8,11 +9,14 @@ include:
- salt - salt
- systemd.reload - systemd.reload
{% if "{{INSTALLEDSALTVERSION}}" != "{{SALTVERSION}}" %} {% if INSTALLEDSALTVERSION|string != SALTVERSION|string %}
{% if SALTNOTHELD == 0 %}
unhold_salt_packages: unhold_salt_packages:
module.run: module.run:
- pkg.unhold: - pkg.unhold:
- 'salt-*' - name: 'salt-*'
{% endif %}
install_salt_minion: install_salt_minion:
cmd.run: cmd.run:
@@ -23,11 +27,14 @@ install_salt_minion:
nohup /bin/sh -c '{{ UPGRADECOMMAND }}' & nohup /bin/sh -c '{{ UPGRADECOMMAND }}' &
{% endif %} {% endif %}
{% if "{{INSTALLEDSALTVERSION}}" == "{{SALTVERSION}}" %} {% if INSTALLEDSALTVERSION|string == SALTVERSION|string %}
{% if SALTNOTHELD == 1 %}
hold_salt_packages: hold_salt_packages:
module.run: module.run:
- pkg.hold: - pkg.hold:
- 'salt-*' - name: 'salt-*'
{% endif %}
set_log_levels: set_log_levels:
file.append: file.append: