summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorScott Dodson <sdodson@redhat.com>2015-12-16 14:14:42 -0500
committerScott Dodson <sdodson@redhat.com>2015-12-16 14:14:42 -0500
commit48778f29f265380a3e6fa2e882621ebc3781736b (patch)
tree72f5ff520cd5d5bc3594ece643b77bcde7a712f9 /roles
parent5e2e55e4aa09468a054ce7c9901c51d9563cc85a (diff)
downloadopenshift-48778f29f265380a3e6fa2e882621ebc3781736b.tar.gz
openshift-48778f29f265380a3e6fa2e882621ebc3781736b.tar.bz2
openshift-48778f29f265380a3e6fa2e882621ebc3781736b.tar.xz
openshift-48778f29f265380a3e6fa2e882621ebc3781736b.zip
Add some guards to wait for images to be pulled before moving on
Diffstat (limited to 'roles')
-rw-r--r--roles/etcd/tasks/main.yml10
-rw-r--r--roles/openshift_cli/tasks/main.yml16
-rw-r--r--roles/openshift_master/tasks/main.yml12
-rw-r--r--roles/openshift_node/tasks/main.yml31
4 files changed, 63 insertions, 6 deletions
diff --git a/roles/etcd/tasks/main.yml b/roles/etcd/tasks/main.yml
index a03c693d6..2160ed817 100644
--- a/roles/etcd/tasks/main.yml
+++ b/roles/etcd/tasks/main.yml
@@ -20,6 +20,16 @@
- name: Pull etcd container
command: docker pull {{ openshift.etcd.etcd_image }}
when: openshift.common.is_containerized | bool and openshift.etcd.etcd_image not in docker_images.stdout
+
+- name: Wait for etcd image
+ command: >
+ docker images
+ register: docker_images
+ until: openshift.etcd.etcd_image in docker_images.stdout
+ retries: 30
+ delay: 10
+ changed_when: false
+ when: openshift.common.is_containerized | bool
- name: Install etcd container service file
template:
diff --git a/roles/openshift_cli/tasks/main.yml b/roles/openshift_cli/tasks/main.yml
index c0ea66e70..8d7686ffd 100644
--- a/roles/openshift_cli/tasks/main.yml
+++ b/roles/openshift_cli/tasks/main.yml
@@ -8,10 +8,26 @@
yum: pkg={{ openshift.common.service_type }}-clients state=installed
when: not openshift.common.is_containerized | bool
+- name: List Docker images
+ command: >
+ docker images
+ register: docker_images
+
- name: Pull CLI Image
command: >
docker pull {{ openshift.common.cli_image }}
+ when: openshift.common.is_containerized | bool and openshift.common.cli_image not in docker_images.stdout
+
+- name: Wait for CLI image
+ command: >
+ docker images
+ register: docker_images
+ until: openshift.common.cli_image in docker_images.stdout
+ retries: 30
+ delay: 10
+ changed_when: false
when: openshift.common.is_containerized | bool
+
- name: Create /usr/local/bin/openshift cli wrapper
template:
diff --git a/roles/openshift_master/tasks/main.yml b/roles/openshift_master/tasks/main.yml
index 405183186..9caf15f9e 100644
--- a/roles/openshift_master/tasks/main.yml
+++ b/roles/openshift_master/tasks/main.yml
@@ -91,10 +91,20 @@
when: openshift.common.is_containerized | bool
register: docker_images
-- name: Pull required docker image
+- name: Pull master image
command: >
docker pull {{ openshift.master.master_image }}
when: openshift.common.is_containerized | bool and openshift.master.master_image not in docker_images.stdout
+
+- name: Wait for master image
+ command: >
+ docker images
+ register: docker_images
+ until: openshift.master.master_image in docker_images.stdout
+ retries: 30
+ delay: 10
+ changed_when: false
+ when: openshift.common.is_containerized | bool
- name: Install Master docker service file
template:
diff --git a/roles/openshift_node/tasks/main.yml b/roles/openshift_node/tasks/main.yml
index 11577dd8b..96383439c 100644
--- a/roles/openshift_node/tasks/main.yml
+++ b/roles/openshift_node/tasks/main.yml
@@ -54,6 +54,32 @@
command: >
docker pull {{ openshift.node.node_image }}
when: openshift.common.is_containerized | bool and openshift.node.node_image not in docker_images.stdout
+
+- name: Wait for node image
+ command: >
+ docker images
+ register: docker_images
+ until: openshift.node.node_image in docker_images.stdout
+ retries: 30
+ delay: 10
+ changed_when: false
+ when: openshift.common.is_containerized | bool
+
+- name: Pull OpenVSwitch image
+ command: >
+ docker pull {{ openshift.node.ovs_image }}
+ when: openshift.common.is_containerized | bool and openshift.node.ovs_image not in docker_images.stdout
+ and openshift.common.use_openshift_sdn | bool
+
+- name: Wait for OpenVSwitch image
+ command: >
+ docker images
+ register: docker_images
+ until: openshift.node.ovs_image in docker_images.stdout
+ retries: 30
+ delay: 10
+ changed_when: false
+ when: openshift.common.is_containerized | bool and openshift.common.use_openshift_sdn | bool
- name: Install Node docker service file
template:
@@ -62,11 +88,6 @@
register: install_node_result
when: openshift.common.is_containerized | bool
-- name: Pull OpenvSwitch docker image
- command: >
- docker pull {{ openshift.node.ovs_image }}
- when: openshift.common.is_containerized | bool and openshift.node.ovs_image not in docker_images.stdout
-
- name: Install OpenvSwitch docker service file
template:
dest: "/etc/systemd/system/openvswitch.service"