refactor(molecule): use docker instead of podman
Lint Markdown files / markdown-lint (push) Successful in 12s
Ansible Linter / ansible-lint (push) Successful in 2m6s
Molecule / Molecule (push) Failing after 3m50s

The scenario now starts its containers with community.docker instead of containers.podman, because docker is the
container runtime available on the CI runner. The connection plugin, the login command and the declared collections
were adjusted accordingly and the docker SDK for python is installed in the workflow, since the module requires it.

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-09-08 10:14:20 +02:00
co-authored by Copilot
parent 9cadae0ba3
commit a6e8555e13
8 changed files with 11 additions and 11 deletions
+1 -1
View File
@@ -2,4 +2,4 @@
collections:
- name: community.crypto
- name: containers.podman
- name: community.docker
+2 -2
View File
@@ -5,7 +5,7 @@
gather_facts: false
tasks:
- name: Start a container per platform
containers.podman.podman_container:
community.docker.docker_container:
name: "{{ item.name }}"
image: "{{ item.image }}"
command: "sleep infinity"
@@ -19,7 +19,7 @@
content: |
{% for platform in molecule_yml.platforms %}
- instance: {{ platform.name }}
connection: containers.podman.podman
connection: community.docker.docker
{% endfor %}
dest: "{{ molecule_instance_config }}"
mode: "0600"
+1 -1
View File
@@ -5,7 +5,7 @@
gather_facts: false
tasks:
- name: Remove the container of every platform
containers.podman.podman_container:
community.docker.docker_container:
name: "{{ item.name }}"
state: absent
loop: "{{ molecule_yml.platforms }}"
+1 -1
View File
@@ -4,7 +4,7 @@ driver:
name: default
options:
managed: true
login_cmd_template: "podman exec --interactive --tty {instance} bash"
login_cmd_template: "docker exec --interactive --tty {instance} bash"
platforms:
- name: certificate-authority-archlinux
+1 -1
View File
@@ -16,7 +16,7 @@
dnf install --assumeyes ca-certificates gawk openssl python3
fi
tasks:
# The podman connection plugin splits raw commands instead of passing them to a shell.
# The raw command is wrapped explicitly, because the bootstrap relies on shell builtins.
- name: Bootstrap the python interpreter and the tools required by the role
ansible.builtin.raw: "/bin/sh -c {{ _bootstrap | quote }}"
changed_when: true