Improve idempotency of podman_container
Make image comparing more readable
If 'command' is not set, don't compare it with current,
assume it's empty.
Change-Id: I935c617b242fb955ed08ed492bbd09e7f3f4fd4c
(cherry picked from commit fe6d3d4721
)
This commit is contained in:
parent
ec4351c566
commit
b750574710
|
@ -1397,6 +1397,8 @@ class PodmanContainerDiff:
|
|||
return self._diff_update_and_compare('cidfile', before, after)
|
||||
|
||||
def diffparam_command(self):
|
||||
# TODO(sshnaidm): to inspect image to get the default command
|
||||
if self.module.params['command'] is not None:
|
||||
before = self.info['config']['cmd']
|
||||
after = self.params['command']
|
||||
if isinstance(after, str):
|
||||
|
@ -1404,6 +1406,7 @@ class PodmanContainerDiff:
|
|||
elif isinstance(after, list):
|
||||
after = [i.lower() for i in after]
|
||||
return self._diff_update_and_compare('command', before, after)
|
||||
return False
|
||||
|
||||
def diffparam_conmon_pidfile(self):
|
||||
before = self.info['conmonpidfile']
|
||||
|
@ -1515,14 +1518,17 @@ class PodmanContainerDiff:
|
|||
return self._diff_update_and_compare('hostname', before, after)
|
||||
|
||||
def diffparam_image(self):
|
||||
before = self.info['config']['image'].replace(
|
||||
"docker.io/library/", "").replace(
|
||||
"docker.io/", "").replace(
|
||||
":latest", "")
|
||||
after = self.params['image'].replace(
|
||||
"docker.io/library/", "").replace(
|
||||
"docker.io/", "").replace(
|
||||
":latest", "")
|
||||
# TODO(sshnaidm): for strict image compare use SHAs
|
||||
before = self.info['config']['image']
|
||||
after = self.params['image']
|
||||
strip_from_name = [
|
||||
"docker.io/library/",
|
||||
"docker.io/",
|
||||
":latest",
|
||||
]
|
||||
for repl in strip_from_name:
|
||||
before = before.replace(repl, "")
|
||||
after = after.replace(repl, "")
|
||||
return self._diff_update_and_compare('image', before, after)
|
||||
|
||||
def diffparam_ipc(self):
|
||||
|
|
|
@ -327,14 +327,14 @@
|
|||
- name: Check basic idempotency of running container
|
||||
podman_container:
|
||||
name: testidem
|
||||
image: alpine
|
||||
image: docker.io/alpine
|
||||
state: present
|
||||
command: sleep 20m
|
||||
|
||||
- name: Check basic idempotency of running container - run it again
|
||||
podman_container:
|
||||
name: testidem
|
||||
image: alpine
|
||||
image: alpine:latest
|
||||
state: present
|
||||
command: sleep 20m
|
||||
register: idem
|
||||
|
|
Loading…
Reference in New Issue