github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/ansible/roles/rescheduler/tasks/main.yaml (about) 1 - name: copy rescheduler kubeconfig 2 template: 3 src: kubeconfig.j2 4 dest: "{{ kubernetes_kubeconfig.rescheduler }}" 5 owner: "{{ kubernetes_owner }}" 6 group: "{{ kubernetes_group }}" 7 mode: "{{ kubernetes_service_mode }}" 8 9 - name: copy rescheduler.yaml manifest 10 template: 11 src: rescheduler.yaml 12 dest: "{{ kubelet_pod_manifests_dir }}/rescheduler.yaml" 13 owner: "{{ kubernetes_owner }}" 14 group: "{{ kubernetes_group }}" 15 mode: "{{ kubernetes_service_mode }}" 16 17 - name: wait up to 5 min until pod 'rescheduler' is running 18 command: kubectl --kubeconfig {{ kubernetes_kubeconfig.kubectl }} get pods --selector k8s-app=rescheduler --namespace kube-system 19 register: phase 20 until: phase|success and "Running" in phase.stdout 21 retries: 60 22 delay: 5 23 failed_when: false # We don't want this task to actually fail (We catch the failure with a custom msg in the next task) 24 25 - name: get docker container ID for pod 'rescheduler' 26 command: docker ps -a -f name=rescheduler --format {%raw%}"{{.ID}}"{%endraw%} -l 27 register: containerID 28 when: phase|failure or "Running" not in phase.stdout 29 30 - name: get docker logs for pod 'rescheduler' 31 command: docker logs {{ containerID.stdout }} --tail 15 32 register: docker_logs 33 when: containerID is defined and containerID|success and containerID.stdout is defined and containerID.stdout != "" 34 35 - name: fail if pod 'rescheduler' is not running 36 fail: 37 msg: | 38 Waited for pod 'rescheduler' to be running, but it did not start up in time. 39 40 The pod's latest logs may indicate why it failed to start up: 41 42 {{ docker_logs.stderr }} 43 44 when: phase|failure or "Running" not in phase.stdout