Skip to content

docs: several testing guides still use the pre ansible-native driver/platforms model #4679

Description

@jeffcpullen

Prerequisites

  • This was not already reported in the past (duplicate check)
  • It does reproduce it with code from main branch (latest unreleased version)
  • I include a minimal example for reproducing the bug
  • The bug is not trivial, as for those a direct pull-request is preferred
  • Running pip check does not report any conflicts
  • I was able to reproduce the issue on a different machine
  • The issue is not specific to any driver other than 'default' one

Environment

The bug is in the published documentation on main, so it reproduces for any reader regardless of local setup: the source files on main (currently commit 2733bcf) still contain the legacy syntax, and the rendered pages on docs.ansible.com show it.

I verified the native replacement on:

molecule 26.6.0 using python 3.14
    ansible <ansible-core version, paste from your machine>
    default:26.6.0 from molecule
containers.podman 1.20.2

OS: Fedora Linux (host), containers built on UBI 10 init and CentOS Stream 10.

What happened

Several of the testing guides still teach the pre ansible-native model, so a reader who follows them lands on a configuration the project has moved away from, and for the container guides on a driver that is no longer part of Molecule.

The core docs have already made this move: docs/ansible-native.md shows scenarios built from a plain create.yml, and docs/pre-ansible-native.md frames platforms:, driver:, and provisioner: as legacy, noting that container drivers now live in the external molecule-plugins collection rather than in Molecule itself. The guides did not follow.

Pages that still use the legacy syntax:

  • docs/guides/systemd-container.md (platforms:)
  • docs/guides/docker-rootless.md (platforms:, provisioner:)
  • docs/guides/podman-inside-docker.md (driver:, platforms:)
  • docs/guides/sharing.md (provisioner:)
  • docs/guides/monolith.md (provisioner:)
  • docs/ci.md (driver:, platforms:, provisioner:)

Expected: these guides should teach the ansible-native model that the rest of the docs now describe, so following a guide produces a supported configuration rather than one built on platforms:/driver:/provisioner: and the external Docker driver.

I am starting with systemd-container.md as the example, open as #4680: it rewrites the guide on top of the existing Using podman containers example, whose create.yml is already inventory-driven, so making it systemd-capable is an inventory change (an init image per host plus container_command: /sbin/init and container_systemd: always). I built and ran that scenario end to end across two init images (UBI 10 init and CentOS Stream 10): molecule test passes the full sequence and is idempotent, and ansible-lint is clean.

I am happy to convert the remaining five pages the same way, building and running each. Two points where the direction is yours to set:

  1. Is rewrite-to-native the shape you want for the rest, using fix(docs): update the systemd container guide to use podman's systemd mode #4680 as the template, and one PR per page or batched?
  2. docker-rootless.md and podman-inside-docker.md are specific to the Docker engine, whose driver now lives in molecule-plugins. Rewrite those for the native (podman) path, trim them, or move them out?

Reproducing example

# docs/guides/systemd-container.md currently tells the reader to configure a
# systemd container like this. `platforms:` is the pre ansible-native model,
# and the Docker driver that runs it now lives in molecule-plugins, not in
# Molecule. Following the guide produces a configuration the project has
# moved away from.
platforms:
  - name: instance
    image: quay.io/centos/centos:stream8
    command: /sbin/init
    tmpfs:
      - /run
      - /tmp
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions