--- - name: Delete pre-existing gluster-s3 resources oc_obj: namespace: "{{ glusterfs_namespace }}" kind: "{{ item.kind }}" name: "{{ item.name | default(omit) }}" selector: "{{ item.selector | default(omit) }}" state: absent with_items: - kind: "all,svc,deploy,secret,sc,pvc" selector: "gluster-s3" failed_when: False when: glusterfs_wipe - name: Wait for gluster-s3 pods to terminate oc_obj: namespace: "{{ glusterfs_namespace }}" kind: pod state: list selector: "glusterfs=s3-{{ glusterfs_name }}-provisioner-pod" register: gluster_s3_pod until: "gluster_s3_pod.results.results[0]['items'] | count == 0" delay: 10 retries: "{{ (glusterfs_timeout | int / 10) | int }}" when: glusterfs_wipe - name: Copy gluster-s3 PVCs template file copy: src: "{{ openshift.common.examples_content_version }}/{{ item }}" dest: "{{ mktemp.stdout }}/{{ item }}" with_items: - "gluster-s3-pvcs-template.yml" - name: Create gluster-s3 PVCs template oc_obj: namespace: "{{ glusterfs_namespace }}" kind: template name: "gluster-s3-pvcs" state: present files: - "{{ mktemp.stdout }}/gluster-s3-pvcs-template.yml" - name: Create gluster-s3 PVCs oc_process: namespace: "{{ glusterfs_namespace }}" template_name: "gluster-s3-pvcs" create: True params: S3_ACCOUNT: "{{ glusterfs_s3_account }}" PVC: "{{ glusterfs_s3_pvc }}" PVC_SIZE: "{{ glusterfs_s3_pvc_size }}" META_PVC: "{{ glusterfs_s3_meta_pvc }}" META_PVC_SIZE: "{{ glusterfs_s3_meta_pvc_size }}" CLUSTER_NAME: "{{ glusterfs_name }}" - name: Wait for gluster-s3 PVCs oc_obj: namespace: "{{ glusterfs_namespace }}" kind: pvc state: list selector: "glusterfs=s3-{{ glusterfs_name }}-{{ glusterfs_s3_account }}-storage" register: gluster_s3_pvcs until: - "gluster_s3_pvcs.results.results[0]['items'] | count > 0" # Pod's 'Bound' status must be True - "gluster_s3_pvcs.results.results[0]['items'] | lib_utils_oo_collect(attribute='status.conditions') | lib_utils_oo_collect(attribute='status', filters={'type': 'Bound'}) | map('bool') | select | list | count == 2" delay: 10 retries: "{{ (glusterfs_timeout | int / 10) | int }}" - name: Copy gluster-s3 template file copy: src: "{{ openshift.common.examples_content_version }}/{{ item }}" dest: "{{ mktemp.stdout }}/{{ item }}" with_items: - "gluster-s3-template.yml" - name: Create gluster-s3 template oc_obj: namespace: "{{ glusterfs_namespace }}" kind: template name: "gluster-s3" state: present files: - "{{ mktemp.stdout }}/gluster-s3-template.yml" - name: Deploy gluster-s3 service oc_process: namespace: "{{ glusterfs_namespace }}" template_name: "gluster-s3" create: True params: IMAGE_NAME: "{{ glusterfs_s3_image }}" IMAGE_VERSION: "{{ glusterfs_s3_version }}" S3_ACCOUNT: "{{ glusterfs_s3_account }}" S3_USER: "{{ glusterfs_s3_user }}" S3_PASSWORD: "{{ glusterfs_s3_password }}" PVC: "{{ glusterfs_s3_pvc }}" META_PVC: "{{ glusterfs_s3_meta_pvc }}" CLUSTER_NAME: "{{ glusterfs_name }}" - name: Wait for gluster-s3 pod oc_obj: namespace: "{{ glusterfs_namespace }}" kind: pod state: list selector: "glusterfs=s3-{{ glusterfs_name }}-{{ glusterfs_s3_account }}-pod" register: gluster_s3_pod until: - "gluster_s3_pod.results.results[0]['items'] | count > 0" # Pod's 'Ready' status must be True - "gluster_s3_pod.results.results[0]['items'] | lib_utils_oo_collect(attribute='status.conditions') | lib_utils_oo_collect(attribute='status', filters={'type': 'Ready'}) | map('bool') | select | list | count == 1" delay: 10 retries: "{{ (glusterfs_timeout | int / 10) | int }}"