mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
3bb41ccb8e
* Check minimal API and docker-py versions for all docker_* tests. * Improve docker_swarm creation/destruction for tests. * Fail when conditions aren't met. * Don't hardcode address for advertise_addr.
61 lines
1.6 KiB
YAML
61 lines
1.6 KiB
YAML
---
|
|
- block:
|
|
- name: Make sure we're not already using Docker swarm
|
|
docker_swarm:
|
|
state: absent
|
|
force: true
|
|
|
|
- name: Test parameters with state=join
|
|
docker_swarm:
|
|
state: join
|
|
ignore_errors: yes
|
|
register: output
|
|
|
|
- name: assert failure when called with state=join and no advertise_addr,remote_addrs,join_token
|
|
assert:
|
|
that:
|
|
- 'output.failed'
|
|
- 'output.msg == "state is join but all of the following are missing: advertise_addr, remote_addrs, join_token"'
|
|
|
|
- name: Test parameters with state=remove
|
|
docker_swarm:
|
|
state: remove
|
|
ignore_errors: yes
|
|
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"'
|
|
|
|
- name: Create a Swarm cluster
|
|
docker_swarm:
|
|
state: present
|
|
register: output
|
|
|
|
- name: assert changed when create a new swarm cluster
|
|
assert:
|
|
that:
|
|
- 'output.changed'
|
|
- 'output.actions[0] | regex_search("New Swarm cluster created: ")'
|
|
- 'output.swarm_facts.JoinTokens.Manager'
|
|
- 'output.swarm_facts.JoinTokens.Worker'
|
|
|
|
- name: Remove a Swarm cluster
|
|
docker_swarm:
|
|
state: absent
|
|
force: true
|
|
register: output
|
|
|
|
- name: assert changed when remove a swarm cluster
|
|
assert:
|
|
that:
|
|
- 'output.changed'
|
|
- 'output.actions[0] == "Node has leaved the swarm cluster"'
|
|
|
|
always:
|
|
- name: Cleanup
|
|
docker_swarm:
|
|
state: absent
|
|
force: true
|