145 lines
3.5 KiB
YAML
145 lines
3.5 KiB
YAML
|
- name: Test podman_image
|
||
|
when:
|
||
|
- ansible_facts.virtualization_type != 'docker'
|
||
|
- ansible_facts.distribution == 'RedHat'
|
||
|
block:
|
||
|
- name: Pull image
|
||
|
podman_image:
|
||
|
name: quay.io/coreos/alpine-sh
|
||
|
register: pull1
|
||
|
|
||
|
- name: Pull image again
|
||
|
podman_image:
|
||
|
name: quay.io/coreos/alpine-sh
|
||
|
register: pull2
|
||
|
|
||
|
- name: List images
|
||
|
command: podman image ls
|
||
|
register: images
|
||
|
|
||
|
- name: Ensure image was pulled properly
|
||
|
assert:
|
||
|
that:
|
||
|
- pull1 is changed
|
||
|
- pull2 is not changed
|
||
|
- "'alpine-sh' in images.stdout"
|
||
|
|
||
|
- name: Remove image
|
||
|
podman_image:
|
||
|
name: quay.io/coreos/alpine-sh
|
||
|
state: absent
|
||
|
register: rmi1
|
||
|
|
||
|
- name: Remove image again
|
||
|
podman_image:
|
||
|
name: quay.io/coreos/alpine-sh
|
||
|
state: absent
|
||
|
register: rmi2
|
||
|
|
||
|
- name: List images
|
||
|
command: podman image ls
|
||
|
register: images
|
||
|
|
||
|
- name: Ensure image was removed properly
|
||
|
assert:
|
||
|
that:
|
||
|
- rmi1 is changed
|
||
|
- rmi2 is not changed
|
||
|
- "'alpine-sh' not in images.stdout"
|
||
|
|
||
|
- name: Pull a specific version of an image
|
||
|
podman_image:
|
||
|
name: quay.io/coreos/etcd
|
||
|
tag: v3.3.11
|
||
|
register: specific_image1
|
||
|
|
||
|
- name: Pull a specific version of an image again
|
||
|
podman_image:
|
||
|
name: quay.io/coreos/etcd
|
||
|
tag: v3.3.11
|
||
|
register: specific_image2
|
||
|
|
||
|
- name: List images
|
||
|
command: podman image ls
|
||
|
register: images
|
||
|
|
||
|
- name: Ensure specific image was pulled properly
|
||
|
assert:
|
||
|
that:
|
||
|
- specific_image1 is changed
|
||
|
- specific_image2 is not changed
|
||
|
- "'v3.3.11' in images.stdout"
|
||
|
|
||
|
- name: Create a build dir
|
||
|
file:
|
||
|
path: /var/tmp/build
|
||
|
state: directory
|
||
|
|
||
|
- name: Copy Containerfile
|
||
|
copy:
|
||
|
src: Containerfile
|
||
|
dest: /var/tmp/build/Dockerfile
|
||
|
|
||
|
- name: Build OCI image
|
||
|
podman_image:
|
||
|
name: testimage
|
||
|
path: /var/tmp/build
|
||
|
register: oci_build1
|
||
|
|
||
|
- name: Build OCI image again
|
||
|
podman_image:
|
||
|
name: testimage
|
||
|
path: /var/tmp/build
|
||
|
register: oci_build2
|
||
|
|
||
|
- name: Inspect build image
|
||
|
podman_image_info:
|
||
|
name: testimage
|
||
|
register: testimage_info
|
||
|
|
||
|
- name: Ensure OCI image was built properly
|
||
|
assert:
|
||
|
that:
|
||
|
- oci_build1 is changed
|
||
|
- oci_build2 is not changed
|
||
|
- "'localhost/testimage:latest' in testimage_info.images[0]['RepoTags'][0]"
|
||
|
|
||
|
- name: Build Docker image
|
||
|
podman_image:
|
||
|
name: dockerimage
|
||
|
path: /var/tmp/build
|
||
|
build:
|
||
|
format: docker
|
||
|
register: docker_build1
|
||
|
|
||
|
- name: Build Docker image again
|
||
|
podman_image:
|
||
|
name: dockerimage
|
||
|
path: /var/tmp/build
|
||
|
build:
|
||
|
format: docker
|
||
|
register: docker_build2
|
||
|
|
||
|
- name: Inspect build image
|
||
|
podman_image_info:
|
||
|
name: dockerimage
|
||
|
register: dockerimage_info
|
||
|
|
||
|
- name: Ensure Docker image was built properly
|
||
|
assert:
|
||
|
that:
|
||
|
- docker_build1 is changed
|
||
|
- docker_build2 is not changed
|
||
|
- "'localhost/dockerimage:latest' in dockerimage_info.images[0]['RepoTags'][0]"
|
||
|
|
||
|
always:
|
||
|
- name: Cleanup images
|
||
|
podman_image:
|
||
|
name: "{{ item }}"
|
||
|
state: absent
|
||
|
loop:
|
||
|
- quay.io/coreos/alpine-sh
|
||
|
- quay.io/coreos/etcd:v3.3.11
|
||
|
- localhost/testimage
|
||
|
- localhost/dockerimage
|