51 lines
1.5 KiB
YAML+Jinja
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 %}
|