--- - name: Clean up after the navigate exercise hosts: workstation.lab.example.com gather_subset: min become: no vars: ge_nsp: deploy-introduction tasks: - name: Make sure kubeconfig is there on utility delegate_to: utility.lab.example.com file: path: /home/lab/{{ item }}/auth/kubeconfig state: file loop: "{{ clusters }}" - name: Create a temp dir file: path: tmp state: directory - name: Copy over the kubeconfig delegate_to: utility.lab.example.com fetch: src: /home/lab/{{ item }}/auth/kubeconfig dest: tmp/kubeconfig-{{ item }} flat: yes loop: "{{ clusters }}" - name: Ensure the namespace for the exercise is gone k8s: kubeconfig: tmp/kubeconfig-ocp4 validate_certs: no api_version: v1 kind: namespace name: "{{ ge_nsp }}" state: absent - name: Wait for the project to finish terminating k8s_info: kubeconfig: tmp/kubeconfig-ocp4 validate_certs: no api_version: v1 kind: namespace name: "{{ ge_nsp }}" register: ge_gone until: ge_gone.resources | length == 0 retries: 30 delay: 10 ...