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:
parent
607c120f94
commit
b098abb00f
2 changed files with 44 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue