Help test Molecule v25.9.0.rc1 (pre-release)

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.

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 simplified init flow.
    • Collection-aware scenario discovery/creation, which should make getting started in collections smoother.
    • ansible_args now respected for user-provided create/destroy playbooks, enabling more flexible control.
  • 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).
  • Driver and ecosystem tweaks:
    • KubeVirt driver support included in molecule.json.
    • Podman example converted to the Ansible-native configuration style.
  • 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.

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 in molecule.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.
  • 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.

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 custom create/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:

Thanks-

  • Brad & the entrire ansible devtools team
4 Likes