--- - name: "Kubernetes Apps | Lay Down GlusterFS Daemonset" template: { src: "glusterfs-daemonset.json.j2", dest: "{{ kube_config_dir }}/glusterfs-daemonset.json" } become: true register: "rendering" - name: "Kubernetes Apps | Install and configure GlusterFS daemonset" kube: name: "GlusterFS" filename: "{{ kube_config_dir }}/glusterfs-daemonset.json" state: "{{ rendering.changed | ternary('latest', 'present') }}" - name: "Kubernetes Apps | Wait for daemonset to become available." register: "daemonset_state" command: "{{ bin_dir }}/kubectl get daemonset glusterfs --output=json --ignore-not-found=true" changed_when: false vars: daemonset_state: { stdout: "{}" } ready: "{{ daemonset_state.stdout|from_json|json_query(\"status.numberReady\") }}" desired: "{{ daemonset_state.stdout|from_json|json_query(\"status.desiredNumberScheduled\") }}" until: "ready == desired" retries: 60 delay: 5 - name: "Kubernetes Apps | Label GlusterFS nodes" include_tasks: "glusterfs/label.yml" with_items: "{{ groups['heketi-node'] }}" loop_control: loop_var: "node" - name: "Kubernetes Apps | Lay Down Heketi Service Account" template: { src: "heketi-service-account.json.j2", dest: "{{ kube_config_dir }}/heketi-service-account.json" } become: true register: "rendering" - name: "Kubernetes Apps | Install and configure Heketi Service Account" kube: name: "GlusterFS" filename: "{{ kube_config_dir }}/heketi-service-account.json" state: "{{ rendering.changed | ternary('latest', 'present') }}"