|
|
@ -6,7 +6,8 @@ |
|
|
|
- name: "Create heketi storage." |
|
|
|
kube: |
|
|
|
name: "GlusterFS" |
|
|
|
filename: "{{ kube_config_dir }}/heketi-storage.json" |
|
|
|
kubectl: "{{bin_dir}}/kubectl" |
|
|
|
filename: "{{ kube_config_dir }}/heketi-storage-bootstrap.json" |
|
|
|
state: "present" |
|
|
|
vars: |
|
|
|
secret_query: "items[?metadata.name=='heketi-storage-secret' && kind=='Secret']" |
|
|
@ -19,21 +20,23 @@ |
|
|
|
- "heketi_storage_state.stdout|from_json|json_query(service_query)|length == 0" |
|
|
|
- "heketi_storage_state.stdout|from_json|json_query(job_query)|length == 0" |
|
|
|
register: "heketi_storage_result" |
|
|
|
|
|
|
|
- name: "Get state of heketi storage service, endpoint, secret and job." |
|
|
|
command: "{{ bin_dir }}/kubectl get secrets,endpoints,services,jobs --output=json" |
|
|
|
- name: "Get state of heketi database copy job." |
|
|
|
command: "{{ bin_dir }}/kubectl get jobs --output=json" |
|
|
|
changed_when: false |
|
|
|
register: "heketi_storage_state" |
|
|
|
vars: |
|
|
|
heketi_storage_state: { stdout: "{}" } |
|
|
|
secret_query: "items[?metadata.name=='heketi-storage-secret' && kind=='Secret']" |
|
|
|
endpoints_query: "items[?metadata.name=='heketi-storage-endpoints' && kind=='Endpoints']" |
|
|
|
service_query: "items[?metadata.name=='heketi-storage-endpoints' && kind=='Service']" |
|
|
|
job_query: "items[?metadata.name=='heketi-storage-copy-job' && kind=='Job' && status.succeeded==1]" |
|
|
|
until: |
|
|
|
- "heketi_storage_state.stdout|from_json|json_query(secret_query)|length == 1" |
|
|
|
- "heketi_storage_state.stdout|from_json|json_query(endpoints_query)|length == 1" |
|
|
|
- "heketi_storage_state.stdout|from_json|json_query(service_query)|length > 0" |
|
|
|
- "heketi_storage_state.stdout|from_json|json_query(job_query)|length == 1" |
|
|
|
retries: 60 |
|
|
|
delay: 5 |
|
|
|
- become: true |
|
|
|
template: { src: "heketi-storage-test.json.j2", dest: "{{ kube_config_dir }}/heketi-storage-test.json" } |
|
|
|
register: "rendering" |
|
|
|
- kube: |
|
|
|
name: "GlusterFS" |
|
|
|
kubectl: "{{bin_dir}}/kubectl" |
|
|
|
filename: "{{ kube_config_dir }}/heketi-storage-test.json" |
|
|
|
state: "{{ rendering.changed | ternary('latest', 'present') }}" |
|
|
|
register: "state" |