feat: removed sudo and added playbook file
This commit is contained in:
parent
6314add6e3
commit
4e4f739c7c
6 changed files with 44 additions and 50 deletions
33
playbook.yaml
Normal file
33
playbook.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
# execute this role
|
||||||
|
- name: "manage proxmox"
|
||||||
|
hosts: "all"
|
||||||
|
become: true
|
||||||
|
serial: 1
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
# update cluster
|
||||||
|
- name: "update cluster"
|
||||||
|
tags: "update-cluster"
|
||||||
|
block:
|
||||||
|
|
||||||
|
# collect proxmox cluster nodes
|
||||||
|
- name: "collect proxmox cluster nodes"
|
||||||
|
set_fact:
|
||||||
|
first_node: "{{ groups['proxmox'] | default([]) | first | default('') }}"
|
||||||
|
last_node: "{{ groups['proxmox'] | default([]) | last | default('') }}"
|
||||||
|
|
||||||
|
# enter ceph maintenance mode
|
||||||
|
- name: "set ceph enter maintenance mode"
|
||||||
|
ansible.builtin.import_tasks: "tasks/ceph/enter-maint.yaml"
|
||||||
|
when: "inventory_hostname == first_node"
|
||||||
|
|
||||||
|
# update proxmox cluster
|
||||||
|
- name: "update proxmox cluster nodes"
|
||||||
|
ansible.builtin.import_tasks: "tasks/proxmox/update-node.yaml"
|
||||||
|
|
||||||
|
# exit ceph maintenance mode
|
||||||
|
- name: "exit ceph maintenance mode"
|
||||||
|
ansible.builtin.import_tasks: "tasks/ceph/exit-maint.yaml"
|
||||||
|
when: "inventory_hostname == last_node"
|
||||||
|
|
@ -6,8 +6,8 @@ This role updates a Proxmox Cluster.
|
||||||
|
|
||||||
| Operating System | Version |
|
| Operating System | Version |
|
||||||
| --- | ----- |
|
| --- | ----- |
|
||||||
| Debian | 12 |
|
| Proxmox VE | 9 |
|
||||||
|
|
||||||
## Tags
|
## Tags
|
||||||
|
|
||||||
This role has no tags.
|
This role has one tag; `update-cluster`.
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
# set ceph osd noout settings
|
# set ceph osd noout settings
|
||||||
- name: "set ceph noout"
|
- name: "set ceph noout"
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: "sudo ceph osd set noout"
|
cmd: "ceph osd set noout"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: "ceph_noout_result.rc != 0"
|
failed_when: "ceph_noout_result.rc != 0"
|
||||||
register: "ceph_noout_result"
|
register: "ceph_noout_result"
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
# set ceph osd nobackfill settings
|
# set ceph osd nobackfill settings
|
||||||
- name: "set ceph nobackfill"
|
- name: "set ceph nobackfill"
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: "sudo ceph osd set nobackfill"
|
cmd: "ceph osd set nobackfill"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: "ceph_nobackfill_result.rc != 0"
|
failed_when: "ceph_nobackfill_result.rc != 0"
|
||||||
register: "ceph_nobackfill_result"
|
register: "ceph_nobackfill_result"
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
# set ceph osd norebalance settings
|
# set ceph osd norebalance settings
|
||||||
- name: "set ceph norebalance"
|
- name: "set ceph norebalance"
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: "sudo ceph osd set norebalance"
|
cmd: "ceph osd set norebalance"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: "ceph_norebalance_result.rc != 0"
|
failed_when: "ceph_norebalance_result.rc != 0"
|
||||||
register: "ceph_norebalance_result"
|
register: "ceph_norebalance_result"
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
# unset ceph osd noout settings
|
# unset ceph osd noout settings
|
||||||
- name: "unset ceph noout"
|
- name: "unset ceph noout"
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: "sudo ceph osd unset noout"
|
cmd: "ceph osd unset noout"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: "ceph_noout_result.rc != 0"
|
failed_when: "ceph_noout_result.rc != 0"
|
||||||
register: "ceph_noout_result"
|
register: "ceph_noout_result"
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
# unset ceph osd nobackfill settings
|
# unset ceph osd nobackfill settings
|
||||||
- name: "unset ceph nobackfill"
|
- name: "unset ceph nobackfill"
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: "sudo ceph osd unset nobackfill"
|
cmd: "ceph osd unset nobackfill"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: "ceph_nobackfill_result.rc != 0"
|
failed_when: "ceph_nobackfill_result.rc != 0"
|
||||||
register: "ceph_nobackfill_result"
|
register: "ceph_nobackfill_result"
|
||||||
|
|
@ -25,19 +25,8 @@
|
||||||
# unset ceph osd norebalance settings
|
# unset ceph osd norebalance settings
|
||||||
- name: "unset ceph norebalance"
|
- name: "unset ceph norebalance"
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: "sudo ceph osd unset norebalance"
|
cmd: "ceph osd unset norebalance"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: "ceph_norebalance_result.rc != 0"
|
failed_when: "ceph_norebalance_result.rc != 0"
|
||||||
register: "ceph_norebalance_result"
|
register: "ceph_norebalance_result"
|
||||||
tags: "cluster"
|
tags: "cluster"
|
||||||
|
|
||||||
# wait for ceph to be healthy
|
|
||||||
- name: "wait for ceph to be healthy"
|
|
||||||
ansible.builtin.shell:
|
|
||||||
cmd: "sudo ceph -s"
|
|
||||||
changed_when: false
|
|
||||||
delay: 10
|
|
||||||
register: "ceph_status"
|
|
||||||
retries: 30
|
|
||||||
tags: "cluster"
|
|
||||||
until: "'HEALTH_OK' in ceph_status.stdout"
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
# update cluster
|
|
||||||
- name: "update cluster"
|
|
||||||
tags: "update-cluster"
|
|
||||||
block:
|
|
||||||
|
|
||||||
# collect proxmox cluster nodes
|
|
||||||
- name: "collect proxmox cluster nodes"
|
|
||||||
set_fact:
|
|
||||||
first_node: "{{ groups['proxmox'] | default([]) | first | default('') }}"
|
|
||||||
last_node: "{{ groups['proxmox'] | default([]) | last | default('') }}"
|
|
||||||
|
|
||||||
# enter ceph maintenance mode
|
|
||||||
- name: "set ceph enter maintenance mode"
|
|
||||||
ansible.builtin.include_tasks: "ceph/enter-maint.yaml"
|
|
||||||
when: "inventory_hostname == first_node"
|
|
||||||
|
|
||||||
# update proxmox cluster
|
|
||||||
- name: "update proxmox cluster nodes"
|
|
||||||
ansible.builtin.include_tasks: "proxmox/update-node.yaml"
|
|
||||||
|
|
||||||
# exit ceph maintenance mode
|
|
||||||
- name: "exit ceph maintenance mode"
|
|
||||||
ansible.builtin.include_tasks: "ceph/exit-maint.yaml"
|
|
||||||
when: "inventory_hostname == last_node"
|
|
||||||
|
|
@ -3,8 +3,7 @@
|
||||||
# enter maintenance mode
|
# enter maintenance mode
|
||||||
- name: "enter maintenance mode"
|
- name: "enter maintenance mode"
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd:
|
cmd: "/usr/sbin/ha-manager crm-command node-maintenance enable {{ inventory_hostname_short }}"
|
||||||
"sudo /usr/sbin/ha-manager crm-command node-maintenance enable {{ inventory_hostname_short }}"
|
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: "maintenance_result.rc != 0"
|
failed_when: "maintenance_result.rc != 0"
|
||||||
register: "maintenance_result"
|
register: "maintenance_result"
|
||||||
|
|
@ -37,7 +36,7 @@
|
||||||
# install firmware updates
|
# install firmware updates
|
||||||
- name: "install firmware updates"
|
- name: "install firmware updates"
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: "sudo fwupdmgr upgrade --no-reboot-check --assume-yes"
|
cmd: "fwupdmgr upgrade --no-reboot-check --assume-yes"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
failed_when: false
|
||||||
|
|
||||||
|
|
@ -53,8 +52,7 @@
|
||||||
# exit maintenance mode
|
# exit maintenance mode
|
||||||
- name: "exit maintenance mode"
|
- name: "exit maintenance mode"
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd:
|
cmd: "/usr/sbin/ha-manager crm-command node-maintenance disable {{ inventory_hostname_short }}"
|
||||||
"sudo /usr/sbin/ha-manager crm-command node-maintenance disable {{ inventory_hostname_short }}"
|
|
||||||
changed_when: false
|
changed_when: false
|
||||||
delay: 10
|
delay: 10
|
||||||
failed_when: "maintenance_exit_result.rc != 0"
|
failed_when: "maintenance_exit_result.rc != 0"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue