mirror of
https://github.com/ansible-collections/community.docker.git
synced 2026-03-20 13:37:49 +00:00
122 lines
3.5 KiB
YAML
122 lines
3.5 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
|
|
|
|
- name: Registering container name
|
|
set_fact:
|
|
cname: "{{ cname_prefix ~ '-hi' }}"
|
|
- name: Registering container name
|
|
set_fact:
|
|
cnames: "{{ cnames + [cname] }}"
|
|
|
|
- name: Get current context
|
|
community.docker.docker_context_info:
|
|
only_current: true
|
|
register: docker_current_context
|
|
|
|
- assert:
|
|
that:
|
|
- docker_current_context is not changed
|
|
# Some of the following tests will not be true on all machines, but they should be in CI:
|
|
- docker_current_context.current_context_name == 'default'
|
|
- docker_current_context.contexts | length == 1
|
|
- docker_current_context.contexts[0].name == 'default'
|
|
- docker_current_context.contexts[0].current == true
|
|
- docker_current_context.contexts[0].description == 'Current DOCKER_HOST based configuration'
|
|
- docker_current_context.contexts[0].meta_path is none
|
|
- docker_current_context.contexts[0].tls_path is none
|
|
- docker_current_context.contexts[0].config.docker_host == 'unix:///var/run/docker.sock'
|
|
- docker_current_context.contexts[0].config.tls == false
|
|
|
|
- name: Run community.docker modules with current context
|
|
module_defaults:
|
|
group/community.docker.docker: "{{ docker_current_context.contexts[0].config }}"
|
|
block:
|
|
- name: Create container
|
|
docker_container:
|
|
image: "{{ docker_test_image_alpine }}"
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: present
|
|
register: create_1
|
|
|
|
- name: Create container (idempotent)
|
|
docker_container:
|
|
image: "{{ docker_test_image_alpine }}"
|
|
command: '/bin/sh -c "sleep 10m"'
|
|
name: "{{ cname }}"
|
|
state: present
|
|
register: create_2
|
|
|
|
- assert:
|
|
that:
|
|
- create_1 is changed
|
|
- create_2 is not changed
|
|
|
|
- name: Inspect container with CLI tool
|
|
ansible.builtin.command:
|
|
cmd: docker inspect {{ cname }}
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- (result.stdout | from_json) | length == 1
|
|
- (result.stdout | from_json)[0].State.Status == "created"
|
|
|
|
- name: Start container
|
|
docker_container:
|
|
name: "{{ cname }}"
|
|
state: started
|
|
register: start_1
|
|
|
|
- name: Start container (idempotent)
|
|
docker_container:
|
|
name: "{{ cname }}"
|
|
state: started
|
|
register: start_2
|
|
|
|
- assert:
|
|
that:
|
|
- start_1 is changed
|
|
- start_2 is not changed
|
|
|
|
- name: Inspect container with CLI tool
|
|
ansible.builtin.command:
|
|
cmd: docker inspect {{ cname }}
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- (result.stdout | from_json) | length == 1
|
|
- (result.stdout | from_json)[0].State.Status == "running"
|
|
|
|
- name: Remove container
|
|
docker_container:
|
|
name: "{{ cname }}"
|
|
state: absent
|
|
force_kill: true
|
|
register: remove_1
|
|
|
|
- name: Remove container (idempotent)
|
|
docker_container:
|
|
name: "{{ cname }}"
|
|
state: absent
|
|
force_kill: true
|
|
register: remove_2
|
|
|
|
- assert:
|
|
that:
|
|
- remove_1 is changed
|
|
- remove_2 is not changed
|
|
|
|
- name: Inspect container with CLI tool
|
|
ansible.builtin.command:
|
|
cmd: docker inspect {{ cname }}
|
|
register: result
|
|
failed_when: result.rc != 1
|
|
|
|
- assert:
|
|
that:
|
|
- (result.stdout | from_json) | length == 0
|