1
0
Fork 0
mirror of https://github.com/containers/ansible-podman-collections.git synced 2026-02-04 07:11:49 +00:00
ansible-podman-collections/tests/integration/targets/podman_pod/tasks/main.yml
Sergey 4e0cdb35b7
Add new 6 version in CI (#989)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-11-12 17:30:51 +02:00

1188 lines
32 KiB
YAML

- name: Test podman pod
block:
- name: Discover podman version
shell: podman version | grep "^Version:" | awk {'print $2'}
register: podman_v
- name: Set podman version to 1
set_fact:
podman_version: 1
when: podman_v.stdout is version('2.0.0', 'lt')
- name: Set podman version to 2
set_fact:
podman_version: 2
when: podman_v.stdout is version('2.0.0', '>=')
- name: Set podman version to 3
set_fact:
podman_version: 3
when: podman_v.stdout is version('3.0.0', '>=')
- name: Set podman version to 4
set_fact:
podman_version: 4
when: podman_v.stdout is version('4.0.0', '>=')
- name: Set podman version to 5
set_fact:
podman_version: 5
when: podman_v.stdout is version('5.0.0', '>=')
- name: Set podman version to 6
set_fact:
podman_version: 6
when: podman_v.stdout is version('6.0.0', '>=')
- name: Discover cgroups version
shell: podman info | grep cgroupVersion | awk {'print $2'}
register: cgroups
- name: Set cgroups version
set_fact:
cgroups_version: "{{ cgroups.stdout }}"
- name: Delete all pods leftovers from tests
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: "{{ item }}"
state: absent
loop:
- "pod1"
- "pod2"
- name: Delete all container leftovers from tests
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: "{{ item }}"
state: absent
loop:
- "container1"
- "container2"
- name: Create pod
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: created
register: pod1_info
- name: Check info
assert:
that:
- >-
(pod1_info.pod['State']['status'] is defined and
pod1_info.pod['State']['status'] == 'Created') or
(pod1_info.pod['State']['status'] is not defined and
pod1_info.pod['State'] == 'Created')
- name: Start pod
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
register: pod2_info
- name: Check info
assert:
that:
- >-
(pod2_info.pod['State']['status'] is defined and
pod2_info.pod['State']['status'] == 'Running') or
(pod2_info.pod['State']['status'] is not defined and
pod2_info.pod['State'] == 'Running')
# - name: Pause pod
# containers.podman.podman_pod:
# executable: "{{ test_executable | default('podman') }}"
# name: pod1
# state: paused
# register: pod3_info
# when: cgroups_version == 'v2'
# - name: Check info
# assert:
# that:
# - >-
# (pod3_info.pod['State']['status'] is defined and
# pod3_info.pod['State']['status'] == 'Paused') or
# (pod3_info.pod['State']['status'] is not defined and
# pod3_info.pod['State'] == 'Paused')
# when: cgroups_version == 'v2'
# - name: Unpause pod
# containers.podman.podman_pod:
# executable: "{{ test_executable | default('podman') }}"
# name: pod1
# state: unpaused
# register: pod4_info
# when: cgroups_version == 'v2'
# - name: Check info
# assert:
# that:
# - >-
# (pod4_info.pod['State']['status'] is defined and
# pod4_info.pod['State']['status'] == 'Running') or
# (pod4_info.pod['State']['status'] is not defined and
# pod4_info.pod['State'] == 'Running')
# when: cgroups_version == 'v2'
- name: Stop pod
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: stopped
register: pod5_info
- name: Check info
assert:
that:
- >-
(pod5_info.pod['State']['status'] is defined and
pod5_info.pod['State']['status'] != 'Running') or
(pod5_info.pod['State']['status'] is not defined and
pod5_info.pod['State'] != 'Running')
- name: Stop non-existing pod
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod-notexist
state: stopped
register: pod5a_info
ignore_errors: true
- name: Check info
assert:
that:
- pod5a_info is failed
- name: Kill pod
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: killed
register: pod6_info
- name: Check info
assert:
that:
- >-
(pod6_info.pod['State']['status'] is defined and
pod6_info.pod['State']['status'] == 'Exited') or
(pod6_info.pod['State']['status'] is not defined and
pod6_info.pod['State'] == 'Exited')
when: podman_version < 5
- name: Start pod
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
register: pod7_info
- name: Check info
assert:
that:
- >-
(pod7_info.pod['State']['status'] is defined and
pod7_info.pod['State']['status'] == 'Running') or
(pod7_info.pod['State']['status'] is not defined and
pod7_info.pod['State'] == 'Running')
- name: Start pod again for idempotency
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
register: pod8_info
- name: Check info
assert:
that:
- pod8_info is not changed
- name: Restart pod
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: restarted
register: pod121_info
- name: Check info
assert:
that:
- pod121_info is changed
- name: Stop pod before restart
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: stopped
- name: Restart stopped pod
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: restarted
register: pod122_info
- name: Check info
assert:
that:
- pod122_info is changed
- name: Stop pod with additional config
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: stopped
ports:
- 9484:9483
register: pod123_info
- name: Check info
assert:
that:
- pod123_info is changed
- '"podman pod rm -f pod1" not in pod123_info.podman_actions'
- name: Start pod with ports
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
ports:
- "4444:4444/tcp"
- "1212:5555"
- "8888:19191/udp"
- "1901:1901/udp"
- "127.0.0.1:7671:7676/udp"
- "127.0.0.1:12122:8876/udp"
- "127.0.0.1:13122:8871/tcp"
- "127.0.0.1:43423:8872"
register: pod9_info
- name: Check info
assert:
that:
- pod9_info is changed
- name: Start pod with ports for idempotency
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
ports:
- "4444:4444/tcp"
- "1212:5555"
- "8888:19191/udp"
- "1901:1901/udp"
- "127.0.0.1:7671:7676/udp"
- "127.0.0.1:12122:8876/udp"
- "127.0.0.1:13122:8871/tcp"
- "127.0.0.1:43423:8872"
register: pod10_info
- name: Check info
assert:
that:
- pod10_info is not changed
- name: Start pod again for idempotency
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
register: pod11_info
- name: Check info
assert:
that:
- pod11_info is changed
- name: Start pod with share
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
share: uts
register: pod12_info
- name: Check info
assert:
that:
- pod12_info is changed
- name: Start pod with share for idempotency
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
share: uts
register: pod13_info
- name: Check info
assert:
that:
- pod13_info is not changed
- name: Start pod with default shares
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
register: pod15_info
- name: Check info
assert:
that:
- pod15_info is changed
- name: Start pod with gidmap and uidmap
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
uidmap: 0:100:65536
gidmap: 0:100:65536
state: created
register: pod15_a_info
- name: Check info
assert:
that:
- pod15_a_info is changed
- name: Start pod with gidmap and uidmap for idempotency
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
uidmap: 0:100:65536
gidmap: 0:100:65536
state: created
register: pod15_b_info
- name: Check info
assert:
that:
- pod15_b_info is not changed
# Reset the namespace check.
# This is because changing from `uidmap/gidmap` to `userns` does not
# report a difference currently
- name: Start pod without uidmap to reset
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: created
register: pod15_c_info
- name: Check info
assert:
that:
- pod15_c_info is changed
- name: Start pod with userns
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
userns: auto
state: created
register: pod_userns_a_info
- name: Check info
assert:
that:
- pod_userns_a_info is changed
- name: Start pod with userns for idempotency
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
userns: auto
state: created
register: pod_userns_b_info
- name: Check info
assert:
that:
- pod_userns_b_info is not changed
- name: Start pod with labels
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
label:
key: cval
otherkey: kddkdk
somekey: someval
register: pod16_info
- name: Check info
assert:
that:
- pod16_info is changed
- name: Start pod with labels again for idempotency
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
label:
key: cval
otherkey: kddkdk
somekey: someval
register: pod17_info
- name: Check info
assert:
that:
- pod17_info is not changed
- name: Start pod with different labels
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
label:
key: cval
otherkey: 23434dfsd
somekey: someval
register: pod18_info
- name: Check info
assert:
that:
- pod18_info is changed
- name: Start pod without labels
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
register: pod19_info
- name: Check info
assert:
that:
- pod19_info is changed
- name: Start pod with dns and hosts settings
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.1"
dns:
- 1.1.1.1
dns_opt:
- "option timeout:3"
dns_search:
- "redhat.com"
- "ibm.com"
hostname: happypod
register: pod20_info
- name: Check info
assert:
that:
- pod20_info is changed
- name: Start pod with dns and hosts settings again
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.1"
dns:
- 1.1.1.1
dns_opt:
- "option timeout:3"
dns_search:
- "redhat.com"
- "ibm.com"
hostname: happypod
register: pod21_info
- name: Check info
assert:
that:
- pod21_info is not changed
- name: Start pod with changed dns
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.1"
dns:
- 1.1.1.1
- 2.2.2.2
dns_opt:
- "option timeout:3"
dns_search:
- "redhat.com"
- "ibm.com"
hostname: happypod
register: pod22_info
- name: Check info
assert:
that:
- pod22_info is changed
- name: Start pod with changed add host
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.2"
dns:
- 1.1.1.1
- 2.2.2.2
dns_opt:
- "option timeout:3"
dns_search:
- "redhat.com"
- "ibm.com"
hostname: happypod
register: pod23_info
- name: Check info
assert:
that:
- pod23_info is changed
- name: Start pod with changed dns option
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.2"
dns:
- 1.1.1.1
- 2.2.2.2
dns_opt:
- "option timeout:2"
dns_search:
- "redhat.com"
- "ibm.com"
hostname: happypod
register: pod24_info
- name: Check info
assert:
that:
- pod24_info is changed
- name: Start pod with changed dns search
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.2"
dns:
- 1.1.1.1
- 2.2.2.2
dns_opt:
- "option timeout:2"
dns_search:
- "redhat.com"
hostname: happypod
register: pod25_info
- name: Check info
assert:
that:
- pod25_info is changed
- name: Start pod with changed hostname
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.2"
dns:
- 1.1.1.1
- 2.2.2.2
dns_opt:
- "option timeout:2"
dns_search:
- "redhat.com"
hostname: bestpod
register: pod26_info
- name: Check info
assert:
that:
- pod26_info is changed
- name: Start pod with removed dns search
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.2"
dns:
- 1.1.1.1
- 2.2.2.2
dns_opt:
- "option timeout:2"
hostname: bestpod
register: pod27_info
- name: Check info
assert:
that:
- pod27_info is changed
- name: Start pod with removed dns option
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.2"
dns:
- 1.1.1.1
- 2.2.2.2
hostname: bestpod
register: pod28_info
- name: Check info
assert:
that:
- pod28_info is changed
- name: Start pod with removed dns
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
add_host:
- "google:8.8.8.8"
- "site1:127.0.0.2"
hostname: bestpod
register: pod29_info
- name: Check info
assert:
that:
- pod29_info is changed
- name: Start pod with removed add host
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
hostname: bestpod
register: pod30_info
- name: Check info
assert:
that:
- pod30_info is changed
- name: Start pod without infra
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: created
infra: false
register: pod31_info
- name: Check info
assert:
that:
- pod31_info is changed
- name: Start pod without infra again
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: created
infra: false
register: pod32_info
- name: Check info
assert:
that:
- pod32_info is not changed
- name: Start pod with infra
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: started
register: pod33_info
- name: Check info
assert:
that:
- pod33_info is changed
- name: Start pod with different infra image
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: created
infra_image: alpine:3.9
register: pod34_info
- name: Check info
assert:
that:
- pod34_info is changed
- name: Start pod with different infra image again
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod1
state: created
infra_image: alpine:3.9
register: pod35_info
- name: Check info
assert:
that:
- pod35_info is not changed
- name: Start pod2 with default settings
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod2
state: created
register: pod36_info
- name: Run container1 in pod
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: container1
image: alpine
command: top
pod: pod2
state: started
- name: Run container2 in pod
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: container2
image: alpine
command: top
pod: pod2
state: started
- name: Start pod2
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod2
state: started
generate_systemd:
path: /tmp/dir1
restart_policy: always
no_header: true
names: true
pod_prefix: poditto
container_prefix: ainer
restart_sec: 10
start_timeout: 20
stop_timeout: 15
register: system1
- name: Check systemd file exists
stat:
path: /tmp/dir1/poditto-pod2.service
register: podsys_stat
- name: Check that all settings from systemd are correct
assert:
that:
- system1.podman_systemd.keys() | list | length == 3
- "'-t 15 ' in system1.podman_systemd['poditto-pod2']"
- "'Restart=always' in system1.podman_systemd['poditto-pod2']"
- "'RestartSec=10' in system1.podman_systemd['poditto-pod2']"
- "'autogenerated by Podman' not in system1.podman_systemd['poditto-pod2']"
- podsys_stat.stat.exists | bool
- name: Delete pod2
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod2
state: absent
generate_systemd:
path: /tmp/dir1
restart_policy: always
time: 120
no_header: true
names: true
pod_prefix: poditto
container_prefix: ainer
- name: Check if systemd file exists (should not)
stat:
path: /tmp/dir1/poditto-pod2.service
register: podsys2_stat
- name: Check that systemd file was removed
assert:
that:
- not podsys2_stat.stat.exists|bool
- name: Run slirp4netns tests for podman < 5
when: podman_version < 5
block:
- name: Run pod2 with network slirp4netns
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod2
state: started
network: slirp4netns:outbound_addr=10.10.10.46
- name: Run container1 in pod
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: container1
image: alpine
command: top
pod: pod2
state: started
- name: Run pod2 with network slirp4netns - again
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod2
state: started
network: slirp4netns:outbound_addr=10.10.10.46
register: slip4net_pod
- name: Run container1 in pod slirp4netns
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: container1
image: alpine
command: top
pod: pod2
state: started
register: slip4net_cont
- name: Check that slirp4netns is idempotent
assert:
that:
- slip4net_pod is not changed
- slip4net_cont is not changed
- name: Run pod2 with different network slirp4netns
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod2
state: started
network: slirp4netns:outbound_addr=10.10.10.47
register: slip4net_pod2
- name: Run container1 in different pod slirp4netns
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: container1
image: alpine
command: top
pod: pod2
state: started
register: slip4net_cont2
- name: Check that slirp4netns is idempotent and changed
assert:
that:
- slip4net_pod2 is changed
- slip4net_cont2 is changed
- name: Run pasta tests for podman >= 5
when: podman_version >= 5
block:
- name: Run pod2 with network pasta
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod2
state: started
network:
- "pasta:-4,-t,8007,-u,4443,-T,3000"
- name: Run container1 in pod
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: container1
image: alpine
command: top
pod: pod2
state: started
- name: Run pod2 with network pasta - again
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod2
state: started
network:
- "pasta:-4,-t,8007,-u,4443,-T,3000"
register: pasta_pod
- name: Run container1 in pod pasta
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: container1
image: alpine
command: top
pod: pod2
state: started
register: pasta_cont
- name: Check that pasta is idempotent
assert:
that:
- pasta_pod is not changed
- pasta_cont is not changed
- name: Run pod2 with different network pasta
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: pod2
state: started
network:
- "pasta:-4,-t,8008,-u,4443,-T,3000"
register: pasta_pod2
- name: Run container1 in different pod slirp4netns
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: container1
image: alpine
command: top
pod: pod2
state: started
register: pasta_cont2
- name: Check that slirp4netns is idempotent and changed
assert:
that:
- pasta_pod2 is changed
- pasta_cont2 is changed
- name: Create a Quadlet for pod with filename
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: podq
state: quadlet
network: examplenet
quadlet_dir: /tmp
quadlet_filename: customfile
quadlet_file_mode: '0644'
- name: Check if files exists
stat:
path: /tmp/customfile.pod
register: quadlet_file_custom
- name: Fail if no file is present or wrong mode
assert:
that:
- quadlet_file_custom.stat.exists
- quadlet_file_custom.stat.mode == '0644'
- name: Create a Quadlet pod file
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: podq
state: quadlet
network: examplenet
share: net
subuidname: username1
userns: auto
publish: 8000:8001
sysctl:
"net.ipv4.ip_forward": 1
add_host:
- host1
volume:
- /tmp:/data
- /whocares:/data2:ro
quadlet_dir: /tmp
quadlet_options:
- "Label=somelabel=labelvalue"
- |
[Install]
WantedBy=default.target
register: quadlet_pod
- name: Check if files exists
stat:
path: /tmp/podq.pod
register: quadlet_file
- name: Check output is correct for Quadlet container in /tmp/podq.pod file
assert:
that:
- quadlet_file.stat.exists
- name: Check for the existence of lines in /tmp/podq.pod
lineinfile:
path: /tmp/podq.pod
line: "{{ item }}"
state: present
check_mode: yes
register: line_check
loop:
- "[Pod]"
- "Network=examplenet"
- "PodName=podq"
- "PublishPort=8000:8001"
- "Volume=/tmp:/data"
- "Volume=/whocares:/data2:ro"
- "PodmanArgs=--add-host host1"
- "PodmanArgs=--share net"
- "PodmanArgs=--subuidname username1"
- "PodmanArgs=--userns auto"
- "PodmanArgs=--add-host host1"
- "PodmanArgs=--sysctl net.ipv4.ip_forward=1"
- "Label=somelabel=labelvalue"
- "WantedBy=default.target"
loop_control:
label: "{{ item }}"
- name: Fail the task if any line is not present
fail:
msg: "The following line is not present in /tmp/podq.pod: {{ item.item }}"
when: item.changed
loop: "{{ line_check.results }}"
loop_control:
label: "{{ item.item }}"
- name: Create a Quadlet pod file - same
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: podq
state: quadlet
network: examplenet
share: net
subuidname: username1
userns: auto
publish: 8000:8001
sysctl:
"net.ipv4.ip_forward": 1
add_host:
- host1
volume:
- /tmp:/data
- /whocares:/data2:ro
quadlet_dir: /tmp
quadlet_options:
- "Label=somelabel=labelvalue"
- |
[Install]
WantedBy=default.target
register: quad2
- name: Check if quadlet changed
assert:
that:
- quad2 is not changed
- name: Create a Quadlet pod file - different
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: podq
state: quadlet
network: examplenet
share: net
subuidname: username1
userns: auto
publish: 8000:8001
sysctl:
"net.ipv4.ip_forward": 1
add_host:
- host1
volume:
- /tmp:/newdata
- /whocares:/data2:ro
quadlet_dir: /tmp
quadlet_options:
- "Label=somelabel=labelvalue"
- |
[Install]
WantedBy=default.target
register: quad3
- name: Print diff
debug:
var: quad3.diff
- name: Check if changed and diff
assert:
that:
- quad3 is changed
- "'newdata' in quad3.diff.after"
always:
- name: Delete all pods leftovers from tests
containers.podman.podman_pod:
executable: "{{ test_executable | default('podman') }}"
name: "{{ item }}"
state: absent
loop:
- "pod1"
- "pod2"
- name: Delete all container leftovers from tests
containers.podman.podman_container:
executable: "{{ test_executable | default('podman') }}"
name: "{{ item }}"
state: absent
loop:
- "container1"
- "container2"
- name: Test idempotency rootless pods
include_tasks: idempotency.yml
- name: Test idempotency for root pods
include_tasks: root-pod.yml
vars:
ansible_python_interpreter: "/usr/bin/python3"
args:
apply:
become: true
- name: Test idempotency for root pods and networks
include_tasks: net-pod.yml
vars:
ansible_python_interpreter: "/usr/bin/python3"
args:
apply:
become: true
- name: Test podman_pod for limiting resources
include_tasks: resource-limit.yml
vars:
ansible_python_interpreter: "/usr/bin/python3"
args:
apply:
become: true