2016-12-19 14:50:04 +00:00
|
|
|
---
|
|
|
|
- set_fact:
|
|
|
|
pull_by_digest: >-
|
|
|
|
{%- if download.sha256 is defined and download.sha256 != '' -%}true{%- else -%}false{%- endif -%}
|
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
pull_args: >-
|
2017-10-19 08:17:11 +00:00
|
|
|
{%- if pull_by_digest %}{{download.repo}}@sha256:{{download.sha256}}{%- else -%}{{download.repo}}:{{download.tag}}{%- endif -%}
|
2016-12-19 14:50:04 +00:00
|
|
|
|
|
|
|
- name: Register docker images info
|
2017-01-17 08:20:25 +00:00
|
|
|
raw: >-
|
2018-06-22 21:32:44 +00:00
|
|
|
{{ docker_bin_dir }}/docker images -q | xargs {{ docker_bin_dir }}/docker inspect -f "{{ '{{' }} if .RepoTags {{ '}}' }}{{ '{{' }} (index .RepoTags 0) {{ '}}' }}{{ '{{' }} end {{ '}}' }}{{ '{{' }} if .RepoDigests {{ '}}' }},{{ '{{' }} (index .RepoDigests 0) {{ '}}' }}{{ '{{' }} end {{ '}}' }}" | tr '\n' ','
|
2017-02-18 10:13:30 +00:00
|
|
|
no_log: true
|
2017-09-09 20:32:12 +00:00
|
|
|
register: docker_images
|
2016-12-27 11:38:54 +00:00
|
|
|
failed_when: false
|
2017-03-15 11:00:42 +00:00
|
|
|
changed_when: false
|
2017-02-06 18:13:21 +00:00
|
|
|
check_mode: no
|
2017-10-19 08:17:11 +00:00
|
|
|
when: not download_always_pull
|
2016-12-19 14:50:04 +00:00
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
pull_required: >-
|
2017-09-09 20:32:12 +00:00
|
|
|
{%- if pull_args in docker_images.stdout.split(',') %}false{%- else -%}true{%- endif -%}
|
2017-10-19 08:17:11 +00:00
|
|
|
when: not download_always_pull
|
2016-12-19 14:50:04 +00:00
|
|
|
|
|
|
|
- name: Check the local digest sha256 corresponds to the given image tag
|
|
|
|
assert:
|
2017-09-09 20:32:12 +00:00
|
|
|
that: "{{download.repo}}:{{download.tag}} in docker_images.stdout.split(',')"
|
2017-10-19 08:17:11 +00:00
|
|
|
when: not download_always_pull and not pull_required and pull_by_digest
|
2017-09-25 07:41:03 +00:00
|
|
|
tags:
|
|
|
|
- asserts
|