Help test Molecule v25.9.0.rc1 (pre-release)
Hi everyone — we’ve cut a pre-release of Molecule and would really appreciate your help exercising it in real scenarios before GA. This one includes a lot of changes we’ve been iterating on, including improved reporting, collection-aware scenario creation, and clearer Ansible-native workflows.
- Release notes: v25.9.0.rc1
- Docs home: Ansible Molecule documentation
How to install and try it
If you use a virtual environment:
pip install --pre --upgrade molecule==25.9.0rc1
# or, if your index mirrors pre-releases, simply:
pip install --pre --upgrade molecule
If the pre-release is not yet visible on your index, you can test from source by installing from the tagged ref on GitHub.
Highlights worth testing
- • Ansible-native workflow improvements:
- Centralized
ansible
configuration section and a simplifiedinit
flow. - Collection-aware scenario discovery/creation, which should make getting started in collections smoother.
ansible_args
now respected for user-providedcreate
/destroy
playbooks, enabling more flexible control.
- Centralized
- • Action and report output refinements:
- Always-on one-line execution summary, clearer “Executed” terminology, and Ansible-style “Scenario Recap.”
- Experimental
--command-borders
flag for visually separating command output. - Experimental
--report
flag for a detailed post execution scenario and action summary. - Environment variable support for report and command borders.
- • Shared state and inventory:
- New
shared_state
configuration and docs. - Removal of the previous experimental shared inventory support (cleaner, more explicit behavior).
- New
- • Driver and ecosystem tweaks:
- KubeVirt driver support included in
molecule.json
. - Podman example converted to the Ansible-native configuration style.
- KubeVirt driver support included in
- • Reliability and UX fixes:
- Click
standalone_mode=False
by default, more consistent exits (sysexit_*
), improved login errors and reset--all
. - Removal of the non-functional HTML report.
- Click
Details in the release notes: v25.9.0.rc1.
Ansible-native vs. pre–Ansible-native Molecule
- Ansible-native:
- Treats Molecule as orchestration around “plain Ansible” artifacts: inventories,
create.yml
/destroy.yml
/converge.yml
playbooks. - Uses a centralized
ansible
section inmolecule.yml
and keeps scenario config smaller and more explicit. - Easier to apply standard Ansible knowledge, pass through arguments, and reuse your own playbooks and inventories directly.
- Treats Molecule as orchestration around “plain Ansible” artifacts: inventories,
- Pre–Ansible-native:
- Heavier reliance on driver-specific configuration within
molecule.yml
. - More implicit defaults and non-Ansible-specific abstractions.
- Examples have been retained for context, but many are now called out as pre–Ansible-native in the docs.
- Heavier reliance on driver-specific configuration within
If you’re new to the current approach, the docs emphasize the Ansible-native model and include end-to-end guides and examples: Ansible Molecule documentation.
What we’d love feedback on
- Scenario creation and discovery in collections: does
init
and discovery fit your workflow? - Reporting and output: does the one-line summary, scenario recap, and borders improve readability in CI and local runs?
ansible_args
passthrough for customcreate
/destroy
: any gaps?shared_state
behavior: does it cover your multi-step/testing needs without surprises?- Driver-specific flows you rely on (Docker/Podman/KubeVirt/etc.): any regressions or friction in pre ansible-native usage?
- Edge cases with inventories, dynamic inventory sources, and test verifiers.
How to report
- Reply in this thread with environment details (OS, Python, Ansible version), your scenario structure, and the command you ran.
- For actionable bugs, opening an issue with a minimal reproducer is ideal; linking it here helps others follow along.
- A discussion has been opened specific to the release
Thanks in advance for taking the time to run this through your pipelines and local setups. Your feedback is what lets us land these changes with confidence and fix rough edges before the final release.
References:
- Release notes: v25.9.0.rc1
- Docs: Ansible Molecule documentation
Thanks-
- Brad & the entrire ansible devtools team