change order and validation of bootstrap and rest tasks as well as

volumes
This commit is contained in:
Sascha Marcel Schmidt 2018-06-27 12:30:14 +02:00
parent b56f465145
commit 8e275ab2bd
No known key found for this signature in database
GPG key ID: D1D6CE184437796D
3 changed files with 14 additions and 16 deletions

View file

@ -1,17 +1,19 @@
---
- name: "Test REST endpoint."
uri: { url: "http://localhost:48080/hello", method: "GET", return_content: true }
register: "rest_hello_check"
ignore_errors: true
# Bootstrap heketi
- name: "Bootstrap heketi and start REST endpoint."
when: "rest_hello_check.content != \"Hello from Heketi\""
include_tasks: "{{ item }}"
with_items: [ "setup/boot.yml", "setup/rest.yml" ]
- 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: "Bootstrap heketi."
when: "rest_hello_check.content == \"Hello from Heketi\""
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"
include_tasks: "setup/boot.yml"
- name: "Test rest endpoint port."
wait_for: { host: "localhost", port: "48080", state: "absent" }
- name: "Start REST endpoint."
include_tasks: "setup/rest.yml"
# Prepare heketi topology
- name: "Test heketi topology."

View file

@ -1,26 +1,22 @@
---
# Enable local REST-Interface
- name: "Get heketi initial pod state."
tags: ["test"]
register: "initial_heketi_pod"
command: "kubectl get pods --selector=deploy-heketi=pod,glusterfs=heketi-pod,name=deploy-heketi --output=json"
changed_when: false
- name: "Ensure heketi bootstrap pod is up."
tags: ["test"]
assert:
that: "(initial_heketi_pod.stdout|from_json|json_query('items[*]'))|length == 1"
- name: "Temporarily enable local port forwarding to heketi REST interface"
tags: ["test"]
vars:
initial_heketi_pod_name: "{{ initial_heketi_pod.stdout|from_json|json_query(\"items[*].metadata.name|[0]\") }}"
command: "kubectl port-forward {{ initial_heketi_pod_name }} 48080:8080"
async: 180
async: 600
poll: 0
ignore_errors: "yes"
register: "heketi_port_forwarding"
changed_when: false
- name: "Ensure port forwarding is enabled."
tags: ["test"]
retries: 10
delay: 5
assert:
@ -30,7 +26,6 @@
- "heketi_port_forwarding.failed == false"
msg: "Port forwarding does not work."
- name: "Test REST endpoint."
tags: ["test"]
uri: { url: "http://localhost:48080/hello", method: "GET", return_content: true }
register: "rest_hello_check"
until: "rest_hello_check.content == \"Hello from Heketi\""

View file

@ -17,6 +17,7 @@
when: "volume.name == 'heketidbstorage'"
- name: "Provision database volume."
command: "heketi-cli -s http://localhost:48080 setup-openshift-heketi-storage"
args: { chdir: "{{ artifacts_dir }}", creates: "{{ artifacts_dir }}/{{ heketi-storage.json }}" }
when: "heketi_database_volume_exists is undefined"
- name: "Get heketi volume ids."
command: "heketi-cli -s http://localhost:48080 volume list --json"