--- - name: Wait for apiserver command: "{{ kubectl }} get nodes" environment: - KUBECONFIG: "{{ ansible_env.HOME | default('/root') }}/.kube/config" register: apiserver_is_ready until: apiserver_is_ready.rc == 0 retries: 6 delay: 10 changed_when: false when: groups['broken_kube_control_plane'] - name: Delete broken kube_control_plane nodes from cluster command: "{{ kubectl }} delete node {{ item }}" environment: - KUBECONFIG: "{{ ansible_env.HOME | default('/root') }}/.kube/config" with_items: "{{ groups['broken_kube_control_plane'] }}" register: delete_broken_kube_masters failed_when: false when: groups['broken_kube_control_plane'] - name: Fail if unable to delete broken kube_control_plane nodes from cluster fail: msg: "Unable to delete broken kube_control_plane node: {{ item.item }}" loop: "{{ delete_broken_kube_masters.results }}" changed_when: false when: - groups['broken_kube_control_plane'] - "item.rc != 0 and not 'NotFound' in item.stderr"