2020-03-09 10:11:07 +01:00
---
2020-09-25 09:04:59 +02:00
####################################################################
# WARNING: These are designed specifically for Ansible tests #
# and should not be used as examples of how to write Ansible roles #
####################################################################
2020-03-09 10:11:07 +01:00
- 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_info :
name : "{{ cname }}"
register : result
- assert :
that :
- "not result.exists"
- "'container' in result"
- "result.container is none"
- name : Make sure container exists
docker_container :
name : "{{ cname }}"
image : alpine:3.8
command : '/bin/sh -c "sleep 10m"'
state : started
force_kill : yes
- name : Inspect a present container
docker_container_info :
name : "{{ cname }}"
register : result
- name : Dump docker_container_info result
debug : var=result
- name : "Comparison: use 'docker inspect'"
command : docker inspect "{{ cname }}"
register : docker_inspect
2020-05-20 08:40:04 +02:00
ignore_errors : yes
- block :
- set_fact :
docker_inspect_result : "{{ docker_inspect.stdout | from_json }}"
- name : Dump docker inspect result
debug : var=docker_inspect_result
when : docker_inspect is not failed
2020-03-09 10:11:07 +01:00
- assert :
that :
- result.exists
- "'container' in result"
- "result.container"
2020-05-20 08:40:04 +02:00
- assert :
that :
2020-03-09 10:11:07 +01:00
- "result.container == docker_inspect_result[0]"
2020-05-20 08:40:04 +02:00
when : docker_inspect is not failed
- assert :
that :
- "'is too new. Maximum supported API version is' in docker_inspect.stderr"
when : docker_inspect is failed
2020-03-09 10:11:07 +01:00
always :
- name : Cleanup
docker_container :
name : "{{ cname }}"
state : absent
force_kill : yes
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_info 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)