--- - name: Prepare for the alerting exercise hosts: workstation.lab.example.com gather_subset: min become: no vars: ge_nsp: monitoring-alerts 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: Check whether the namespace is already there k8s_info: kubeconfig: tmp/kubeconfig-ocp4 validate_certs: no api_version: v1 kind: namespace name: "{{ ge_nsp }}" register: ge_exists - name: Fail if the namespace exists fail: msg: "The exercise namespace already exists: {{ ge_nsp }}; please run strategy-finish.yml to clean up first and then re-run this playbook." when: ge_exists.resources | length > 0 - name: Ensure there is a namespace for the exercise k8s: kubeconfig: tmp/kubeconfig-ocp4 validate_certs: no api_version: v1 kind: namespace name: "{{ ge_nsp }}" - name: Deploy the sample app manifests k8s: kubeconfig: tmp/kubeconfig-ocp4 validate_certs: no namespace: "{{ ge_nsp }}" src: ../labs/monitoring/alerts/{{ item }} loop: - frontend.yaml - exoplanets.yaml ...