---
- block :
- name : Create random container name
set_fact :
cname : "{{ 'ansible-test-%0x' % ((2**32) | random) }}"
- name : Make sure container is not there
docker_container :
name : "{{ cname }}"
state : absent
force_kill : yes
- name : Inspect a non-present container
docker_container_facts :
name : "{{ cname }}"
register : result
- assert :
that :
- "not result.exists"
- "'docker_container' in result"
- "result.docker_container is none"
- name : Make sure container exists
docker_container :
name : "{{ cname }}"
image : alpine:3.8
command : '/bin/sh -c "sleep 10m"'
state : started
auto_remove : yes
force_kill : yes
- name : Inspect a present container
docker_container_facts :
name : "{{ cname }}"
register : result
- name : Dump docker_container_facts result
debug : var=result
- name : "Comparison: use 'docker inspect'"
command : docker inspect "{{ cname }}"
register : docker_inspect
- set_fact :
docker_inspect_result : "{{ docker_inspect.stdout | from_json }}"
- name : Dump docker inspect result
debug : var=docker_inspect_result
- name : Cleanup
docker_container :
name : "{{ cname }}"
state : absent
force_kill : yes
- assert :
that :
- result.exists
- "'docker_container' in result"
- "result.docker_container"
- "result.docker_container == docker_inspect_result[0]"
when : docker_py_version is version('1.8.0', '>=') and docker_api_version is version('1.20', '>=')
- fail : msg="Too old docker / docker-py version to run docker_container_facts tests!"
when : not(docker_py_version is version('1.8.0', '>=') and docker_api_version is version('1.20', '>=')) and (ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6)