Add docker_container_facts module. (#48062)

This commit is contained in:
Felix Fontein
2018-11-06 16:08:28 +01:00
committed by John R Barker
parent 8c9070ec05
commit 602d02be5f
4 changed files with 210 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
shippable/posix/group2
skip/osx
skip/freebsd
destructive

View File

@@ -0,0 +1,3 @@
---
dependencies:
- setup_docker

View File

@@ -0,0 +1,62 @@
---
- 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
stop_timeout: 1
- name: Inspect a non-present container
docker_container_facts:
name: "{{ cname }}"
register: result
- assert:
that:
- "not result.exists"
- "'docker_container' in result"
- "not result.docker_container"
- name: Make sure container exists
docker_container:
name: "{{ cname }}"
image: alpine:3.8
command: '/bin/sh -c "sleep 10m"'
state: started
auto_remove: yes
stop_timeout: 1
- 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
stop_timeout: 1
- assert:
that:
- result.exists
- "'docker_container' in result"
- "result.docker_container"
- "result.docker_container == docker_inspect_result[0]"
# Skip for CentOS 6
when: ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6