diff options
author | Steve Kuznetsov <skuznets@redhat.com> | 2017-06-09 07:02:35 -0700 |
---|---|---|
committer | Steve Kuznetsov <skuznets@redhat.com> | 2017-06-09 09:21:54 -0700 |
commit | 9ba4195cb4c70705c4cec2543617738b8e114148 (patch) | |
tree | 2c6db92ecb69acbbd3440819d8f2abe3bace8d78 | |
parent | 5c678402a08dd251b9d4496316212fef5b917560 (diff) | |
download | openshift-9ba4195cb4c70705c4cec2543617738b8e114148.tar.gz openshift-9ba4195cb4c70705c4cec2543617738b8e114148.tar.bz2 openshift-9ba4195cb4c70705c4cec2543617738b8e114148.tar.xz openshift-9ba4195cb4c70705c4cec2543617738b8e114148.zip |
Verify the rollout status of the hosted router and registry
When deploying the hosted router and registry components, we need to
ensure that they correctly roll out. The previous checks were weak in
that they either simply waited for a set amount of time and/or did one
replica check. They would fail if the router or registry took longer to
deploy or if there were un-ready or failing replicas. The `oc rollout`
command group contains the `status` endpoint for internalizing all of
the logic for determining when a rollout has succeeded or failed, so
simply using this client call will ensure that the router and registry
correctly deploy.
Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
-rw-r--r-- | roles/openshift_hosted/tasks/registry/registry.yml | 6 | ||||
-rw-r--r-- | roles/openshift_hosted/tasks/router/router.yml | 20 |
2 files changed, 12 insertions, 14 deletions
diff --git a/roles/openshift_hosted/tasks/registry/registry.yml b/roles/openshift_hosted/tasks/registry/registry.yml index 751489958..7945e16ca 100644 --- a/roles/openshift_hosted/tasks/registry/registry.yml +++ b/roles/openshift_hosted/tasks/registry/registry.yml @@ -124,6 +124,12 @@ edits: "{{ openshift_hosted_registry_edits }}" force: "{{ True|bool in openshift_hosted_registry_force }}" +- name: Ensure OpenShift registry correctly rolls out + command: | + oc rollout status deploymentconfig {{ openshift_hosted_registry_name }} \ + --namespace {{ openshift_hosted_registry_namespace }} \ + --config {{ openshift.common.config_base }}/master/admin.kubeconfig + - include: storage/glusterfs.yml when: - openshift.hosted.registry.storage.kind | default(none) == 'glusterfs' or openshift.hosted.registry.storage.glusterfs.swap diff --git a/roles/openshift_hosted/tasks/router/router.yml b/roles/openshift_hosted/tasks/router/router.yml index 192afc87a..3382abd7b 100644 --- a/roles/openshift_hosted/tasks/router/router.yml +++ b/roles/openshift_hosted/tasks/router/router.yml @@ -55,7 +55,7 @@ state: present with_items: "{{ openshift_hosted_routers }}" -- name: Grant the router serivce account(s) access to the appropriate scc +- name: Grant the router service account(s) access to the appropriate scc oc_adm_policy_user: user: "system:serviceaccount:{{ item.namespace }}:{{ item.serviceaccount }}" namespace: "{{ item.namespace }}" @@ -89,18 +89,10 @@ ports: "{{ item.ports }}" stats_port: "{{ item.stats_port }}" with_items: "{{ openshift_hosted_routers }}" - register: routerout -# This should probably move to module -- name: wait for deploy - pause: - seconds: 30 - when: routerout.changed - -- name: Ensure router replica count matches desired - oc_scale: - kind: dc - name: "{{ item.name | default('router') }}" - namespace: "{{ item.namespace | default('default') }}" - replicas: "{{ item.replicas }}" +- name: Ensure OpenShift router correctly rolls out + command: | + oc rollout status deploymentconfig {{ item.name }} \ + --namespace {{ item.namespace | default('default') }} \ + --config {{ openshift.common.config_base }}/master/admin.kubeconfig with_items: "{{ openshift_hosted_routers }}" |