Decrease docker dependency (#7172)

This commit is contained in:
Florian Ruynat
2021-01-18 10:41:44 +01:00
committed by GitHub
parent e3caff833c
commit 91ee4aa542
7 changed files with 57 additions and 26 deletions

View File

@@ -5,13 +5,27 @@
tags:
- facts
- name: prep_download | Set image info command for containerd and crio
# The docker image_info_command might seems weird but we are using raw/endraw and `{{ `{{` }}` to manage the double jinja2 processing
# done here and when `image_info_command` is used (first the raw/endraw allow to store the command, then the second processing replace `{{`
- name: prep_download | Set image pull/info command for docker
set_fact:
image_pull_command: "{{ docker_bin_dir }}/docker pull"
image_info_command: "{{ docker_bin_dir }}/docker images -q | xargs -i {{ '{{' }} docker_bin_dir }}/docker inspect -f {% raw %}'{{ '{{' }} if .RepoTags }}{{ '{{' }} join .RepoTags \",\" }}{{ '{{' }} end }}{{ '{{' }} if .RepoDigests }},{{ '{{' }} join .RepoDigests \",\" }}{{ '{{' }} end }}' {% endraw %} {} | tr '\n' ','"
when: container_manager == 'docker'
- name: prep_download | Set image pull/info command for containerd and crio
set_fact:
image_info_command: "{{ bin_dir }}/crictl images --verbose | awk -F ': ' '/RepoTags|RepoDigests/ {print $2}' | tr '\n' ','"
image_pull_command: "{{ bin_dir }}/crictl pull"
when: container_manager in ['crio' ,'containerd']
- name: prep_download | Set image info command for containerd and crio on localhost
- name: prep_download | Set image pull/info command for docker on localhost
set_fact:
image_pull_command_on_localhost: "{{ docker_bin_dir }}/docker pull"
image_info_command_on_localhost: "{{ docker_bin_dir }}/docker images"
when: container_manager_on_localhost == 'docker'
- name: prep_download | Set image pull/info command for containerd and crio on localhost
set_fact:
image_info_command_on_localhost: "{{ bin_dir }}/crictl images --verbose | awk -F ': ' '/RepoTags|RepoDigests/ {print $2}' | tr '\n' ','"
image_pull_command_on_localhost: "{{ bin_dir }}/crictl pull"
@@ -32,7 +46,7 @@
- localhost
- asserts
- name: prep_download | On localhost, check if user has access to docker without using sudo
- name: prep_download | On localhost, check if user has access to the container runtime without using sudo
shell: "{{ image_info_command_on_localhost }}" # noqa 305 image_info_command_on_localhost contains pipe, therefore requires shell
delegate_to: localhost
connection: local