You've already forked role_proxmox
feat: Create role
This commit is contained in:
73
tasks/update_pve.yml
Normal file
73
tasks/update_pve.yml
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
|
||||
- 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)
|
Reference in New Issue
Block a user