Files

51 lines
1.5 KiB
YAML+Jinja

{% set pmg_services = salt['pillar.get']('pmg:pmg_services', []) %}
{% set pmg_update_dist_upgrade = salt['pillar.get']('pmg:update_dist_upgrade', True) %}
{% set pmg_update_auto_reboot = salt['pillar.get']('pmg:update_auto_reboot', False) %}
{% set pmg_update_reboot_delay_minutes = salt['pillar.get']('pmg:update_reboot_delay_minutes', 1) %}
pmg-update-precheck-cluster:
cmd.run:
- name: pmgcm status
{% for svc in pmg_services %}
pmg-update-precheck-service-{{ svc }}:
cmd.run:
- name: systemctl is-active --quiet {{ svc }}
{% endfor %}
pmg-update-packages:
pkg.uptodate:
- refresh: true
- dist_upgrade: {{ pmg_update_dist_upgrade }}
pmg-update-postcheck-cluster:
cmd.run:
- name: pmgcm status
- require:
- pkg: pmg-update-packages
{% for svc in pmg_services %}
pmg-update-postcheck-service-{{ svc }}:
cmd.run:
- name: systemctl is-active --quiet {{ svc }}
- require:
- pkg: pmg-update-packages
{% endfor %}
pmg-update-reboot-required-note:
test.show_notification:
- text: "После обновления требуется reboot: /var/run/reboot-required"
- onlyif: test -f /var/run/reboot-required
{% if pmg_update_auto_reboot %}
pmg-update-schedule-reboot:
cmd.run:
- name: "shutdown -r +{{ pmg_update_reboot_delay_minutes }} \"Salt pmg.update: reboot required\""
- onlyif: test -f /var/run/reboot-required
- require:
- cmd: pmg-update-postcheck-cluster
{% for svc in pmg_services %}
- cmd: pmg-update-postcheck-service-{{ svc }}
{% endfor %}
{% endif %}