Files
role_proxmox/tasks/update_pve.yml
2025-09-20 11:39:46 +02:00

74 lines
1.6 KiB
YAML

---
- name: Update apt cache
ansible.builtin.apt:
update_cache: true
become: true
- name: List upgradable packages
ansible.builtin.command:
argv:
- apt
- list
- --upgradable
register: apt_upgradable
changed_when: apt_upgradable.stdout_lines | length > 1
notify: Upgrade the node
check_mode: false
- name: Flush handlers
ansible.builtin.meta: flush_handlers
- name: Clean apt things
ansible.builtin.apt:
clean: true
become: true
- name: List installed packages
ansible.builtin.command: # noqa: no-changed-when
argv:
- apt
- list
- --installed
register: apt_list
check_mode: false
- name: Remove old kernels
ansible.builtin.apt:
name: "{{ installed_kernels[:-2] }}"
state: absent
when: installed_kernels | length > 2
become: true
vars:
installed_kernels:
apt_list.stdout_lines |
select('search', '^proxmox-kernel') |
select('search', 'automatic') |
split('/') | first | list
check_mode: true
- name: Disable maintenance mode
ansible.builtin.command: # noqa: no-changed-when
argv:
- ha-manager
- crm-command
- node-maintenance
- disable
- "{{ inventory_hostname_short }}"
become: true
- name: Wait node is active in ha-manager
ansible.builtin.command: # noqa: no-changed-when
argv:
- ha-manager
- status
become: true
register: ha_manager_status
retries: 10
delay: 60
until: >
not
ha_manager_status.stdout_lines |
select('search', 'lrm ' + inventory_hostname_short) |
regex_search('active', ignorecase=true)