35 lines
1.9 KiB
YAML
35 lines
1.9 KiB
YAML
---
|
|
- name: "Get state of heketi service, deployment and pods."
|
|
register: "initial_heketi_state"
|
|
changed_when: false
|
|
command: "kubectl get services,deployments,pods --selector=deploy-heketi --output=json"
|
|
- name: "Create Heketi initial service and deployment"
|
|
command: "kubectl create -f {{ role_path }}/heketi-bootstrap.json"
|
|
when:
|
|
- "(initial_heketi_state.stdout|from_json|json_query(\"items[?kind=='Service']\"))|length == 0"
|
|
- "(initial_heketi_state.stdout|from_json|json_query(\"items[?kind=='Deployment']\"))|length == 0"
|
|
- "(initial_heketi_state.stdout|from_json|json_query(\"items[?kind=='Pod']\"))|length == 0"
|
|
- name: "Get state of heketi service, deployment and pods."
|
|
register: "initial_heketi_state"
|
|
changed_when: false
|
|
command: "kubectl get services,deployments,pods --selector=deploy-heketi --output=json"
|
|
- name: "Ensure heketi bootstrap environment exists."
|
|
assert:
|
|
that:
|
|
- "(initial_heketi_state.stdout|from_json|json_query(\"items[?kind=='Service'].metadata.name\")).0 == 'deploy-heketi'"
|
|
- "(initial_heketi_state.stdout|from_json|json_query(\"items[?kind=='Deployment'].metadata.name\")).0 == 'deploy-heketi'"
|
|
- "(initial_heketi_state.stdout|from_json|json_query(\"items[?kind=='Pod'].metadata.labels.name\")).0 == 'deploy-heketi'"
|
|
msg: "Heketi deployment did not succeed."
|
|
- name: "Wait for heketi bootstrap to complete."
|
|
changed_when: false
|
|
register: "initial_heketi_state"
|
|
vars:
|
|
pods_query: "items[?kind=='Pod'].status.conditions|[0][?type=='Ready'].status|[0]"
|
|
deployments_query: "items[?kind=='Deployment'].status.conditions|[0][?type=='Available'].status|[0]"
|
|
command: "kubectl get services,deployments,pods --selector=deploy-heketi --output=json"
|
|
until:
|
|
- "initial_heketi_state.stdout|from_json|json_query(pods_query) == 'True'"
|
|
- "initial_heketi_state.stdout|from_json|json_query(deployments_query) == 'True'"
|
|
retries: 60
|
|
delay: 5
|