diff --git a/roles/network_plugin/cilium/tasks/reset.yml b/roles/network_plugin/cilium/tasks/reset.yml new file mode 100644 index 0000000000000000000000000000000000000000..65b6e9a7880a39c11bc52fea3dc83f5be5ac252e --- /dev/null +++ b/roles/network_plugin/cilium/tasks/reset.yml @@ -0,0 +1,9 @@ +--- +- name: reset | check and remove devices if still present + include_tasks: reset_iface.yml + vars: + iface: "{{ item }}" + with_items: + - cilium_host + - cilium_net + - cilium_vxlan diff --git a/roles/network_plugin/cilium/tasks/reset_iface.yml b/roles/network_plugin/cilium/tasks/reset_iface.yml new file mode 100644 index 0000000000000000000000000000000000000000..d4a5aad90f55c9797f00e0f73c66345881b90b94 --- /dev/null +++ b/roles/network_plugin/cilium/tasks/reset_iface.yml @@ -0,0 +1,9 @@ +--- +- name: "reset | check if network device {{ iface }} is present" + stat: + path: "/sys/class/net/{{ iface }}" + register: device_remains + +- name: "reset | remove network device {{ iface }}" + command: "ip link del {{ iface }}" + when: device_remains.stat.exists diff --git a/roles/network_plugin/flannel/tasks/reset.yml b/roles/network_plugin/flannel/tasks/reset.yml new file mode 100644 index 0000000000000000000000000000000000000000..b2777b4efeed37e5ed1c0d0976b7cc10240dbf61 --- /dev/null +++ b/roles/network_plugin/flannel/tasks/reset.yml @@ -0,0 +1,18 @@ +--- +- name: reset | check cni network device + stat: + path: /sys/class/net/cni0 + register: cni + +- name: reset | remove the network device created by the flannel + command: ip link del cni0 + when: cni.stat.exists + +- name: reset | check flannel network device + stat: + path: /sys/class/net/flannel.1 + register: flannel + +- name: reset | remove the network device created by the flannel + command: ip link del flannel.1 + when: flannel.stat.exists diff --git a/roles/reset/tasks/main.yml b/roles/reset/tasks/main.yml index f190dbee8b9100c7b2d2afcace721249e1d5969d..fe72c2bec2d131f00144288a415708d0ca87e3ad 100644 --- a/roles/reset/tasks/main.yml +++ b/roles/reset/tasks/main.yml @@ -167,33 +167,12 @@ - files - dns -- name: reset | check cni network device - stat: - path: /sys/class/net/cni0 - register: cni - when: kube_network_plugin == 'flannel' +- name: reset | include file with reset tasks specific to the network_plugin if exists + include_tasks: "{{ (role_path + '/../network_plugin/' + kube_network_plugin + '/tasks/reset.yml') | realpath }}" + when: + - kube_network_plugin in ['flannel', 'cilium'] tags: - - flannel - -- name: reset | remove the network device created by the flannel - command: ip link del cni0 - when: kube_network_plugin == 'flannel' and cni.stat.exists - tags: - - flannel - -- name: reset | check flannel network device - stat: - path: /sys/class/net/flannel.1 - register: flannel - when: kube_network_plugin == 'flannel' - tags: - - flannel - -- name: reset | remove the network device created by the flannel - command: ip link del flannel.1 - when: kube_network_plugin == 'flannel' and flannel.stat.exists - tags: - - flannel + - network - name: reset | Restart network service: