Refactor "multi" handlers to use listen (#10542)

* containerd: refactor handlers to use 'listen'

* cri-dockerd: refactor handlers to use 'listen'

* cri-o: refactor handlers to use 'listen'

* docker: refactor handlers to use 'listen'

* etcd: refactor handlers to use 'listen'

* control-plane: refactor handlers to use 'listen'

* kubeadm: refactor handlers to use 'listen'

* node: refactor handlers to use 'listen'

* preinstall: refactor handlers to use 'listen'

* calico: refactor handlers to use 'listen'

* kube-router: refactor handlers to use 'listen'

* macvlan: refactor handlers to use 'listen'
This commit is contained in:
Max Gautier
2023-11-08 12:28:30 +01:00
committed by GitHub
parent c9d685833b
commit 8ebeb88e57
14 changed files with 85 additions and 158 deletions

View File

@@ -1,22 +1,14 @@
---
- name: Backup etcd data
command: /bin/true
notify:
- Refresh Time Fact
- Set Backup Directory
- Create Backup Directory
- Stat etcd v2 data directory
- Backup etcd v2 data
- Backup etcd v3 data
when: etcd_cluster_is_healthy.rc == 0
- name: Refresh Time Fact
setup:
filter: ansible_date_time
listen: Restart etcd
when: etcd_cluster_is_healthy.rc == 0
- name: Set Backup Directory
set_fact:
etcd_backup_directory: "{{ etcd_backup_prefix }}/etcd-{{ ansible_date_time.date }}_{{ ansible_date_time.time }}"
listen: Restart etcd
- name: Create Backup Directory
file:
@@ -25,6 +17,8 @@
owner: root
group: root
mode: 0600
listen: Restart etcd
when: etcd_cluster_is_healthy.rc == 0
- name: Stat etcd v2 data directory
stat:
@@ -33,9 +27,13 @@
get_checksum: no
get_mime: no
register: etcd_data_dir_member
listen: Restart etcd
when: etcd_cluster_is_healthy.rc == 0
- name: Backup etcd v2 data
when: etcd_data_dir_member.stat.exists
when:
- etcd_data_dir_member.stat.exists
- etcd_cluster_is_healthy.rc == 0
command: >-
{{ bin_dir }}/etcdctl backup
--data-dir {{ etcd_data_dir }}
@@ -46,6 +44,7 @@
register: backup_v2_command
until: backup_v2_command.rc == 0
delay: "{{ retry_stagger | random + 3 }}"
listen: Restart etcd
- name: Backup etcd v3 data
command: >-
@@ -61,3 +60,5 @@
register: etcd_backup_v3_command
until: etcd_backup_v3_command.rc == 0
delay: "{{ retry_stagger | random + 3 }}"
listen: Restart etcd
when: etcd_cluster_is_healthy.rc == 0

View File

@@ -1,10 +1,4 @@
---
- name: Cleanup etcd backups
command: /bin/true
notify:
- Find old etcd backups
- Remove old etcd backups
- name: Find old etcd backups
ansible.builtin.find:
file_type: directory
@@ -13,6 +7,7 @@
patterns: "etcd-*"
register: _etcd_backups
when: etcd_backup_retention_count >= 0
listen: Restart etcd
- name: Remove old etcd backups
ansible.builtin.file:
@@ -20,3 +15,4 @@
path: "{{ item }}"
loop: "{{ (_etcd_backups.files | sort(attribute='ctime', reverse=True))[etcd_backup_retention_count:] | map(attribute='path') }}"
when: etcd_backup_retention_count >= 0
listen: Restart etcd

View File

@@ -1,38 +1,27 @@
---
- name: Restart etcd
command: /bin/true
notify:
- Backup etcd data
- Etcd | reload systemd
- Reload etcd
- Wait for etcd up
- Cleanup etcd backups
- name: Restart etcd-events
command: /bin/true
notify:
- Etcd | reload systemd
- Reload etcd-events
- Wait for etcd-events up
- name: Backup etcd
import_tasks: backup.yml
- name: Etcd | reload systemd
systemd:
daemon_reload: true
listen:
- Restart etcd
- Restart etcd-events
- name: Reload etcd
service:
name: etcd
state: restarted
when: is_etcd_master
listen: Restart etcd
- name: Reload etcd-events
service:
name: etcd-events
state: restarted
when: is_etcd_master
listen: Restart etcd-events
- name: Wait for etcd up
uri:
@@ -44,6 +33,7 @@
until: result.status is defined and result.status == 200
retries: 60
delay: 1
listen: Restart etcd
- name: Cleanup etcd backups
import_tasks: backup_cleanup.yml
@@ -58,6 +48,7 @@
until: result.status is defined and result.status == 200
retries: 60
delay: 1
listen: Restart etcd-events
- name: Set etcd_secret_changed
set_fact: