Explorar o código

Merge pull request #5453 from giuseppe/use-docker-cli-image-if-already-available

Automatic merge from submit-queue.

cli: do not pull again the image when using Docker

When CRI-O is used and the CLI image is already pulled into Docker
then use it also for copying the CLI files to the host instead of
pulling it once again in the ostree storage.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
OpenShift Merge Robot %!s(int64=7) %!d(string=hai) anos
pai
achega
be7d536260
Modificáronse 1 ficheiros con 8 adicións e 5 borrados
  1. 8 5
      roles/openshift_cli/tasks/main.yml

+ 8 - 5
roles/openshift_cli/tasks/main.yml

@@ -1,6 +1,9 @@
 ---
 ---
 - set_fact:
 - set_fact:
-    l_use_crio: "{{ openshift_use_crio | default(false) }}"
+    l_use_crio_only: "{{ openshift_use_crio_only | default(false) }}"
+    l_is_system_container_image: "{{ openshift_use_master_system_container | default(openshift_use_system_containers | default(false)) | bool }}"
+- set_fact:
+    l_use_cli_atomic_image: "{{ l_use_crio_only or l_is_system_container_image }}"
 
 
 - name: Install clients
 - name: Install clients
   package: name={{ openshift.common.service_type }}-clients state=present
   package: name={{ openshift.common.service_type }}-clients state=present
@@ -20,23 +23,23 @@
       backend: "docker"
       backend: "docker"
   when:
   when:
   - openshift.common.is_containerized | bool
   - openshift.common.is_containerized | bool
-  - not l_use_crio
+  - not l_use_cli_atomic_image | bool
 
 
 - block:
 - block:
   - name: Pull CLI Image
   - name: Pull CLI Image
     command: >
     command: >
-      atomic pull --storage ostree {{ openshift.common.system_images_registry }}/{{ openshift.common.cli_image }}:{{ openshift_image_tag }}
+      atomic pull --storage ostree {{ 'docker:' if openshift.common.system_images_registry == 'docker' else openshift.common.system_images_registry + '/' }}{{ openshift.common.cli_image }}:{{ openshift_image_tag }}
     register: pull_result
     register: pull_result
     changed_when: "'Pulling layer' in pull_result.stdout"
     changed_when: "'Pulling layer' in pull_result.stdout"
 
 
   - name: Copy client binaries/symlinks out of CLI image for use on the host
   - name: Copy client binaries/symlinks out of CLI image for use on the host
     openshift_container_binary_sync:
     openshift_container_binary_sync:
-      image: "{{ openshift.common.system_images_registry }}/{{ openshift.common.cli_image }}"
+      image: "{{ '' if openshift.common.system_images_registry == 'docker' else openshift.common.system_images_registry + '/' }}{{ openshift.common.cli_image }}"
       tag: "{{ openshift_image_tag }}"
       tag: "{{ openshift_image_tag }}"
       backend: "atomic"
       backend: "atomic"
   when:
   when:
   - openshift.common.is_containerized | bool
   - openshift.common.is_containerized | bool
-  - l_use_crio
+  - l_use_cli_atomic_image | bool
 
 
 - name: Reload facts to pick up installed OpenShift version
 - name: Reload facts to pick up installed OpenShift version
   openshift_facts:
   openshift_facts: