diff --git a/src/molecule_plugins/podman/driver.py b/src/molecule_plugins/podman/driver.py index 99c3909..5f7621c 100644 --- a/src/molecule_plugins/podman/driver.py +++ b/src/molecule_plugins/podman/driver.py @@ -30,7 +30,7 @@ from molecule import logger, util from molecule.api import Driver, MoleculeRuntimeWarning from molecule.constants import RC_SETUP_ERROR -from molecule.util import sysexit_with_message +from molecule.util import run_command, sysexit_with_message log = logger.get_logger(__name__) @@ -243,3 +243,7 @@ def sanity_checks(self): def required_collections(self) -> dict[str, str]: """Return collections dict containing names and versions required.""" return {"containers.podman": "1.7.0", "ansible.posix": "1.3.0"} + + def reset(self): + # keep `--filter` in sync with playbooks/create.yml + run_command(["podman", "rm", "--force", "--filter=label=owner=molecule"]) diff --git a/src/molecule_plugins/podman/playbooks/create.yml b/src/molecule_plugins/podman/playbooks/create.yml index 5bc92cd..57eab26 100644 --- a/src/molecule_plugins/podman/playbooks/create.yml +++ b/src/molecule_plugins/podman/playbooks/create.yml @@ -149,6 +149,8 @@ hostname: "{{ item.hostname | default(omit) }}" image: "{{ item.pre_build_image | default(false) | ternary('', 'molecule_local/') }}{{ item.image }}" ip: "{{ item.ip | default(omit) }}" + label: + owner: "molecule" # keep in sync with ../driver.py:Podman.reset() network: "{{ item.network | default(omit) }}" pid: "{{ item.pid_mode | default(omit) }}" privileged: "{{ item.privileged | default(omit) }}"