diff --git a/plugins/module_utils/podman/podman_container_lib.py b/plugins/module_utils/podman/podman_container_lib.py index 11304ff..8d21cbc 100644 --- a/plugins/module_utils/podman/podman_container_lib.py +++ b/plugins/module_utils/podman/podman_container_lib.py @@ -1436,7 +1436,20 @@ class PodmanContainerDiff: return self._diff_update_and_compare('tty', before, after) def diffparam_tmpfs(self): - return self._diff_generic('tmpfs', '--tmpfs') + before = createcommand("--tmpfs", self.info["config"]) + if before == []: + before = None + after = self.params['tmpfs'] + if before is None and after is None: + return self._diff_update_and_compare('tmpfs', before, after) + if after is not None: + after = ",".join(sorted( + [str(k).lower() + ":" + str(v).lower() for k, v in after.items() if v is not None])) + if before: + before = ",".join(sorted([j.lower() for j in before])) + else: + before = '' + return self._diff_update_and_compare('tmpfs', before, after) def diffparam_uidmap(self): return self._diff_generic('uidmap', '--uidmap') diff --git a/tests/integration/targets/podman_container_idempotency/tasks/idem_all.yml b/tests/integration/targets/podman_container_idempotency/tasks/idem_all.yml index 91eec8a..af0bc43 100644 --- a/tests/integration/targets/podman_container_idempotency/tasks/idem_all.yml +++ b/tests/integration/targets/podman_container_idempotency/tasks/idem_all.yml @@ -483,6 +483,72 @@ assert: that: test32 is changed +- name: Run container without tmpfs mount + containers.podman.podman_container: + executable: "{{ test_executable | default('podman') }}" + image: "{{ idem_image }}" + name: idempotency + state: present + register: test33 + +- name: Run container with tmpfs mount + containers.podman.podman_container: + executable: "{{ test_executable | default('podman') }}" + image: "{{ idem_image }}" + name: idempotency + state: present + tmpfs: + "/var/cache": "rw,size=512M" + register: test34 + +- name: Check container with tmpfs mount + assert: + that: + - test34 is changed + +- name: Run container with tmpfs mount again + containers.podman.podman_container: + executable: "{{ test_executable | default('podman') }}" + image: "{{ idem_image }}" + name: idempotency + state: present + tmpfs: + "/var/cache": "rw,size=512M" + register: test35 + +- name: Check container with tmpfs mount again + assert: + that: + - test35 is not changed + +- name: Run container with different tmpfs mount + containers.podman.podman_container: + executable: "{{ test_executable | default('podman') }}" + image: "{{ idem_image }}" + name: idempotency + state: present + tmpfs: + "/var/cache": "rw,size=256M" + register: test36 + +- name: Check container with different tmpfs mount + assert: + that: + - test36 is changed + +- name: Run container without tmpfs mount + containers.podman.podman_container: + executable: "{{ test_executable | default('podman') }}" + image: "{{ idem_image }}" + name: idempotency + state: present + register: test37 + +- name: Check container without tmpfs mount + assert: + that: + - test37 is changed + - name: Remove dependent test container containers.podman.podman_container: executable: "{{ test_executable | default('podman') }}"