--- - 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)