mirror of
https://github.com/ansible-collections/community.docker.git
synced 2026-03-19 21:22:47 +00:00
164 lines
4.8 KiB
YAML
164 lines
4.8 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
|
|
|
|
- debug:
|
|
msg: Running tests/basic.yml
|
|
|
|
####################################################################
|
|
## Errors ##########################################################
|
|
####################################################################
|
|
- name: Test parameters with state=join
|
|
docker_swarm:
|
|
state: join
|
|
ignore_errors: true
|
|
register: output
|
|
|
|
- name: assert failure when called with state=join and no remote_addrs,join_token
|
|
assert:
|
|
that:
|
|
- 'output.failed'
|
|
- 'output.msg == "state is join but all of the following are missing: remote_addrs, join_token"'
|
|
|
|
- name: Test parameters with state=remove
|
|
docker_swarm:
|
|
state: remove
|
|
ignore_errors: true
|
|
register: output
|
|
|
|
- name: assert failure when called with state=remove and no node_id
|
|
assert:
|
|
that:
|
|
- 'output.failed'
|
|
- 'output.msg == "state is remove but all of the following are missing: node_id"'
|
|
|
|
####################################################################
|
|
## Creation ########################################################
|
|
####################################################################
|
|
|
|
- name: Create a Swarm cluster (check mode)
|
|
docker_swarm:
|
|
state: present
|
|
advertise_addr: "{{ansible_default_ipv4.address | default('127.0.0.1')}}"
|
|
check_mode: true
|
|
diff: true
|
|
register: output_1
|
|
|
|
- name: Create a Swarm cluster
|
|
docker_swarm:
|
|
state: present
|
|
advertise_addr: "{{ansible_default_ipv4.address | default('127.0.0.1')}}"
|
|
diff: true
|
|
register: output_2
|
|
|
|
- name: Create a Swarm cluster (idempotent)
|
|
docker_swarm:
|
|
state: present
|
|
advertise_addr: "{{ansible_default_ipv4.address | default('127.0.0.1')}}"
|
|
diff: true
|
|
register: output_3
|
|
|
|
- name: Create a Swarm cluster (idempotent, check mode)
|
|
docker_swarm:
|
|
state: present
|
|
advertise_addr: "{{ansible_default_ipv4.address | default('127.0.0.1')}}"
|
|
check_mode: true
|
|
diff: true
|
|
register: output_4
|
|
|
|
- name: Create a Swarm cluster (force re-create)
|
|
docker_swarm:
|
|
state: present
|
|
advertise_addr: "{{ansible_default_ipv4.address | default('127.0.0.1')}}"
|
|
force: true
|
|
diff: true
|
|
register: output_5
|
|
|
|
- name: Create a Swarm cluster (force re-create, check mode)
|
|
docker_swarm:
|
|
state: present
|
|
advertise_addr: "{{ansible_default_ipv4.address | default('127.0.0.1')}}"
|
|
force: true
|
|
check_mode: true
|
|
diff: true
|
|
register: output_6
|
|
|
|
- name: assert changed when create a new swarm cluster
|
|
assert:
|
|
that:
|
|
- 'output_1 is changed'
|
|
- 'output_1.diff.before is defined'
|
|
- 'output_1.diff.after is defined'
|
|
- 'output_2 is changed'
|
|
- 'output_2.actions[0] | regex_search("New Swarm cluster created: ")'
|
|
- 'output_2.swarm_facts.JoinTokens.Manager'
|
|
- 'output_2.swarm_facts.JoinTokens.Worker'
|
|
- 'output_2.diff.before is defined'
|
|
- 'output_2.diff.after is defined'
|
|
- 'output_3 is not changed'
|
|
- 'output_3.diff.before is defined'
|
|
- 'output_3.diff.after is defined'
|
|
- 'output_4 is not changed'
|
|
- 'output_4.diff.before is defined'
|
|
- 'output_4.diff.after is defined'
|
|
- 'output_5 is changed'
|
|
- 'output_5.diff.before is defined'
|
|
- 'output_5.diff.after is defined'
|
|
- 'output_6 is changed'
|
|
- 'output_6.diff.before is defined'
|
|
- 'output_6.diff.after is defined'
|
|
|
|
####################################################################
|
|
## Removal #########################################################
|
|
####################################################################
|
|
|
|
- name: Remove a Swarm cluster (check mode)
|
|
docker_swarm:
|
|
state: absent
|
|
force: true
|
|
check_mode: true
|
|
diff: true
|
|
register: output_1
|
|
|
|
- name: Remove a Swarm cluster
|
|
docker_swarm:
|
|
state: absent
|
|
force: true
|
|
diff: true
|
|
register: output_2
|
|
|
|
- name: Remove a Swarm cluster (idempotent)
|
|
docker_swarm:
|
|
state: absent
|
|
force: true
|
|
diff: true
|
|
register: output_3
|
|
|
|
- name: Remove a Swarm cluster (idempotent, check mode)
|
|
docker_swarm:
|
|
state: absent
|
|
force: true
|
|
check_mode: true
|
|
diff: true
|
|
register: output_4
|
|
|
|
- name: assert changed when remove a swarm cluster
|
|
assert:
|
|
that:
|
|
- 'output_1 is changed'
|
|
- 'output_1.diff.before is defined'
|
|
- 'output_1.diff.after is defined'
|
|
- 'output_2 is changed'
|
|
- 'output_2.actions[0] == "Node has left the swarm cluster"'
|
|
- 'output_2.diff.before is defined'
|
|
- 'output_2.diff.after is defined'
|
|
- 'output_3 is not changed'
|
|
- 'output_3.diff.before is defined'
|
|
- 'output_3.diff.after is defined'
|
|
- 'output_4 is not changed'
|
|
- 'output_4.diff.before is defined'
|
|
- 'output_4.diff.after is defined'
|
|
|
|
- include_tasks: cleanup.yml
|