108 lines
2.7 KiB
YAML
108 lines
2.7 KiB
YAML
---
|
|
- hosts: all
|
|
remote_user: deploy
|
|
become: yes
|
|
become_user: root
|
|
gather_facts: yes
|
|
serial: 1
|
|
tasks:
|
|
- name: set PVC maintenance mode
|
|
command: pvc maintenance on
|
|
|
|
- name: aptitude full upgrade and cleanup
|
|
apt:
|
|
update_cache: "yes"
|
|
autoremove: "yes"
|
|
autoclean: "yes"
|
|
upgrade: "full"
|
|
|
|
- name: clean apt archives
|
|
file:
|
|
dest: "/var/cache/apt/archives"
|
|
state: "absent"
|
|
|
|
- name: check library freshness
|
|
command: /usr/lib/check_mk_agent/plugins/freshness
|
|
register: freshness
|
|
changed_when: freshness.rc == 1
|
|
failed_when: false
|
|
|
|
- name: check kernel version
|
|
command: /usr/lib/check_mk_agent/plugins/kernelversion
|
|
register: kernelversion
|
|
changed_when: kernelversion.rc == 1
|
|
failed_when: false
|
|
|
|
- name: restart system cleanly
|
|
block:
|
|
- name: secondary node
|
|
command: 'pvc node secondary {{ ansible_hostname }}'
|
|
ignore_errors: true
|
|
|
|
- name: wait 15 seconds for system to stabilize
|
|
pause:
|
|
seconds: "15"
|
|
become: no
|
|
connection: local
|
|
|
|
- name: flush node
|
|
command: 'pvc node flush {{ ansible_hostname }} --wait'
|
|
|
|
- name: ensure VMs are migrated away
|
|
shell: "virsh list | grep running | wc -l"
|
|
register: virshcount
|
|
failed_when: virshcount.stdout != "0"
|
|
until: virshcount.stdout == "0"
|
|
retries: 60
|
|
delay: 10
|
|
become: yes
|
|
|
|
- name: wait 15 seconds for system to stabilize
|
|
pause:
|
|
seconds: "15"
|
|
become: no
|
|
connection: local
|
|
|
|
- name: set OSD noout
|
|
command: pvc storage osd set noout
|
|
|
|
- name: stop PVC flush daemon cleanly
|
|
service:
|
|
name: pvc-flush
|
|
state: stopped
|
|
|
|
- name: stop PVC daemon cleanly
|
|
service:
|
|
name: pvcnoded
|
|
state: stopped
|
|
|
|
- name: restart system
|
|
reboot:
|
|
post_reboot_delay: 15
|
|
reboot_timeout: 1800
|
|
|
|
- name: unset OSD noout
|
|
command: pvc storage osd unset noout
|
|
|
|
- name: unflush node
|
|
command: 'pvc node ready {{ ansible_hostname }} --wait'
|
|
|
|
- name: wait 5 minutes for system to stabilize
|
|
pause:
|
|
seconds: "300"
|
|
become: no
|
|
connection: local
|
|
|
|
- name: reset any systemd failures
|
|
command: systemctl reset-failed
|
|
when: freshness.changed or kernelversion.changed
|
|
|
|
- name: set PVC maintenance mode
|
|
command: pvc maintenance off
|
|
|
|
- name: wait 5 seconds for system to stabilize
|
|
pause:
|
|
seconds: "5"
|
|
become: no
|
|
connection: local
|