mirror of
https://github.com/containers/ansible-podman-collections.git
synced 2026-03-22 02:29:08 +00:00
podman_image: reuse existing results in present() (#109)
* podman_image: reuse existing results in present()
This commit is contained in:
parent
9bc1233a73
commit
95baa8faae
2 changed files with 56 additions and 6 deletions
|
|
@ -457,14 +457,15 @@ class PodmanImageManager(object):
|
||||||
# Build the image
|
# Build the image
|
||||||
self.results['actions'].append('Built image {image_name} from {path}'.format(image_name=self.image_name, path=self.path))
|
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:
|
if not self.module.check_mode:
|
||||||
self.results['image'] = self.build_image()
|
image = self.results['image'] = self.build_image()
|
||||||
else:
|
else:
|
||||||
# Pull the image
|
# Pull the image
|
||||||
self.results['actions'].append('Pulled image {image_name}'.format(image_name=self.image_name))
|
self.results['actions'].append('Pulled image {image_name}'.format(image_name=self.image_name))
|
||||||
if not self.module.check_mode:
|
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'))
|
digest_after = image[0].get('Digest', image[0].get('digest'))
|
||||||
self.results['changed'] = digest_before != digest_after
|
self.results['changed'] = digest_before != digest_after
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,18 +10,45 @@
|
||||||
name: quay.io/coreos/alpine-sh
|
name: quay.io/coreos/alpine-sh
|
||||||
register: pull2
|
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
|
- name: List images
|
||||||
command: podman image ls
|
command: podman image ls
|
||||||
register: images
|
register: images
|
||||||
|
|
||||||
- name: Ensure image was pulled properly
|
- name: Ensure image were pulled properly
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- pull1 is changed
|
- pull1 is changed
|
||||||
- pull2 is not changed
|
- pull2 is not changed
|
||||||
|
- pull3 is changed
|
||||||
|
- pull4 is changed
|
||||||
|
- pull5 is not changed
|
||||||
- "'alpine-sh' in images.stdout"
|
- "'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:
|
containers.podman.podman_image:
|
||||||
name: quay.io/coreos/alpine-sh
|
name: quay.io/coreos/alpine-sh
|
||||||
state: absent
|
state: absent
|
||||||
|
|
@ -33,16 +60,38 @@
|
||||||
state: absent
|
state: absent
|
||||||
register: rmi2
|
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
|
- name: List images
|
||||||
command: podman image ls
|
command: podman image ls
|
||||||
register: images
|
register: images
|
||||||
|
|
||||||
- name: Ensure image was removed properly
|
- name: Ensure image were removed properly
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- rmi1 is changed
|
- rmi1 is changed
|
||||||
- rmi2 is not changed
|
- rmi2 is not changed
|
||||||
|
- rmi3 is changed
|
||||||
|
- rmi4 is not changed
|
||||||
|
- rmi5 is changed
|
||||||
- "'alpine-sh' not in images.stdout"
|
- "'alpine-sh' not in images.stdout"
|
||||||
|
- "'library/alpine' not in images.stdout"
|
||||||
|
|
||||||
- name: Pull a specific version of an image
|
- name: Pull a specific version of an image
|
||||||
containers.podman.podman_image:
|
containers.podman.podman_image:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue