Skip to content

Commit

Permalink
podman_image: reuse existing results in present() (#109)
Browse files Browse the repository at this point in the history
* podman_image: reuse existing results in present()
  • Loading branch information
cfelder committed Nov 8, 2020
1 parent 9bc1233 commit 95baa8f
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 6 deletions.
7 changes: 4 additions & 3 deletions plugins/modules/podman_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,14 +457,15 @@ def present(self):
# Build the image
self.results['actions'].append('Built image {image_name} from {path}'.format(image_name=self.image_name, path=self.path))
if not self.module.check_mode:
self.results['image'] = self.build_image()
image = self.results['image'] = self.build_image()
else:
# Pull the image
self.results['actions'].append('Pulled image {image_name}'.format(image_name=self.image_name))
if not self.module.check_mode:
self.results['image'] = self.pull_image()
image = self.results['image'] = self.pull_image()

image = self.find_image()
if not image:
image = self.find_image()
digest_after = image[0].get('Digest', image[0].get('digest'))
self.results['changed'] = digest_before != digest_after

Expand Down
55 changes: 52 additions & 3 deletions tests/integration/targets/podman_image/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,45 @@
name: quay.io/coreos/alpine-sh
register: pull2

- name: Pull image from docker.io with short url
containers.podman.podman_image:
name: docker.io/alpine
register: pull3

- name: Pull image from docker.io with short url again
containers.podman.podman_image:
name: docker.io/alpine
register: pull4

- name: Pull image from docker.io with official/normalised url again
containers.podman.podman_image:
name: docker.io/library/alpine
register: pull5

- name: List images
command: podman image ls
register: images

- name: Ensure image was pulled properly
- name: Ensure image were pulled properly
assert:
that:
- pull1 is changed
- pull2 is not changed
- pull3 is changed
- pull4 is changed
- pull5 is not changed
- "'alpine-sh' in images.stdout"
- "'library/alpine' in images.stdout"

- name: Remove image
- name: add another tag (repository url)
command:
argv:
- podman
- tag
- quay.io/coreos/alpine-sh
- quay.io/coreos/library/alpine-sh

- name: Remove image (tag)
containers.podman.podman_image:
name: quay.io/coreos/alpine-sh
state: absent
Expand All @@ -33,16 +60,38 @@
state: absent
register: rmi2

- name: Remove image using new repository url
containers.podman.podman_image:
name: quay.io/coreos/library/alpine-sh
state: absent
register: rmi3

- name: Try to remove docker.io image using short url
containers.podman.podman_image:
name: docker.io/alpine
state: absent
register: rmi4

- name: Remove docker.io image using normalised url
containers.podman.podman_image:
name: docker.io/library/alpine
state: absent
register: rmi5

- name: List images
command: podman image ls
register: images

- name: Ensure image was removed properly
- name: Ensure image were removed properly
assert:
that:
- rmi1 is changed
- rmi2 is not changed
- rmi3 is changed
- rmi4 is not changed
- rmi5 is changed
- "'alpine-sh' not in images.stdout"
- "'library/alpine' not in images.stdout"

- name: Pull a specific version of an image
containers.podman.podman_image:
Expand Down

0 comments on commit 95baa8f

Please sign in to comment.