Browse Source

Fix Docker 1.10 problems with empty tags and trailing :

Docker 1.10 is no longer tolerant of commands like "docker pull
myimage:" when we do not have an image tag in play.

Adjust all occurrences with one that only includes the : if a version is
defined.

Adjust the containerized CLI wrappers for a similar problem.
Devan Goodwin 9 years ago
parent
commit
c45c5935df

+ 1 - 1
roles/openshift_cli/tasks/main.yml

@@ -5,7 +5,7 @@
 
 
 - name: Pull CLI Image
 - name: Pull CLI Image
   command: >
   command: >
-    docker pull {{ openshift.common.cli_image }}:{{ openshift_version }}
+    docker pull {{ openshift.common.cli_image }}{{ ':' + openshift_version if openshift_version is defined and openshift_version != '' else '' }}
   when: openshift.common.is_containerized | bool
   when: openshift.common.is_containerized | bool
 
 
 - name: Create /usr/local/bin/openshift cli wrapper
 - name: Create /usr/local/bin/openshift cli wrapper

+ 7 - 3
roles/openshift_cli/templates/openshift.j2

@@ -5,14 +5,14 @@ fi
 cmd=`basename $0`
 cmd=`basename $0`
 user=`id -u`
 user=`id -u`
 group=`id -g`
 group=`id -g`
-image_tag={{ openshift_version }}
+image_tag="{{ openshift_version }}"
 
 
 >&2 echo """
 >&2 echo """
 ================================================================================
 ================================================================================
 ATTENTION: You are running ${cmd} via a wrapper around 'docker run {{ openshift.common.cli_image }}:${image_tag}'.
 ATTENTION: You are running ${cmd} via a wrapper around 'docker run {{ openshift.common.cli_image }}:${image_tag}'.
 This wrapper is intended only to be used to bootstrap an environment. Please
 This wrapper is intended only to be used to bootstrap an environment. Please
 install client tools on another host once you have granted cluster-admin
 install client tools on another host once you have granted cluster-admin
-privileges to a user. 
+privileges to a user.
 {% if openshift.common.deployment_type in ['openshift-enterprise','atomic-enterprise'] %}
 {% if openshift.common.deployment_type in ['openshift-enterprise','atomic-enterprise'] %}
 See https://docs.openshift.com/enterprise/latest/cli_reference/get_started_cli.html
 See https://docs.openshift.com/enterprise/latest/cli_reference/get_started_cli.html
 {% else %}
 {% else %}
@@ -21,4 +21,8 @@ See https://docs.openshift.org/latest/cli_reference/get_started_cli.html
 =================================================================================
 =================================================================================
 """
 """
 
 
-docker run -i --privileged --net=host --user=${user}:${group} -v ~/.kube:/root/.kube -v /tmp:/tmp -v {{ openshift.common.config_base}}:{{ openshift.common.config_base }} -e KUBECONFIG=/root/.kube/config --entrypoint ${cmd} --rm {{ openshift.common.cli_image }}:${image_tag} "${@}"
+if [ -n "$image_tag" ]; then
+    image_tag=":$image_tag"
+fi
+
+docker run -i --privileged --net=host --user=${user}:${group} -v ~/.kube:/root/.kube -v /tmp:/tmp -v {{ openshift.common.config_base}}:{{ openshift.common.config_base }} -e KUBECONFIG=/root/.kube/config --entrypoint ${cmd} --rm {{ openshift.common.cli_image }}${image_tag} "${@}"

+ 1 - 1
roles/openshift_master/tasks/main.yml

@@ -29,7 +29,7 @@
 
 
 - name: Pull master image
 - name: Pull master image
   command: >
   command: >
-    docker pull {{ openshift.master.master_image }}:{{ openshift_version }}
+    docker pull {{ openshift.master.master_image }}{{ ':' + openshift_version if openshift_version is defined and openshift_version != '' else '' }}
   when: openshift.common.is_containerized | bool
   when: openshift.common.is_containerized | bool
 
 
 - name: Create openshift.common.data_dir
 - name: Create openshift.common.data_dir

+ 2 - 2
roles/openshift_node/tasks/main.yml

@@ -39,12 +39,12 @@
 
 
 - name: Pull node image
 - name: Pull node image
   command: >
   command: >
-    docker pull {{ openshift.node.node_image }}:{{ openshift_version }}
+    docker pull {{ openshift.node.node_image }}{{ ':' + openshift_version if openshift_version is defined and openshift_version != '' else '' }}
   when: openshift.common.is_containerized | bool
   when: openshift.common.is_containerized | bool
 
 
 - name: Pull OpenVSwitch image
 - name: Pull OpenVSwitch image
   command: >
   command: >
-    docker pull {{ openshift.node.ovs_image }}:{{ openshift_version }}
+    docker pull {{ openshift.node.ovs_image }}{{ ':' + openshift_version if openshift_version is defined and openshift_version != '' else '' }}
   when: openshift.common.is_containerized | bool and openshift.common.use_openshift_sdn | bool
   when: openshift.common.is_containerized | bool and openshift.common.use_openshift_sdn | bool
 
 
 - name: Install the systemd units
 - name: Install the systemd units