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