Add 'ingress' option to docker_network module (#999)

* Add 'ingress' option to docker_network module

* sanity fixes

* add changelog fragment

* Update plugins/modules/docker_network.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/999-add-ingress-option-to-docker_network-module.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/docker_network.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* move 'ingress' tests to overlay.yml

* move Sworm init and Swarm cleanup to block

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
Maksim Vorobyev
2024-12-04 23:39:09 +03:00
committed by GitHub
parent d8548ef55f
commit e19812917d
3 changed files with 84 additions and 7 deletions
@@ -10,10 +10,6 @@
set_fact:
dnetworks: "{{ dnetworks + [nname_1] }}"
####################################################################
## overlay #########################################################
####################################################################
- block:
# Overlay networks require swarm initialization before they'll work
- name: swarm
@@ -21,6 +17,10 @@
state: present
advertise_addr: "{{ ansible_default_ipv4.address | default('127.0.0.1') }}"
####################################################################
## overlay #########################################################
####################################################################
- name: overlay
docker_network:
name: "{{ nname_1 }}"
@@ -55,6 +55,48 @@
- overlay_2 is not changed
- overlay_3 is changed
####################################################################
## ingress #########################################################
####################################################################
- name: cleanup default swarm ingress network
docker_network:
name: ingress
state: absent
- name: ingress
docker_network:
name: "{{ nname_1 }}"
driver: overlay
ingress: true
register: ingress_1
- name: ingress (idempotency)
docker_network:
name: "{{ nname_1 }}"
driver: overlay
ingress: true
register: ingress_2
- name: ingress (change)
docker_network:
name: "{{ nname_1 }}"
driver: overlay
ingress: false
register: ingress_3
- name: cleanup network
docker_network:
name: "{{ nname_1 }}"
state: absent
force: true
- assert:
that:
- ingress_1 is changed
- ingress_2 is not changed
- ingress_3 is changed
always:
- name: cleanup swarm
docker_swarm: