summaryrefslogtreecommitdiffstats
path: root/roles/openshift_hosted/tasks/wait_for_pod.yml
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2017-09-26 09:29:53 -0700
committerGitHub <noreply@github.com>2017-09-26 09:29:53 -0700
commit8c6192e10192b75af79b82e5e9f21cdc560a6e14 (patch)
tree52cea806c342cd9a06d8628acf6eaf1595eb9f12 /roles/openshift_hosted/tasks/wait_for_pod.yml
parent4ac743b8fd26e02af6e230af2cbbe82dd2d4617a (diff)
parent82d61ae9e23c2ae1f722ed3b458a6e39721e71fd (diff)
downloadopenshift-8c6192e10192b75af79b82e5e9f21cdc560a6e14.tar.gz
openshift-8c6192e10192b75af79b82e5e9f21cdc560a6e14.tar.bz2
openshift-8c6192e10192b75af79b82e5e9f21cdc560a6e14.tar.xz
openshift-8c6192e10192b75af79b82e5e9f21cdc560a6e14.zip
Merge pull request #5472 from mgugino-upstream-stage/split-hosted-v2
Automatic merge from submit-queue Refactor openshift_hosted plays and role (version 2) Currently, openshift_hosted role duplicates some logic across separate task chains. This commit cleans up the openshift_hosted role and converts it to be primarily used with include_role to give better logic to the playbooks that utilize this role. This commit also refactors the playbook that calls various openshift_hosted roles into individual playbooks. This allows more granularity for advanced users. ----- This version of the patch set rolls back some of the refactoring (removal of running fact roles as a dependency) and focuses on just realigning the roles and plays. Original PR: https://github.com/openshift/openshift-ansible/pull/5284 Once this merges, I will close the old PR. Leaving it open for now for reference.
Diffstat (limited to 'roles/openshift_hosted/tasks/wait_for_pod.yml')
-rw-r--r--roles/openshift_hosted/tasks/wait_for_pod.yml36
1 files changed, 36 insertions, 0 deletions
diff --git a/roles/openshift_hosted/tasks/wait_for_pod.yml b/roles/openshift_hosted/tasks/wait_for_pod.yml
new file mode 100644
index 000000000..056c79334
--- /dev/null
+++ b/roles/openshift_hosted/tasks/wait_for_pod.yml
@@ -0,0 +1,36 @@
+---
+- when: l_openshift_hosted_wait_for_pod | default(False) | bool
+ block:
+ - name: Ensure OpenShift pod correctly rolls out (best-effort today)
+ command: |
+ {{ openshift.common.client_binary }} rollout status deploymentconfig {{ item.name }} \
+ --namespace {{ item.namespace | default('default') }} \
+ --config {{ openshift_master_config_dir }}/admin.kubeconfig
+ async: 600
+ poll: 15
+ with_items: "{{ l_openshift_hosted_wfp_items }}"
+ failed_when: false
+
+ - name: Determine the latest version of the OpenShift pod deployment
+ command: |
+ {{ openshift.common.client_binary }} get deploymentconfig {{ item.name }} \
+ --namespace {{ item.namespace }} \
+ --config {{ openshift_master_config_dir }}/admin.kubeconfig \
+ -o jsonpath='{ .status.latestVersion }'
+ register: l_openshift_hosted_wfp_latest_version
+ with_items: "{{ l_openshift_hosted_wfp_items }}"
+
+ - name: Poll for OpenShift pod deployment success
+ command: |
+ {{ openshift.common.client_binary }} get replicationcontroller {{ item.0.name }}-{{ item.1.stdout }} \
+ --namespace {{ item.0.namespace }} \
+ --config {{ openshift_master_config_dir }}/admin.kubeconfig \
+ -o jsonpath='{ .metadata.annotations.openshift\.io/deployment\.phase }'
+ register: openshift_hosted_wfp_rc_phase
+ until: "'Running' not in openshift_hosted_wfp_rc_phase.stdout"
+ delay: 15
+ retries: 40
+ failed_when: "'Failed' in openshift_hosted_wfp_rc_phase.stdout"
+ with_together:
+ - "{{ l_openshift_hosted_wfp_items }}"
+ - "{{ l_openshift_hosted_wfp_latest_version.results }}"