1
0
Fork 0
mirror of https://github.com/containers/ansible-podman-collections.git synced 2026-03-22 02:29:08 +00:00

Add quadlet support for Podman modules (#722)

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
This commit is contained in:
Sergey 2024-04-22 01:13:04 +03:00 committed by GitHub
parent 4591a44ef8
commit 1476ebe685
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 1790 additions and 13 deletions

View file

@ -329,6 +329,134 @@
- item.Architecture == "arm"
loop: "{{ imageinfo_arch.images }}"
- name: Create a Quadlet for image with filename
containers.podman.podman_image:
executable: "{{ test_executable | default('podman') }}"
name: quay.io/coreos/coreos-installer:latest
state: quadlet
arch: x86_64
quadlet_dir: /tmp
quadlet_filename: customfile
- name: Check if files exists
stat:
path: /tmp/customfile.image
register: quadlet_file_custom
- name: Fail if no file is present
assert:
that:
- quadlet_file_custom.stat.exists
- name: Create quadlet image file
containers.podman.podman_image:
executable: "{{ test_executable | default('podman') }}"
name: quay.io/coreos/coreos-installer:latest
state: quadlet
arch: x86_64
ca_cert_dir: /etc/docker/certs.d
username: user
password: pass
validate_certs: false
quadlet_dir: /tmp/
quadlet_options:
- "ImageTag=quay.io/coreos/coreos-installer:12345"
- "AllTags=true"
- |-
[Install]
WantedBy=default.target
- name: Check if files exists
stat:
path: /tmp/coreos-installer.image
register: quadlet_file
- name: Check output is correct for Quadlet image in /tmp/coreos-installer.image file
assert:
that:
- quadlet_file.stat.exists
- name: Check for the existence of lines in /tmp/coreos-installer.image
lineinfile:
path: /tmp/coreos-installer.image
line: "{{ item }}"
state: present
check_mode: yes
register: line_check
loop:
- "[Image]"
- "Image=quay.io/coreos/coreos-installer:latest"
- "ImageTag=quay.io/coreos/coreos-installer:12345"
- "AllTags=true"
- "WantedBy=default.target"
- "Arch=x86_64"
- "CertDir=/etc/docker/certs.d"
- "Creds=user:pass"
- "TLSVerify=false"
loop_control:
label: "{{ item }}"
- name: Fail the task if any line is not present
fail:
msg: "The following line is not present in /tmp/coreos-installer.image: {{ item.item }}"
when: item.changed
loop: "{{ line_check.results }}"
loop_control:
label: "{{ item.item }}"
- name: Create quadlet image file - same
containers.podman.podman_image:
executable: "{{ test_executable | default('podman') }}"
name: quay.io/coreos/coreos-installer:latest
state: quadlet
arch: x86_64
ca_cert_dir: /etc/docker/certs.d
username: user
password: pass
validate_certs: false
quadlet_dir: /tmp
quadlet_options:
- "ImageTag=quay.io/coreos/coreos-installer:12345"
- "AllTags=true"
- |-
[Install]
WantedBy=default.target
register: quad2
- name: Check if quadlet changed
assert:
that:
- quad2 is not changed
- name: Create quadlet image file - different
containers.podman.podman_image:
executable: "{{ test_executable | default('podman') }}"
name: quay.io/coreos/coreos-installer:latest
state: quadlet
arch: arm64
ca_cert_dir: /etc/docker/certs.d
username: user
password: pass
validate_certs: false
quadlet_dir: /tmp/
quadlet_options:
- "ImageTag=quay.io/coreos/coreos-installer:12345"
- "AllTags=true"
- |-
[Install]
WantedBy=default.target
register: quad3
- name: Print diff
debug:
var: quad3.diff
- name: Check if changed and diff
assert:
that:
- quad3 is changed
- "'arm64' in quad3.diff.after"
always:
- name: Cleanup images
containers.podman.podman_image: