ansible/test/integration/targets/docker_swarm/tasks/test_swarm.yml
Felix Fontein a96efa43f0 docker_* tests: check API version (#48620)
* 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.

(cherry picked from commit 3bb41ccb8e)
2018-11-19 11:52:03 -08:00

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