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.5 KiB
YAML
61 lines
1.5 KiB
YAML
---
|
|
- name: Registering network name
|
|
set_fact:
|
|
nname_1: "{{ name_prefix ~ '-network-1' }}"
|
|
- name: Registering network name
|
|
set_fact:
|
|
dnetworks: "{{ dnetworks }} + [nname_1]"
|
|
|
|
####################################################################
|
|
## overlay #########################################################
|
|
####################################################################
|
|
|
|
- block:
|
|
# Overlay networks require swarm initialization before they'll work
|
|
- name: swarm
|
|
docker_swarm:
|
|
state: present
|
|
advertise_addr: "{{ansible_default_ipv4.address}}"
|
|
|
|
- name: overlay
|
|
docker_network:
|
|
name: "{{ nname_1 }}"
|
|
driver: overlay
|
|
driver_options:
|
|
com.docker.network.driver.overlay.vxlanid_list: "257"
|
|
register: overlay_1
|
|
|
|
- name: overlay (idempotency)
|
|
docker_network:
|
|
name: "{{ nname_1 }}"
|
|
driver: overlay
|
|
driver_options:
|
|
com.docker.network.driver.overlay.vxlanid_list: "257"
|
|
register: overlay_2
|
|
|
|
- name: overlay (change)
|
|
docker_network:
|
|
name: "{{ nname_1 }}"
|
|
driver: bridge
|
|
register: overlay_3
|
|
|
|
- name: cleanup network
|
|
docker_network:
|
|
name: "{{ nname_1 }}"
|
|
state: absent
|
|
force: yes
|
|
|
|
- assert:
|
|
that:
|
|
- overlay_1 is changed
|
|
- overlay_2 is not changed
|
|
- overlay_3 is changed
|
|
|
|
always:
|
|
- name: cleanup swarm
|
|
docker_swarm:
|
|
state: absent
|
|
force: yes
|
|
|
|
# Requirements for docker_swarm
|
|
when: docker_py_version is version('2.6.0', '>=') and docker_api_version is version('1.35', '>=')
|