--- - name: reset | Check that kubectl is still here stat: path: "{{ bin_dir }}/kubectl" register: contiv_kubectl - name: reset | Delete contiv netplugin and netmaster daemonsets kube: name: "{{ item }}" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" resource: "ds" state: absent with_items: - contiv-netplugin - contiv-netmaster register: contiv_cleanup_deletion tags: - network when: - contiv_kubectl.stat.exists - inventory_hostname == groups['kube-master'][0] - name: reset | Copy contiv temporary cleanup script copy: src: ../files/contiv-cleanup.sh # Not in role_path so we must trick... dest: /opt/cni/bin/cleanup owner: root group: root mode: 0750 when: - contiv_kubectl.stat.exists - name: reset | Lay down contiv cleanup template template: src: ../templates/contiv-cleanup.yml.j2 # Not in role_path so we must trick... dest: "{{ kube_config_dir }}/contiv-cleanup.yml" # kube_config_dir is used here as contiv_config_dir is not necessarily set at reset register: contiv_cleanup_manifest when: - contiv_kubectl.stat.exists - inventory_hostname == groups['kube-master'][0] - name: reset | Start contiv cleanup resources kube: name: "contiv-cleanup" namespace: "kube-system" kubectl: "{{ bin_dir }}/kubectl" resource: "ds" state: latest filename: "{{ kube_config_dir }}/contiv-cleanup.yml" when: - contiv_kubectl.stat.exists - inventory_hostname == groups['kube-master'][0] ignore_errors: true - name: reset | Wait until contiv cleanup is done command: "{{ bin_dir }}/kubectl -n kube-system get ds contiv-cleanup -o jsonpath='{.status.numberReady}'" register: cleanup_done_all_nodes until: cleanup_done_all_nodes.stdout|int == groups['k8s-cluster']|length retries: 5 delay: 5 ignore_errors: true changed_when: false when: - contiv_kubectl.stat.exists - inventory_hostname == groups['kube-master'][0]