mirror of
https://github.com/ansible-collections/community.docker.git
synced 2025-12-15 19:42:06 +00:00
85 lines
2.4 KiB
YAML
85 lines
2.4 KiB
YAML
---
|
|
# Copyright (c) Ansible Project
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
####################################################################
|
|
# WARNING: These are designed specifically for Ansible tests #
|
|
# and should not be used as examples of how to write Ansible roles #
|
|
####################################################################
|
|
|
|
- block:
|
|
- name: Create random container name
|
|
set_fact:
|
|
cname: "{{ 'ansible-docker-test-%0x' % ((2**32) | random) }}"
|
|
|
|
- name: Make sure container is not there
|
|
docker_container:
|
|
name: "{{ cname }}"
|
|
state: absent
|
|
force_kill: true
|
|
|
|
- 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: "{{ docker_test_image_alpine }}"
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
state: started
|
|
force_kill: true
|
|
|
|
- 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
|
|
ignore_errors: true
|
|
- 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
|
|
|
|
- assert:
|
|
that:
|
|
- result.exists
|
|
- "'container' in result"
|
|
- "result.container is truthy"
|
|
|
|
- assert:
|
|
that:
|
|
- "result.container == docker_inspect_result[0]"
|
|
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
|
|
|
|
always:
|
|
- name: Cleanup
|
|
docker_container:
|
|
name: "{{ cname }}"
|
|
state: absent
|
|
force_kill: true
|
|
|
|
when: docker_api_version is version('1.25', '>=')
|
|
|
|
- fail: msg="Too old docker / docker-py version to run docker_container_info tests!"
|
|
when: not(docker_api_version is version('1.25', '>=')) and (ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6)
|