ansible/test/integration/targets/docker_container/tasks/tests/image-ids.yml
Felix Fontein a520ca3298 docker_container, docker_image_facts: allow to use image IDs (#46324)
* Allow to specify images by hash for docker_container and docker_image_facts.

* flake8

* More sanity checks.

* Added changelog.

* Added test.

* Make compatible with Python < 3.4.

* Remove out-commented imports.
2018-10-06 08:50:31 -05:00

71 lines
1.6 KiB
YAML

---
- name: Registering container name
set_fact:
cname: "{{ cname_prefix ~ '-iid' }}"
- name: Registering container name
set_fact:
cnames: "{{ cnames }} + [cname]"
- name: Pull images
docker_image:
name: "{{ item }}"
pull: true
loop:
- "hello-world:latest"
- "alpine:3.8"
- name: Get image ID of hello-world and alpine images
docker_image_facts:
name:
- "hello-world:latest"
- "alpine:3.8"
register: image_facts
- assert:
that:
- image_facts.images | length == 2
- name: Print image IDs
debug:
msg: "hello-world: {{ image_facts.images[0].Id }}; alpine: {{ image_facts.images[1].Id }}"
- name: Create container with hello-world image via ID
docker_container:
image: "{{ image_facts.images[0].Id }}"
name: "{{ cname }}"
state: present
register: create_1
- name: Create container with hello-world image via ID (idempotent)
docker_container:
image: "{{ image_facts.images[0].Id }}"
name: "{{ cname }}"
state: present
register: create_2
- name: Create container with alpine image via ID
docker_container:
image: "{{ image_facts.images[1].Id }}"
name: "{{ cname }}"
state: present
register: create_3
- name: Create container with alpine image via ID (idempotent)
docker_container:
image: "{{ image_facts.images[1].Id }}"
name: "{{ cname }}"
state: present
register: create_4
- name: Cleanup
docker_container:
name: "{{ cname }}"
state: absent
stop_timeout: 1
- assert:
that:
- create_1 is changed
- create_2 is not changed
- create_3 is changed
- create_4 is not changed