diff --git a/plugins/modules/podman_volume.py b/plugins/modules/podman_volume.py index d74e39d..2193501 100644 --- a/plugins/modules/podman_volume.py +++ b/plugins/modules/podman_volume.py @@ -234,18 +234,21 @@ class PodmanVolumeDiff: before = self.info['options'] if 'options' in self.info else {} before = ["=".join((k, v)) for k, v in before.items()] after = self.params['options'] - # Gor UID, GID - ids = [] - if self.info['uid']: - before += ['uid=%s' % str(self.info['uid'])] - if self.info['gid']: - before += ['gid=%s' % str(self.info['gid'])] - if self.params['options']: - for opt in self.params['options']: - if 'uid=' in opt or 'gid=' in opt: - ids += opt.split("o=")[1].split(",") - after = [i for i in after if 'gid' not in i and 'uid' not in i] - after += ids + # For UID, GID + if 'uid' in self.info or 'gid' in self.info: + ids = [] + if 'uid' in self.info and self.info['uid']: + before = [i for i in before if 'uid' not in i] + before += ['uid=%s' % str(self.info['uid'])] + if 'gid' in self.info and self.info['gid']: + before = [i for i in before if 'gid' not in i] + before += ['gid=%s' % str(self.info['gid'])] + if self.params['options']: + for opt in self.params['options']: + if 'uid=' in opt or 'gid=' in opt: + ids += opt.split("o=")[1].split(",") + after = [i for i in after if 'gid' not in i and 'uid' not in i] + after += ids before, after = sorted(list(set(before))), sorted(list(set(after))) return self._diff_update_and_compare('options', before, after) diff --git a/tests/integration/targets/podman_volume/tasks/main.yml b/tests/integration/targets/podman_volume/tasks/main.yml index 669b34c..783e2eb 100644 --- a/tests/integration/targets/podman_volume/tasks/main.yml +++ b/tests/integration/targets/podman_volume/tasks/main.yml @@ -2,7 +2,7 @@ block: - name: Print podman version - command: podman version + command: "{{ podman_cmd | default('podman') }} version" - name: Generate random value for volume name set_fact: @@ -12,10 +12,12 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: absent + executable: "{{ podman_cmd | default(omit) }}" - name: Get missing volume info containers.podman.podman_volume_info: name: "{{ volume_name }}" + executable: "{{ podman_cmd | default(omit) }}" register: info ignore_errors: true @@ -27,11 +29,13 @@ - name: Create volume containers.podman.podman_volume: name: "{{ volume_name }}" + executable: "{{ podman_cmd | default(omit) }}" register: vol - name: Get existing volume info containers.podman.podman_volume_info: name: "{{ volume_name }}" + executable: "{{ podman_cmd | default(omit) }}" register: info1 - name: Check info @@ -45,6 +49,7 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: present + executable: "{{ podman_cmd | default(omit) }}" register: info2 - name: Check info @@ -59,6 +64,7 @@ label: key: val nokey: noval + executable: "{{ podman_cmd | default(omit) }}" register: info3 - name: Check info @@ -73,6 +79,7 @@ label: key: val nokey: noval + executable: "{{ podman_cmd | default(omit) }}" register: info4 - name: Check info @@ -84,6 +91,7 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: present + executable: "{{ podman_cmd | default(omit) }}" register: info5 - name: Check info @@ -98,6 +106,7 @@ options: - "device=/dev/something" - "type=ext4" + executable: "{{ podman_cmd | default(omit) }}" register: info6 - name: Check info @@ -112,6 +121,7 @@ options: - "device=/dev/something" - "type=ext4" + executable: "{{ podman_cmd | default(omit) }}" register: info7 - name: Check info @@ -123,6 +133,7 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: present + executable: "{{ podman_cmd | default(omit) }}" register: info8 - name: Check info @@ -139,6 +150,7 @@ - name: Get existing volume info containers.podman.podman_volume_info: name: "{{ volume_name }}" + executable: "{{ podman_cmd | default(omit) }}" register: info10 ignore_errors: true @@ -154,6 +166,7 @@ state: present options: - "o=uid=1001" + executable: "{{ podman_cmd | default(omit) }}" register: info11 - name: Check info @@ -167,6 +180,7 @@ state: present options: - "o=uid=1001" + executable: "{{ podman_cmd | default(omit) }}" register: info12 - name: Check info @@ -178,6 +192,7 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: present + executable: "{{ podman_cmd | default(omit) }}" register: info13 - name: Check info @@ -191,6 +206,7 @@ state: present options: - "o=gid=1001" + executable: "{{ podman_cmd | default(omit) }}" register: info14 - name: Check info @@ -204,6 +220,7 @@ state: present options: - "o=gid=1001" + executable: "{{ podman_cmd | default(omit) }}" register: info15 - name: Check info @@ -215,6 +232,7 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: present + executable: "{{ podman_cmd | default(omit) }}" register: info16 - name: Check info @@ -228,6 +246,7 @@ state: present options: - "o=gid=1002,uid=1002" + executable: "{{ podman_cmd | default(omit) }}" register: info17 - name: Check info @@ -242,6 +261,7 @@ options: - "o=uid=1002" - "o=gid=1002" + executable: "{{ podman_cmd | default(omit) }}" register: info18 - name: Check info @@ -253,6 +273,7 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: present + executable: "{{ podman_cmd | default(omit) }}" register: info19 - name: Check info @@ -265,3 +286,4 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: absent + executable: "{{ podman_cmd | default(omit) }}" diff --git a/tests/integration/targets/podman_volume_info/tasks/main.yml b/tests/integration/targets/podman_volume_info/tasks/main.yml index 9bd046d..a492c46 100644 --- a/tests/integration/targets/podman_volume_info/tasks/main.yml +++ b/tests/integration/targets/podman_volume_info/tasks/main.yml @@ -2,7 +2,7 @@ block: - name: Print podman version - command: podman version + command: "{{ podman_cmd | default('podman') }} version" - name: Generate random value for volume name set_fact: @@ -12,10 +12,12 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: absent + executable: "{{ podman_cmd | default(omit) }}" - name: Get missing volume info containers.podman.podman_volume_info: name: "{{ volume_name }}" + executable: "{{ podman_cmd | default(omit) }}" register: nonexist ignore_errors: true @@ -29,17 +31,19 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: present + executable: "{{ podman_cmd | default(omit) }}" - name: Get existing volume info containers.podman.podman_volume_info: name: "{{ volume_name }}" + executable: "{{ podman_cmd | default(omit) }}" register: existing_volume - name: Dump podman volume inspect result debug: var=existing_volume - name: Comparison with 'podman volume inspect' - command: podman volume inspect "{{ volume_name }}" + command: "{{ podman_cmd | default('podman') }} volume inspect {{ volume_name }}" register: podman_inspect - name: Convert podman inspect output to JSON @@ -50,6 +54,7 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: absent + executable: "{{ podman_cmd | default(omit) }}" - name: Make checks assert: @@ -63,3 +68,4 @@ containers.podman.podman_volume: name: "{{ volume_name }}" state: absent + executable: "{{ podman_cmd | default(omit) }}"