a56d9de502
* Add restart for weave service unit * Reuse docker_bin_dir everythere * Limit systemd managed docker containers by CPU/RAM. Do not configure native systemd limits due to the lack of consensus in the kernel community requires out-of-tree kernel patches. Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
27 lines
1.1 KiB
YAML
27 lines
1.1 KiB
YAML
---
|
|
- set_fact:
|
|
pull_by_digest: >-
|
|
{%- if download.sha256 is defined and download.sha256 != '' -%}true{%- else -%}false{%- endif -%}
|
|
|
|
- set_fact:
|
|
pull_args: >-
|
|
{%- if pull_by_digest|bool %}{{download.repo}}@sha256:{{download.sha256}}{%- else -%}{{download.repo}}:{{download.tag}}{%- endif -%}
|
|
|
|
- name: Register docker images info
|
|
shell: "{{ docker_bin_dir }}/docker images -q | xargs {{ docker_bin_dir }}/docker inspect -f {% raw %}'{{.RepoTags}},{{.RepoDigests}}'{% endraw %}"
|
|
register: docker_images_raw
|
|
failed_when: false
|
|
when: not download_always_pull|bool
|
|
|
|
- set_fact: docker_images="{{docker_images_raw.stdout|regex_replace('\[|\]|\\n]','')|regex_replace('\s',',')}}"
|
|
when: not download_always_pull|bool
|
|
|
|
- set_fact:
|
|
pull_required: >-
|
|
{%- if pull_args in docker_images.split(',') %}false{%- else -%}true{%- endif -%}
|
|
when: not download_always_pull|bool
|
|
|
|
- name: Check the local digest sha256 corresponds to the given image tag
|
|
assert:
|
|
that: "{{download.repo}}:{{download.tag}} in docker_images.split(',')"
|
|
when: not download_always_pull|bool and not pull_required|bool and pull_by_digest|bool
|