Skip to content
Snippets Groups Projects
Unverified Commit 8ebeb88e authored by Max Gautier's avatar Max Gautier Committed by GitHub
Browse files

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'
parent c9d68583
No related branches found
No related tags found
No related merge requests found
Showing
with 85 additions and 158 deletions
--- ---
- name: Restart containerd
command: /bin/true
notify:
- Containerd | restart containerd
- Containerd | wait for containerd
- name: Containerd | restart containerd - name: Containerd | restart containerd
systemd: systemd:
name: containerd name: containerd
...@@ -12,6 +6,7 @@ ...@@ -12,6 +6,7 @@
enabled: yes enabled: yes
daemon-reload: yes daemon-reload: yes
masked: no masked: no
listen: Restart containerd
- name: Containerd | wait for containerd - name: Containerd | wait for containerd
command: "{{ containerd_bin_dir }}/ctr images ls -q" command: "{{ containerd_bin_dir }}/ctr images ls -q"
...@@ -19,3 +14,4 @@ ...@@ -19,3 +14,4 @@
retries: 8 retries: 8
delay: 4 delay: 4
until: containerd_ready.rc == 0 until: containerd_ready.rc == 0
listen: Restart containerd
--- ---
- name: Restart and enable cri-dockerd
command: /bin/true
notify:
- Cri-dockerd | reload systemd
- Cri-dockerd | restart docker.service
- Cri-dockerd | reload cri-dockerd.socket
- Cri-dockerd | reload cri-dockerd.service
- Cri-dockerd | enable cri-dockerd service
- name: Cri-dockerd | reload systemd - name: Cri-dockerd | reload systemd
systemd: systemd:
name: cri-dockerd name: cri-dockerd
daemon_reload: true daemon_reload: true
masked: no masked: no
listen: Restart and enable cri-dockerd
- name: Cri-dockerd | restart docker.service - name: Cri-dockerd | restart docker.service
service: service:
name: docker.service name: docker.service
state: restarted state: restarted
listen: Restart and enable cri-dockerd
- name: Cri-dockerd | reload cri-dockerd.socket - name: Cri-dockerd | reload cri-dockerd.socket
service: service:
name: cri-dockerd.socket name: cri-dockerd.socket
state: restarted state: restarted
listen: Restart and enable cri-dockerd
- name: Cri-dockerd | reload cri-dockerd.service - name: Cri-dockerd | reload cri-dockerd.service
service: service:
name: cri-dockerd.service name: cri-dockerd.service
state: restarted state: restarted
listen: Restart and enable cri-dockerd
- name: Cri-dockerd | enable cri-dockerd service - name: Cri-dockerd | enable cri-dockerd service
service: service:
name: cri-dockerd.service name: cri-dockerd.service
enabled: yes enabled: yes
listen: Restart and enable cri-dockerd
--- ---
- name: Restart crio
command: /bin/true
notify:
- CRI-O | reload systemd
- CRI-O | reload crio
- name: CRI-O | reload systemd - name: CRI-O | reload systemd
systemd: systemd:
daemon_reload: true daemon_reload: true
listen: Restart crio
- name: CRI-O | reload crio - name: CRI-O | reload crio
service: service:
name: crio name: crio
state: restarted state: restarted
enabled: yes enabled: yes
listen: Restart crio
--- ---
- name: Restart docker
command: /bin/true
notify:
- Docker | reload systemd
- Docker | reload docker.socket
- Docker | reload docker
- Docker | wait for docker
- name: Docker | reload systemd - name: Docker | reload systemd
systemd: systemd:
name: docker name: docker
daemon_reload: true daemon_reload: true
masked: no masked: no
listen: Restart docker
- name: Docker | reload docker.socket - name: Docker | reload docker.socket
service: service:
name: docker.socket name: docker.socket
state: restarted state: restarted
when: ansible_os_family in ['Flatcar', 'Flatcar Container Linux by Kinvolk'] or is_fedora_coreos when: ansible_os_family in ['Flatcar', 'Flatcar Container Linux by Kinvolk'] or is_fedora_coreos
listen: Restart docker
- name: Docker | reload docker - name: Docker | reload docker
service: service:
name: docker name: docker
state: restarted state: restarted
listen: Restart docker
- name: Docker | wait for docker - name: Docker | wait for docker
command: "{{ docker_bin_dir }}/docker images" command: "{{ docker_bin_dir }}/docker images"
...@@ -30,3 +27,4 @@ ...@@ -30,3 +27,4 @@
retries: 20 retries: 20
delay: 1 delay: 1
until: docker_ready.rc == 0 until: docker_ready.rc == 0
listen: Restart docker
--- ---
- 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 - name: Refresh Time Fact
setup: setup:
filter: ansible_date_time filter: ansible_date_time
listen: Restart etcd
when: etcd_cluster_is_healthy.rc == 0
- name: Set Backup Directory - name: Set Backup Directory
set_fact: set_fact:
etcd_backup_directory: "{{ etcd_backup_prefix }}/etcd-{{ ansible_date_time.date }}_{{ ansible_date_time.time }}" etcd_backup_directory: "{{ etcd_backup_prefix }}/etcd-{{ ansible_date_time.date }}_{{ ansible_date_time.time }}"
listen: Restart etcd
- name: Create Backup Directory - name: Create Backup Directory
file: file:
...@@ -25,6 +17,8 @@ ...@@ -25,6 +17,8 @@
owner: root owner: root
group: root group: root
mode: 0600 mode: 0600
listen: Restart etcd
when: etcd_cluster_is_healthy.rc == 0
- name: Stat etcd v2 data directory - name: Stat etcd v2 data directory
stat: stat:
...@@ -33,9 +27,13 @@ ...@@ -33,9 +27,13 @@
get_checksum: no get_checksum: no
get_mime: no get_mime: no
register: etcd_data_dir_member register: etcd_data_dir_member
listen: Restart etcd
when: etcd_cluster_is_healthy.rc == 0
- name: Backup etcd v2 data - 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: >- command: >-
{{ bin_dir }}/etcdctl backup {{ bin_dir }}/etcdctl backup
--data-dir {{ etcd_data_dir }} --data-dir {{ etcd_data_dir }}
...@@ -46,6 +44,7 @@ ...@@ -46,6 +44,7 @@
register: backup_v2_command register: backup_v2_command
until: backup_v2_command.rc == 0 until: backup_v2_command.rc == 0
delay: "{{ retry_stagger | random + 3 }}" delay: "{{ retry_stagger | random + 3 }}"
listen: Restart etcd
- name: Backup etcd v3 data - name: Backup etcd v3 data
command: >- command: >-
...@@ -61,3 +60,5 @@ ...@@ -61,3 +60,5 @@
register: etcd_backup_v3_command register: etcd_backup_v3_command
until: etcd_backup_v3_command.rc == 0 until: etcd_backup_v3_command.rc == 0
delay: "{{ retry_stagger | random + 3 }}" delay: "{{ retry_stagger | random + 3 }}"
listen: Restart etcd
when: etcd_cluster_is_healthy.rc == 0
--- ---
- name: Cleanup etcd backups
command: /bin/true
notify:
- Find old etcd backups
- Remove old etcd backups
- name: Find old etcd backups - name: Find old etcd backups
ansible.builtin.find: ansible.builtin.find:
file_type: directory file_type: directory
...@@ -13,6 +7,7 @@ ...@@ -13,6 +7,7 @@
patterns: "etcd-*" patterns: "etcd-*"
register: _etcd_backups register: _etcd_backups
when: etcd_backup_retention_count >= 0 when: etcd_backup_retention_count >= 0
listen: Restart etcd
- name: Remove old etcd backups - name: Remove old etcd backups
ansible.builtin.file: ansible.builtin.file:
...@@ -20,3 +15,4 @@ ...@@ -20,3 +15,4 @@
path: "{{ item }}" path: "{{ item }}"
loop: "{{ (_etcd_backups.files | sort(attribute='ctime', reverse=True))[etcd_backup_retention_count:] | map(attribute='path') }}" loop: "{{ (_etcd_backups.files | sort(attribute='ctime', reverse=True))[etcd_backup_retention_count:] | map(attribute='path') }}"
when: etcd_backup_retention_count >= 0 when: etcd_backup_retention_count >= 0
listen: Restart etcd
--- ---
- 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 - name: Backup etcd
import_tasks: backup.yml import_tasks: backup.yml
- name: Etcd | reload systemd - name: Etcd | reload systemd
systemd: systemd:
daemon_reload: true daemon_reload: true
listen:
- Restart etcd
- Restart etcd-events
- name: Reload etcd - name: Reload etcd
service: service:
name: etcd name: etcd
state: restarted state: restarted
when: is_etcd_master when: is_etcd_master
listen: Restart etcd
- name: Reload etcd-events - name: Reload etcd-events
service: service:
name: etcd-events name: etcd-events
state: restarted state: restarted
when: is_etcd_master when: is_etcd_master
listen: Restart etcd-events
- name: Wait for etcd up - name: Wait for etcd up
uri: uri:
...@@ -44,6 +33,7 @@ ...@@ -44,6 +33,7 @@
until: result.status is defined and result.status == 200 until: result.status is defined and result.status == 200
retries: 60 retries: 60
delay: 1 delay: 1
listen: Restart etcd
- name: Cleanup etcd backups - name: Cleanup etcd backups
import_tasks: backup_cleanup.yml import_tasks: backup_cleanup.yml
...@@ -58,6 +48,7 @@ ...@@ -58,6 +48,7 @@
until: result.status is defined and result.status == 200 until: result.status is defined and result.status == 200
retries: 60 retries: 60
delay: 1 delay: 1
listen: Restart etcd-events
- name: Set etcd_secret_changed - name: Set etcd_secret_changed
set_fact: set_fact:
......
--- ---
- name: Master | restart kubelet
command: /bin/true
notify:
- Master | reload systemd
- Master | reload kubelet
- Master | wait for master static pods
- name: Master | wait for master static pods
command: /bin/true
notify:
- Master | wait for the apiserver to be running
- Master | wait for kube-scheduler
- Master | wait for kube-controller-manager
- name: Master | Restart apiserver
command: /bin/true
notify:
- Master | Remove apiserver container docker
- Master | Remove apiserver container containerd/crio
- Master | wait for the apiserver to be running
- name: Master | Restart kube-scheduler
command: /bin/true
notify:
- Master | Remove scheduler container docker
- Master | Remove scheduler container containerd/crio
- Master | wait for kube-scheduler
- name: Master | Restart kube-controller-manager
command: /bin/true
notify:
- Master | Remove controller manager container docker
- Master | Remove controller manager container containerd/crio
- Master | wait for kube-controller-manager
- name: Master | reload systemd - name: Master | reload systemd
systemd: systemd:
daemon_reload: true daemon_reload: true
listen: Master | restart kubelet
- name: Master | reload kubelet - name: Master | reload kubelet
service: service:
name: kubelet name: kubelet
state: restarted state: restarted
listen: Master | restart kubelet
- name: Master | Remove apiserver container docker - name: Master | Remove apiserver container docker
shell: "set -o pipefail && docker ps -af name=k8s_kube-apiserver* -q | xargs --no-run-if-empty docker rm -f" shell: "set -o pipefail && docker ps -af name=k8s_kube-apiserver* -q | xargs --no-run-if-empty docker rm -f"
...@@ -52,6 +19,7 @@ ...@@ -52,6 +19,7 @@
until: remove_apiserver_container.rc == 0 until: remove_apiserver_container.rc == 0
delay: 1 delay: 1
when: container_manager == "docker" when: container_manager == "docker"
listen: Master | Restart apiserver
- name: Master | Remove apiserver container containerd/crio - name: Master | Remove apiserver container containerd/crio
shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-apiserver* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'" shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-apiserver* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'"
...@@ -62,6 +30,7 @@ ...@@ -62,6 +30,7 @@
until: remove_apiserver_container.rc == 0 until: remove_apiserver_container.rc == 0
delay: 1 delay: 1
when: container_manager in ['containerd', 'crio'] when: container_manager in ['containerd', 'crio']
listen: Master | Restart apiserver
- name: Master | Remove scheduler container docker - name: Master | Remove scheduler container docker
shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -af name=k8s_kube-scheduler* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f" shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -af name=k8s_kube-scheduler* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f"
...@@ -72,6 +41,7 @@ ...@@ -72,6 +41,7 @@
until: remove_scheduler_container.rc == 0 until: remove_scheduler_container.rc == 0
delay: 1 delay: 1
when: container_manager == "docker" when: container_manager == "docker"
listen: Master | Restart kube-scheduler
- name: Master | Remove scheduler container containerd/crio - name: Master | Remove scheduler container containerd/crio
shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-scheduler* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'" shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-scheduler* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'"
...@@ -82,6 +52,7 @@ ...@@ -82,6 +52,7 @@
until: remove_scheduler_container.rc == 0 until: remove_scheduler_container.rc == 0
delay: 1 delay: 1
when: container_manager in ['containerd', 'crio'] when: container_manager in ['containerd', 'crio']
listen: Master | Restart kube-scheduler
- name: Master | Remove controller manager container docker - name: Master | Remove controller manager container docker
shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -af name=k8s_kube-controller-manager* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f" shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -af name=k8s_kube-controller-manager* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f"
...@@ -92,6 +63,7 @@ ...@@ -92,6 +63,7 @@
until: remove_cm_container.rc == 0 until: remove_cm_container.rc == 0
delay: 1 delay: 1
when: container_manager == "docker" when: container_manager == "docker"
listen: Master | Restart kube-controller-manager
- name: Master | Remove controller manager container containerd/crio - name: Master | Remove controller manager container containerd/crio
shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-controller-manager* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'" shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-controller-manager* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'"
...@@ -102,6 +74,7 @@ ...@@ -102,6 +74,7 @@
until: remove_cm_container.rc == 0 until: remove_cm_container.rc == 0
delay: 1 delay: 1
when: container_manager in ['containerd', 'crio'] when: container_manager in ['containerd', 'crio']
listen: Master | Restart kube-controller-manager
- name: Master | wait for kube-scheduler - name: Master | wait for kube-scheduler
vars: vars:
...@@ -113,6 +86,9 @@ ...@@ -113,6 +86,9 @@
until: scheduler_result.status == 200 until: scheduler_result.status == 200
retries: 60 retries: 60
delay: 1 delay: 1
listen:
- Master | restart kubelet
- Master | Restart kube-scheduler
- name: Master | wait for kube-controller-manager - name: Master | wait for kube-controller-manager
vars: vars:
...@@ -124,6 +100,9 @@ ...@@ -124,6 +100,9 @@
until: controller_manager_result.status == 200 until: controller_manager_result.status == 200
retries: 60 retries: 60
delay: 1 delay: 1
listen:
- Master | restart kubelet
- Master | Restart kube-controller-manager
- name: Master | wait for the apiserver to be running - name: Master | wait for the apiserver to be running
uri: uri:
...@@ -133,3 +112,6 @@ ...@@ -133,3 +112,6 @@
until: result.status == 200 until: result.status == 200
retries: 60 retries: 60
delay: 1 delay: 1
listen:
- Master | restart kubelet
- Master | Restart apiserver
--- ---
- name: Kubeadm | restart kubelet
command: /bin/true
notify:
- Kubeadm | reload systemd
- Kubeadm | reload kubelet
- name: Kubeadm | reload systemd - name: Kubeadm | reload systemd
systemd: systemd:
daemon_reload: true daemon_reload: true
listen: Kubeadm | restart kubelet
- name: Kubeadm | reload kubelet - name: Kubeadm | reload kubelet
service: service:
name: kubelet name: kubelet
state: restarted state: restarted
listen: Kubeadm | restart kubelet
--- ---
- name: Node | restart kubelet
command: /bin/true
notify:
- Kubelet | reload systemd
- Kubelet | restart kubelet
- name: Kubelet | reload systemd - name: Kubelet | reload systemd
systemd: systemd:
daemon_reload: true daemon_reload: true
listen: Node | restart kubelet
- name: Kubelet | restart kubelet - name: Kubelet | restart kubelet
service: service:
name: kubelet name: kubelet
state: restarted state: restarted
listen: Node | restart kubelet
--- ---
- name: Preinstall | propagate resolvconf to k8s components
command: /bin/true
notify:
- Preinstall | reload kubelet
- Preinstall | kube-controller configured
- Preinstall | kube-apiserver configured
- Preinstall | restart kube-controller-manager docker
- Preinstall | restart kube-controller-manager crio/containerd
- Preinstall | restart kube-apiserver docker
- Preinstall | restart kube-apiserver crio/containerd
- Preinstall | wait for the apiserver to be running
when: not ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"] and not is_fedora_coreos
- name: Preinstall | update resolvconf for Flatcar Container Linux by Kinvolk
command: /bin/true
notify:
- Preinstall | apply resolvconf cloud-init
- Preinstall | reload kubelet
when: ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"]
- name: Preinstall | apply resolvconf cloud-init - name: Preinstall | apply resolvconf cloud-init
command: /usr/bin/coreos-cloudinit --from-file {{ resolveconf_cloud_init_conf }} command: /usr/bin/coreos-cloudinit --from-file {{ resolveconf_cloud_init_conf }}
when: ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"] when: ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"]
listen: Preinstall | update resolvconf for Flatcar Container Linux by Kinvolk
- name: Preinstall | update resolvconf for networkmanager
command: /bin/true
notify:
- Preinstall | reload NetworkManager
- Preinstall | reload kubelet
- name: Preinstall | reload NetworkManager - name: Preinstall | reload NetworkManager
service: service:
name: NetworkManager.service name: NetworkManager.service
state: restarted state: restarted
listen: Preinstall | update resolvconf for networkmanager
- name: Preinstall | reload kubelet - name: Preinstall | reload kubelet
service: service:
...@@ -46,6 +22,10 @@ ...@@ -46,6 +22,10 @@
- Preinstall | restart kube-apiserver docker - Preinstall | restart kube-apiserver docker
- Preinstall | restart kube-apiserver crio/containerd - Preinstall | restart kube-apiserver crio/containerd
when: not dns_early | bool when: not dns_early | bool
listen:
- Preinstall | propagate resolvconf to k8s components
- Preinstall | update resolvconf for Flatcar Container Linux by Kinvolk
- Preinstall | update resolvconf for networkmanager
# FIXME(mattymo): Also restart for kubeadm mode # FIXME(mattymo): Also restart for kubeadm mode
- name: Preinstall | kube-apiserver configured - name: Preinstall | kube-apiserver configured
...@@ -56,6 +36,7 @@ ...@@ -56,6 +36,7 @@
get_mime: no get_mime: no
register: kube_apiserver_set register: kube_apiserver_set
when: inventory_hostname in groups['kube_control_plane'] and dns_mode != 'none' and resolvconf_mode == 'host_resolvconf' when: inventory_hostname in groups['kube_control_plane'] and dns_mode != 'none' and resolvconf_mode == 'host_resolvconf'
listen: Preinstall | propagate resolvconf to k8s components
# FIXME(mattymo): Also restart for kubeadm mode # FIXME(mattymo): Also restart for kubeadm mode
- name: Preinstall | kube-controller configured - name: Preinstall | kube-controller configured
...@@ -66,6 +47,7 @@ ...@@ -66,6 +47,7 @@
get_mime: no get_mime: no
register: kube_controller_set register: kube_controller_set
when: inventory_hostname in groups['kube_control_plane'] and dns_mode != 'none' and resolvconf_mode == 'host_resolvconf' when: inventory_hostname in groups['kube_control_plane'] and dns_mode != 'none' and resolvconf_mode == 'host_resolvconf'
listen: Preinstall | propagate resolvconf to k8s components
- name: Preinstall | restart kube-controller-manager docker - name: Preinstall | restart kube-controller-manager docker
shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -f name=k8s_POD_kube-controller-manager* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f" shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -f name=k8s_POD_kube-controller-manager* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f"
...@@ -77,6 +59,7 @@ ...@@ -77,6 +59,7 @@
- dns_mode != 'none' - dns_mode != 'none'
- resolvconf_mode == 'host_resolvconf' - resolvconf_mode == 'host_resolvconf'
- kube_controller_set.stat.exists - kube_controller_set.stat.exists
listen: Preinstall | propagate resolvconf to k8s components
- name: Preinstall | restart kube-controller-manager crio/containerd - name: Preinstall | restart kube-controller-manager crio/containerd
shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-controller-manager* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'" shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-controller-manager* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'"
...@@ -92,6 +75,7 @@ ...@@ -92,6 +75,7 @@
- dns_mode != 'none' - dns_mode != 'none'
- resolvconf_mode == 'host_resolvconf' - resolvconf_mode == 'host_resolvconf'
- kube_controller_set.stat.exists - kube_controller_set.stat.exists
listen: Preinstall | propagate resolvconf to k8s components
- name: Preinstall | restart kube-apiserver docker - name: Preinstall | restart kube-apiserver docker
shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -f name=k8s_POD_kube-apiserver* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f" shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -f name=k8s_POD_kube-apiserver* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f"
...@@ -103,6 +87,7 @@ ...@@ -103,6 +87,7 @@
- dns_mode != 'none' - dns_mode != 'none'
- resolvconf_mode == 'host_resolvconf' - resolvconf_mode == 'host_resolvconf'
- kube_apiserver_set.stat.exists - kube_apiserver_set.stat.exists
listen: Preinstall | propagate resolvconf to k8s components
- name: Preinstall | restart kube-apiserver crio/containerd - name: Preinstall | restart kube-apiserver crio/containerd
shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-apiserver* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'" shell: "set -o pipefail && {{ bin_dir }}/crictl pods --name kube-apiserver* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'"
...@@ -118,6 +103,7 @@ ...@@ -118,6 +103,7 @@
- dns_mode != 'none' - dns_mode != 'none'
- resolvconf_mode == 'host_resolvconf' - resolvconf_mode == 'host_resolvconf'
- kube_apiserver_set.stat.exists - kube_apiserver_set.stat.exists
listen: Preinstall | propagate resolvconf to k8s components
# When running this as the last phase ensure we wait for kube-apiserver to come up # When running this as the last phase ensure we wait for kube-apiserver to come up
- name: Preinstall | wait for the apiserver to be running - name: Preinstall | wait for the apiserver to be running
...@@ -133,6 +119,8 @@ ...@@ -133,6 +119,8 @@
- inventory_hostname in groups['kube_control_plane'] - inventory_hostname in groups['kube_control_plane']
- dns_mode != 'none' - dns_mode != 'none'
- resolvconf_mode == 'host_resolvconf' - resolvconf_mode == 'host_resolvconf'
- not ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"] and not is_fedora_coreos
listen: Preinstall | propagate resolvconf to k8s components
- name: Preinstall | Restart systemd-resolved - name: Preinstall | Restart systemd-resolved
service: service:
......
--- ---
- name: Reset_calico_cni
command: /bin/true
when: calico_cni_config is defined
notify:
- Delete 10-calico.conflist
- Calico | delete calico-node docker containers
- Calico | delete calico-node crio/containerd containers
- name: Delete 10-calico.conflist - name: Delete 10-calico.conflist
file: file:
path: /etc/cni/net.d/10-calico.conflist path: /etc/cni/net.d/10-calico.conflist
state: absent state: absent
listen: Reset_calico_cni
when: calico_cni_config is defined
- name: Calico | delete calico-node docker containers - name: Calico | delete calico-node docker containers
shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -af name=k8s_POD_calico-node* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f" shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -af name=k8s_POD_calico-node* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f"
...@@ -19,7 +13,10 @@ ...@@ -19,7 +13,10 @@
register: docker_calico_node_remove register: docker_calico_node_remove
until: docker_calico_node_remove is succeeded until: docker_calico_node_remove is succeeded
retries: 5 retries: 5
when: container_manager in ["docker"] when:
- container_manager in ["docker"]
- calico_cni_config is defined
listen: Reset_calico_cni
- name: Calico | delete calico-node crio/containerd containers - name: Calico | delete calico-node crio/containerd containers
shell: 'set -o pipefail && {{ bin_dir }}/crictl pods --name calico-node-* -q | xargs -I% --no-run-if-empty bash -c "{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %"' shell: 'set -o pipefail && {{ bin_dir }}/crictl pods --name calico-node-* -q | xargs -I% --no-run-if-empty bash -c "{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %"'
...@@ -28,4 +25,7 @@ ...@@ -28,4 +25,7 @@
register: crictl_calico_node_remove register: crictl_calico_node_remove
until: crictl_calico_node_remove is succeeded until: crictl_calico_node_remove is succeeded
retries: 5 retries: 5
when: container_manager in ["crio", "containerd"] when:
- container_manager in ["crio", "containerd"]
- calico_cni_config is defined
listen: Reset_calico_cni
--- ---
- name: Reset_kube_router
command: /bin/true
notify:
- Kube-router | delete kube-router docker containers
- Kube-router | delete kube-router crio/containerd containers
- name: Kube-router | delete kube-router docker containers - name: Kube-router | delete kube-router docker containers
shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -af name=k8s_POD_kube-router* -q | xargs --no-run-if-empty docker rm -f" shell: "set -o pipefail && {{ docker_bin_dir }}/docker ps -af name=k8s_POD_kube-router* -q | xargs --no-run-if-empty docker rm -f"
args: args:
...@@ -13,6 +7,7 @@ ...@@ -13,6 +7,7 @@
until: docker_kube_router_remove is succeeded until: docker_kube_router_remove is succeeded
retries: 5 retries: 5
when: container_manager in ["docker"] when: container_manager in ["docker"]
listen: Reset_kube_router
- name: Kube-router | delete kube-router crio/containerd containers - name: Kube-router | delete kube-router crio/containerd containers
shell: 'set -o pipefail && {{ bin_dir }}/crictl pods --name kube-router* -q | xargs -I% --no-run-if-empty bash -c "{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %"' shell: 'set -o pipefail && {{ bin_dir }}/crictl pods --name kube-router* -q | xargs -I% --no-run-if-empty bash -c "{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %"'
...@@ -22,3 +17,4 @@ ...@@ -22,3 +17,4 @@
until: crictl_kube_router_remove is succeeded until: crictl_kube_router_remove is succeeded
retries: 5 retries: 5
when: container_manager in ["crio", "containerd"] when: container_manager in ["crio", "containerd"]
listen: Reset_kube_router
--- ---
- name: Macvlan | restart network
command: /bin/true
notify:
- Macvlan | reload network
when: not ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"]
- name: Macvlan | reload network - name: Macvlan | reload network
service: service:
# noqa: jinja[spacing] # noqa: jinja[spacing]
...@@ -18,3 +12,4 @@ ...@@ -18,3 +12,4 @@
{%- endif %} {%- endif %}
state: restarted state: restarted
when: not ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"] and kube_network_plugin not in ['calico'] when: not ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"] and kube_network_plugin not in ['calico']
listen: Macvlan | restart network
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment