1
0
Fork 0
mirror of https://github.com/containers/ansible-podman-collections.git synced 2026-04-25 10:32:41 +00:00

Fix idempotency for rootless networks from v3 (#231)

Rootless network will always have DNS enabled.
Fix #212
This commit is contained in:
Sergey 2021-04-02 02:36:40 +03:00 committed by GitHub
parent 607c120f94
commit b098abb00f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 0 deletions

View file

@ -306,6 +306,8 @@ class PodmanNetworkDiff:
internal = not self.info['plugins'][0]['isgateway']
except (IndexError, KeyError):
internal = False
# Whether network is rootless
rootless = os.geteuid() != 0
# Whether DNS plugin is installed
dns_installed = False
for f in [
@ -320,10 +322,15 @@ class PodmanNetworkDiff:
[k for k in self.info['plugins'] if 'domainname' in k])
if internal:
before = True
if rootless:
before = False
after = self.params['disable_dns']
# If dnsname plugin is not installed, default is disable_dns=True
if not dns_installed and self.module.params['disable_dns'] is None:
after = True
# Rootless networks will always have DNS enabled
if rootless and self.module.params['disable_dns'] is None:
after = False
# Internal networks have dns disabled from v3
if self.params['internal']:
after = True

View file

@ -222,3 +222,40 @@
- name: Cleanup
command: podman network rm -f {{ network_name }}
ignore_errors: true
- name: Test podman_network rootless
become: false
block:
- name: Create network
containers.podman.podman_network:
name: "{{ network_name }}"
register: net
- name: Get existing network info
containers.podman.podman_network_info:
name: "{{ network_name }}"
register: info1
- name: Check info
assert:
that:
- info1 | length > 1
- info1.networks.0.name == network_name
- net is changed
- name: Create network again
containers.podman.podman_network:
name: "{{ network_name }}"
state: present
register: info2
- name: Check info
assert:
that:
- info2 is not changed
always:
- name: Cleanup
command: podman network rm -f {{ network_name }}
ignore_errors: true