all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe3d:ca2
      ansible_molecule_ansible_version: 11.12.0
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_role: falco
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: a51a0296-3cd8-4de3-8192-25b963acf8ee
        host_id: 0d3d02185f810c959252bd1d303ec55040bf5bb0b401cceef814c3a7
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe3d:ca2
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.110
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.37
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe3d:ca2
        region: null
        slot: null
    ubuntu-noble:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe16:1811
      ansible_molecule_ansible_version: 11.12.0
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_role: falco
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 36be8983-8f30-4d7b-b4f6-79341e84b465
        host_id: 25afcdcd4b24cc9d1766f11f81549380a3029030a455889bb61ec093
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe16:1811
        label: ubuntu-noble
        node_properties: {}
        private_ipv4: 10.128.7.55
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.217
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe16:1811
        region: null
        slot: null
  vars:
    ansible_molecule_ansible_version: 11.12.0
    ansible_role: falco
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job ansible-molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#12>'
      - '<Job abstract-ansible-collection-services-molecule explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: osism/ansible-collection-services/.zuul.yaml@main#79>'
      - '<Job ansible-collection-services-molecule-falco explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/ansible-collection-services/.zuul.yaml@main#196>'
      - '<Job ansible-collection-services-molecule-falco explicit: None implied: None
        source: osism/ansible-collection-services/.zuul.yaml@main#499>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: adddd74f341043718728f8cbf8ba937e
      build_refs:
      - branch: main
        change: '2090'
        change_message: "molecule: capture container logs on failure\n\n## What\n\nOn
          a failed `molecule converge` (delegated scenario), collect per-container\ndiagnostics
          into the published Zuul log directory so a container that never\nbecomes
          healthy can be diagnosed from the build logs instead of requiring a\nlocal
          reproduction.\n\n`molecule/delegated/converge.yml` now wraps the role run
          in a `block`/`rescue`.\nOn any converge failure the rescue runs\n`molecule/delegated/tasks/collect-container-logs.yml`
          (best-effort,\n`failed_when: false`), then re-raises so the build still
          reports FAILURE. Because\n`destroy` is off by default, the containers are
          still running at that point, so\ntheir logs are intact. Output is written
          to `~/zuul-output/logs/container-logs/`,\nwhich the base job's `fetch-output`
          post-run publishes:\n\n- `_overview.txt` \u2014 `docker ps --all` (name
          / state / status)\n- `<container>.txt` \u2014 `docker logs` (stdout+stderr)\n-
          `<container>.inspect.json` \u2014 `docker inspect .State` (health / restart
          / exit)\n\nIt lives in the shared `converge.yml`, so it covers every docker-based
          role in\nthe scenario, not just netbox.\n\n## Why\n\nThe `ansible-collection-services-molecule-netbox`
          job is a chronic flake\n(~70% failure rate): the `netbox-netbox-worker-1`
          container never becomes\nhealthy and the role's health gate times out. No
          per-container logs were\npublished for the job, so the cause could never
          be confirmed. Investigation\nshows the failure is a discrete per-node hang
          (bimodal timing: healthy runs\nfinish by ~29/60 retries, failures run the
          full budget), is not reproducible\nin isolation (50/50 local cold-starts
          passed, even CPU-constrained), and is\nnot CPU-bound \u2014 pointing at
          the CI environment. Capturing the worker's actual\nstate/logs on the next
          real failure is the prerequisite to telling apart a\ncrash-loop, a hang,
          a `pgrep` healthcheck mismatch, or OOM.\n\n## Safety\n\nMolecule runs use
          dummy credentials, and `docker logs` captures container\nstdout/stderr rather
          than the environment, so no real secrets are published.\n\nDraft: opened
          to run CI and gather the first instrumented failures.\n\n\U0001F916 Generated
          with [Claude Code](https://claude.com/claude-code)\n\n---\n\n### Recurrence
          \u2014 confirmed `molecule-netbox-worker-unhealthy` failures\n\n14 check-pipeline
          builds match the signature over the last ~120 builds, spanning 2026-01-19
          \u2192 2026-06-01 (4+ months). This is a long-standing, change-independent
          flake (~70% job failure rate), not a one-off:\n\n- 2026-06-01 \u2014 [`9f30b2262fa5`](https://zuul.services.osism.tech/t/osism/build/9f30b2262fa5449082e55ea72f5d1b20)\n-
          2026-05-27 \u2014 [`e0319b79d339`](https://zuul.services.osism.tech/t/osism/build/e0319b79d3394d3e8d77afe42fada356)\n-
          2026-05-19 \u2014 [`924da0e0bf1a`](https://zuul.services.osism.tech/t/osism/build/924da0e0bf1a4244b2577c7e1b7eda21)\n-
          2026-05-14 \u2014 [`2321970cf576`](https://zuul.services.osism.tech/t/osism/build/2321970cf576404a87dfc71da47db805)\n-
          2026-05-14 \u2014 [`06b4885c9b99`](https://zuul.services.osism.tech/t/osism/build/06b4885c9b994a5f8e9ef72e5653546d)\n-
          2026-05-12 \u2014 [`f000dc8147c2`](https://zuul.services.osism.tech/t/osism/build/f000dc8147c24a0e9b7ccf38afea5ce9)\n-
          2026-05-09 \u2014 [`35bd0ccc09b9`](https://zuul.services.osism.tech/t/osism/build/35bd0ccc09b94647b861ff72e3ce8212)\n-
          2026-04-09 \u2014 [`4351a01a8b91`](https://zuul.services.osism.tech/t/osism/build/4351a01a8b914eb590e4aeae85afa1df)\n-
          2026-02-23 \u2014 [`8ce6bc7102ee`](https://zuul.services.osism.tech/t/osism/build/8ce6bc7102ee4ba790cab4a4b5e192d5)\n-
          2026-02-12 \u2014 [`6069116e7e27`](https://zuul.services.osism.tech/t/osism/build/6069116e7e2740c4baad74e17ebec658)\n-
          2026-02-10 \u2014 [`b188b9c6c054`](https://zuul.services.osism.tech/t/osism/build/b188b9c6c0544fa091840f8b4cf64a7e)\n-
          2026-02-02 \u2014 [`427ae99c6ce2`](https://zuul.services.osism.tech/t/osism/build/427ae99c6ce24e4383766dff7138078f)\n-
          2026-02-02 \u2014 [`b1c09fbf1e98`](https://zuul.services.osism.tech/t/osism/build/b1c09fbf1e9840039ac8431282b20a4e)\n-
          2026-01-19 \u2014 [`81a3d8c21c68`](https://zuul.services.osism.tech/t/osism/build/81a3d8c21c6847338d3a1ce9f5760dd6)\n"
        change_url: https://github.com/osism/ansible-collection-services/pull/2090
        commit_id: 44c0a99350c35fcabaedefe0144a1be366884d0c
        patchset: 44c0a99350c35fcabaedefe0144a1be366884d0c
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      buildset: 20d6344e24a345b09cb94b21718b83b2
      buildset_refs:
      - branch: main
        change: '2090'
        change_message: "molecule: capture container logs on failure\n\n## What\n\nOn
          a failed `molecule converge` (delegated scenario), collect per-container\ndiagnostics
          into the published Zuul log directory so a container that never\nbecomes
          healthy can be diagnosed from the build logs instead of requiring a\nlocal
          reproduction.\n\n`molecule/delegated/converge.yml` now wraps the role run
          in a `block`/`rescue`.\nOn any converge failure the rescue runs\n`molecule/delegated/tasks/collect-container-logs.yml`
          (best-effort,\n`failed_when: false`), then re-raises so the build still
          reports FAILURE. Because\n`destroy` is off by default, the containers are
          still running at that point, so\ntheir logs are intact. Output is written
          to `~/zuul-output/logs/container-logs/`,\nwhich the base job's `fetch-output`
          post-run publishes:\n\n- `_overview.txt` \u2014 `docker ps --all` (name
          / state / status)\n- `<container>.txt` \u2014 `docker logs` (stdout+stderr)\n-
          `<container>.inspect.json` \u2014 `docker inspect .State` (health / restart
          / exit)\n\nIt lives in the shared `converge.yml`, so it covers every docker-based
          role in\nthe scenario, not just netbox.\n\n## Why\n\nThe `ansible-collection-services-molecule-netbox`
          job is a chronic flake\n(~70% failure rate): the `netbox-netbox-worker-1`
          container never becomes\nhealthy and the role's health gate times out. No
          per-container logs were\npublished for the job, so the cause could never
          be confirmed. Investigation\nshows the failure is a discrete per-node hang
          (bimodal timing: healthy runs\nfinish by ~29/60 retries, failures run the
          full budget), is not reproducible\nin isolation (50/50 local cold-starts
          passed, even CPU-constrained), and is\nnot CPU-bound \u2014 pointing at
          the CI environment. Capturing the worker's actual\nstate/logs on the next
          real failure is the prerequisite to telling apart a\ncrash-loop, a hang,
          a `pgrep` healthcheck mismatch, or OOM.\n\n## Safety\n\nMolecule runs use
          dummy credentials, and `docker logs` captures container\nstdout/stderr rather
          than the environment, so no real secrets are published.\n\nDraft: opened
          to run CI and gather the first instrumented failures.\n\n\U0001F916 Generated
          with [Claude Code](https://claude.com/claude-code)\n\n---\n\n### Recurrence
          \u2014 confirmed `molecule-netbox-worker-unhealthy` failures\n\n14 check-pipeline
          builds match the signature over the last ~120 builds, spanning 2026-01-19
          \u2192 2026-06-01 (4+ months). This is a long-standing, change-independent
          flake (~70% job failure rate), not a one-off:\n\n- 2026-06-01 \u2014 [`9f30b2262fa5`](https://zuul.services.osism.tech/t/osism/build/9f30b2262fa5449082e55ea72f5d1b20)\n-
          2026-05-27 \u2014 [`e0319b79d339`](https://zuul.services.osism.tech/t/osism/build/e0319b79d3394d3e8d77afe42fada356)\n-
          2026-05-19 \u2014 [`924da0e0bf1a`](https://zuul.services.osism.tech/t/osism/build/924da0e0bf1a4244b2577c7e1b7eda21)\n-
          2026-05-14 \u2014 [`2321970cf576`](https://zuul.services.osism.tech/t/osism/build/2321970cf576404a87dfc71da47db805)\n-
          2026-05-14 \u2014 [`06b4885c9b99`](https://zuul.services.osism.tech/t/osism/build/06b4885c9b994a5f8e9ef72e5653546d)\n-
          2026-05-12 \u2014 [`f000dc8147c2`](https://zuul.services.osism.tech/t/osism/build/f000dc8147c24a0e9b7ccf38afea5ce9)\n-
          2026-05-09 \u2014 [`35bd0ccc09b9`](https://zuul.services.osism.tech/t/osism/build/35bd0ccc09b94647b861ff72e3ce8212)\n-
          2026-04-09 \u2014 [`4351a01a8b91`](https://zuul.services.osism.tech/t/osism/build/4351a01a8b914eb590e4aeae85afa1df)\n-
          2026-02-23 \u2014 [`8ce6bc7102ee`](https://zuul.services.osism.tech/t/osism/build/8ce6bc7102ee4ba790cab4a4b5e192d5)\n-
          2026-02-12 \u2014 [`6069116e7e27`](https://zuul.services.osism.tech/t/osism/build/6069116e7e2740c4baad74e17ebec658)\n-
          2026-02-10 \u2014 [`b188b9c6c054`](https://zuul.services.osism.tech/t/osism/build/b188b9c6c0544fa091840f8b4cf64a7e)\n-
          2026-02-02 \u2014 [`427ae99c6ce2`](https://zuul.services.osism.tech/t/osism/build/427ae99c6ce24e4383766dff7138078f)\n-
          2026-02-02 \u2014 [`b1c09fbf1e98`](https://zuul.services.osism.tech/t/osism/build/b1c09fbf1e9840039ac8431282b20a4e)\n-
          2026-01-19 \u2014 [`81a3d8c21c68`](https://zuul.services.osism.tech/t/osism/build/81a3d8c21c6847338d3a1ce9f5760dd6)\n"
        change_url: https://github.com/osism/ansible-collection-services/pull/2090
        commit_id: 44c0a99350c35fcabaedefe0144a1be366884d0c
        patchset: 44c0a99350c35fcabaedefe0144a1be366884d0c
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      change: '2090'
      change_message: "molecule: capture container logs on failure\n\n## What\n\nOn
        a failed `molecule converge` (delegated scenario), collect per-container\ndiagnostics
        into the published Zuul log directory so a container that never\nbecomes healthy
        can be diagnosed from the build logs instead of requiring a\nlocal reproduction.\n\n`molecule/delegated/converge.yml`
        now wraps the role run in a `block`/`rescue`.\nOn any converge failure the
        rescue runs\n`molecule/delegated/tasks/collect-container-logs.yml` (best-effort,\n`failed_when:
        false`), then re-raises so the build still reports FAILURE. Because\n`destroy`
        is off by default, the containers are still running at that point, so\ntheir
        logs are intact. Output is written to `~/zuul-output/logs/container-logs/`,\nwhich
        the base job's `fetch-output` post-run publishes:\n\n- `_overview.txt` \u2014
        `docker ps --all` (name / state / status)\n- `<container>.txt` \u2014 `docker
        logs` (stdout+stderr)\n- `<container>.inspect.json` \u2014 `docker inspect
        .State` (health / restart / exit)\n\nIt lives in the shared `converge.yml`,
        so it covers every docker-based role in\nthe scenario, not just netbox.\n\n##
        Why\n\nThe `ansible-collection-services-molecule-netbox` job is a chronic
        flake\n(~70% failure rate): the `netbox-netbox-worker-1` container never becomes\nhealthy
        and the role's health gate times out. No per-container logs were\npublished
        for the job, so the cause could never be confirmed. Investigation\nshows the
        failure is a discrete per-node hang (bimodal timing: healthy runs\nfinish
        by ~29/60 retries, failures run the full budget), is not reproducible\nin
        isolation (50/50 local cold-starts passed, even CPU-constrained), and is\nnot
        CPU-bound \u2014 pointing at the CI environment. Capturing the worker's actual\nstate/logs
        on the next real failure is the prerequisite to telling apart a\ncrash-loop,
        a hang, a `pgrep` healthcheck mismatch, or OOM.\n\n## Safety\n\nMolecule runs
        use dummy credentials, and `docker logs` captures container\nstdout/stderr
        rather than the environment, so no real secrets are published.\n\nDraft: opened
        to run CI and gather the first instrumented failures.\n\n\U0001F916 Generated
        with [Claude Code](https://claude.com/claude-code)\n\n---\n\n### Recurrence
        \u2014 confirmed `molecule-netbox-worker-unhealthy` failures\n\n14 check-pipeline
        builds match the signature over the last ~120 builds, spanning 2026-01-19
        \u2192 2026-06-01 (4+ months). This is a long-standing, change-independent
        flake (~70% job failure rate), not a one-off:\n\n- 2026-06-01 \u2014 [`9f30b2262fa5`](https://zuul.services.osism.tech/t/osism/build/9f30b2262fa5449082e55ea72f5d1b20)\n-
        2026-05-27 \u2014 [`e0319b79d339`](https://zuul.services.osism.tech/t/osism/build/e0319b79d3394d3e8d77afe42fada356)\n-
        2026-05-19 \u2014 [`924da0e0bf1a`](https://zuul.services.osism.tech/t/osism/build/924da0e0bf1a4244b2577c7e1b7eda21)\n-
        2026-05-14 \u2014 [`2321970cf576`](https://zuul.services.osism.tech/t/osism/build/2321970cf576404a87dfc71da47db805)\n-
        2026-05-14 \u2014 [`06b4885c9b99`](https://zuul.services.osism.tech/t/osism/build/06b4885c9b994a5f8e9ef72e5653546d)\n-
        2026-05-12 \u2014 [`f000dc8147c2`](https://zuul.services.osism.tech/t/osism/build/f000dc8147c24a0e9b7ccf38afea5ce9)\n-
        2026-05-09 \u2014 [`35bd0ccc09b9`](https://zuul.services.osism.tech/t/osism/build/35bd0ccc09b94647b861ff72e3ce8212)\n-
        2026-04-09 \u2014 [`4351a01a8b91`](https://zuul.services.osism.tech/t/osism/build/4351a01a8b914eb590e4aeae85afa1df)\n-
        2026-02-23 \u2014 [`8ce6bc7102ee`](https://zuul.services.osism.tech/t/osism/build/8ce6bc7102ee4ba790cab4a4b5e192d5)\n-
        2026-02-12 \u2014 [`6069116e7e27`](https://zuul.services.osism.tech/t/osism/build/6069116e7e2740c4baad74e17ebec658)\n-
        2026-02-10 \u2014 [`b188b9c6c054`](https://zuul.services.osism.tech/t/osism/build/b188b9c6c0544fa091840f8b4cf64a7e)\n-
        2026-02-02 \u2014 [`427ae99c6ce2`](https://zuul.services.osism.tech/t/osism/build/427ae99c6ce24e4383766dff7138078f)\n-
        2026-02-02 \u2014 [`b1c09fbf1e98`](https://zuul.services.osism.tech/t/osism/build/b1c09fbf1e9840039ac8431282b20a4e)\n-
        2026-01-19 \u2014 [`81a3d8c21c68`](https://zuul.services.osism.tech/t/osism/build/81a3d8c21c6847338d3a1ce9f5760dd6)\n"
      change_url: https://github.com/osism/ansible-collection-services/pull/2090
      child_jobs: []
      commit_id: 44c0a99350c35fcabaedefe0144a1be366884d0c
      event_id: 4bea4a00-5e56-11f1-80f4-d51eefd91243
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/adddd74f341043718728f8cbf8ba937e/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/adddd74f341043718728f8cbf8ba937e/work/logs
        result_data_file: /var/lib/zuul/builds/adddd74f341043718728f8cbf8ba937e/work/results.json
        src_root: /var/lib/zuul/builds/adddd74f341043718728f8cbf8ba937e/work/src
        work_root: /var/lib/zuul/builds/adddd74f341043718728f8cbf8ba937e/work
      include_vars: []
      items:
      - branch: main
        change: '2090'
        change_message: "molecule: capture container logs on failure\n\n## What\n\nOn
          a failed `molecule converge` (delegated scenario), collect per-container\ndiagnostics
          into the published Zuul log directory so a container that never\nbecomes
          healthy can be diagnosed from the build logs instead of requiring a\nlocal
          reproduction.\n\n`molecule/delegated/converge.yml` now wraps the role run
          in a `block`/`rescue`.\nOn any converge failure the rescue runs\n`molecule/delegated/tasks/collect-container-logs.yml`
          (best-effort,\n`failed_when: false`), then re-raises so the build still
          reports FAILURE. Because\n`destroy` is off by default, the containers are
          still running at that point, so\ntheir logs are intact. Output is written
          to `~/zuul-output/logs/container-logs/`,\nwhich the base job's `fetch-output`
          post-run publishes:\n\n- `_overview.txt` \u2014 `docker ps --all` (name
          / state / status)\n- `<container>.txt` \u2014 `docker logs` (stdout+stderr)\n-
          `<container>.inspect.json` \u2014 `docker inspect .State` (health / restart
          / exit)\n\nIt lives in the shared `converge.yml`, so it covers every docker-based
          role in\nthe scenario, not just netbox.\n\n## Why\n\nThe `ansible-collection-services-molecule-netbox`
          job is a chronic flake\n(~70% failure rate): the `netbox-netbox-worker-1`
          container never becomes\nhealthy and the role's health gate times out. No
          per-container logs were\npublished for the job, so the cause could never
          be confirmed. Investigation\nshows the failure is a discrete per-node hang
          (bimodal timing: healthy runs\nfinish by ~29/60 retries, failures run the
          full budget), is not reproducible\nin isolation (50/50 local cold-starts
          passed, even CPU-constrained), and is\nnot CPU-bound \u2014 pointing at
          the CI environment. Capturing the worker's actual\nstate/logs on the next
          real failure is the prerequisite to telling apart a\ncrash-loop, a hang,
          a `pgrep` healthcheck mismatch, or OOM.\n\n## Safety\n\nMolecule runs use
          dummy credentials, and `docker logs` captures container\nstdout/stderr rather
          than the environment, so no real secrets are published.\n\nDraft: opened
          to run CI and gather the first instrumented failures.\n\n\U0001F916 Generated
          with [Claude Code](https://claude.com/claude-code)\n\n---\n\n### Recurrence
          \u2014 confirmed `molecule-netbox-worker-unhealthy` failures\n\n14 check-pipeline
          builds match the signature over the last ~120 builds, spanning 2026-01-19
          \u2192 2026-06-01 (4+ months). This is a long-standing, change-independent
          flake (~70% job failure rate), not a one-off:\n\n- 2026-06-01 \u2014 [`9f30b2262fa5`](https://zuul.services.osism.tech/t/osism/build/9f30b2262fa5449082e55ea72f5d1b20)\n-
          2026-05-27 \u2014 [`e0319b79d339`](https://zuul.services.osism.tech/t/osism/build/e0319b79d3394d3e8d77afe42fada356)\n-
          2026-05-19 \u2014 [`924da0e0bf1a`](https://zuul.services.osism.tech/t/osism/build/924da0e0bf1a4244b2577c7e1b7eda21)\n-
          2026-05-14 \u2014 [`2321970cf576`](https://zuul.services.osism.tech/t/osism/build/2321970cf576404a87dfc71da47db805)\n-
          2026-05-14 \u2014 [`06b4885c9b99`](https://zuul.services.osism.tech/t/osism/build/06b4885c9b994a5f8e9ef72e5653546d)\n-
          2026-05-12 \u2014 [`f000dc8147c2`](https://zuul.services.osism.tech/t/osism/build/f000dc8147c24a0e9b7ccf38afea5ce9)\n-
          2026-05-09 \u2014 [`35bd0ccc09b9`](https://zuul.services.osism.tech/t/osism/build/35bd0ccc09b94647b861ff72e3ce8212)\n-
          2026-04-09 \u2014 [`4351a01a8b91`](https://zuul.services.osism.tech/t/osism/build/4351a01a8b914eb590e4aeae85afa1df)\n-
          2026-02-23 \u2014 [`8ce6bc7102ee`](https://zuul.services.osism.tech/t/osism/build/8ce6bc7102ee4ba790cab4a4b5e192d5)\n-
          2026-02-12 \u2014 [`6069116e7e27`](https://zuul.services.osism.tech/t/osism/build/6069116e7e2740c4baad74e17ebec658)\n-
          2026-02-10 \u2014 [`b188b9c6c054`](https://zuul.services.osism.tech/t/osism/build/b188b9c6c0544fa091840f8b4cf64a7e)\n-
          2026-02-02 \u2014 [`427ae99c6ce2`](https://zuul.services.osism.tech/t/osism/build/427ae99c6ce24e4383766dff7138078f)\n-
          2026-02-02 \u2014 [`b1c09fbf1e98`](https://zuul.services.osism.tech/t/osism/build/b1c09fbf1e9840039ac8431282b20a4e)\n-
          2026-01-19 \u2014 [`81a3d8c21c68`](https://zuul.services.osism.tech/t/osism/build/81a3d8c21c6847338d3a1ce9f5760dd6)\n"
        change_url: https://github.com/osism/ansible-collection-services/pull/2090
        commit_id: 44c0a99350c35fcabaedefe0144a1be366884d0c
        patchset: 44c0a99350c35fcabaedefe0144a1be366884d0c
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      job: ansible-collection-services-molecule-falco
      jobtags: []
      max_attempts: 3
      message: bW9sZWN1bGU6IGNhcHR1cmUgY29udGFpbmVyIGxvZ3Mgb24gZmFpbHVyZQoKIyMgV2hhdAoKT24gYSBmYWlsZWQgYG1vbGVjdWxlIGNvbnZlcmdlYCAoZGVsZWdhdGVkIHNjZW5hcmlvKSwgY29sbGVjdCBwZXItY29udGFpbmVyCmRpYWdub3N0aWNzIGludG8gdGhlIHB1Ymxpc2hlZCBadXVsIGxvZyBkaXJlY3Rvcnkgc28gYSBjb250YWluZXIgdGhhdCBuZXZlcgpiZWNvbWVzIGhlYWx0aHkgY2FuIGJlIGRpYWdub3NlZCBmcm9tIHRoZSBidWlsZCBsb2dzIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEKbG9jYWwgcmVwcm9kdWN0aW9uLgoKYG1vbGVjdWxlL2RlbGVnYXRlZC9jb252ZXJnZS55bWxgIG5vdyB3cmFwcyB0aGUgcm9sZSBydW4gaW4gYSBgYmxvY2tgL2ByZXNjdWVgLgpPbiBhbnkgY29udmVyZ2UgZmFpbHVyZSB0aGUgcmVzY3VlIHJ1bnMKYG1vbGVjdWxlL2RlbGVnYXRlZC90YXNrcy9jb2xsZWN0LWNvbnRhaW5lci1sb2dzLnltbGAgKGJlc3QtZWZmb3J0LApgZmFpbGVkX3doZW46IGZhbHNlYCksIHRoZW4gcmUtcmFpc2VzIHNvIHRoZSBidWlsZCBzdGlsbCByZXBvcnRzIEZBSUxVUkUuIEJlY2F1c2UKYGRlc3Ryb3lgIGlzIG9mZiBieSBkZWZhdWx0LCB0aGUgY29udGFpbmVycyBhcmUgc3RpbGwgcnVubmluZyBhdCB0aGF0IHBvaW50LCBzbwp0aGVpciBsb2dzIGFyZSBpbnRhY3QuIE91dHB1dCBpcyB3cml0dGVuIHRvIGB+L3p1dWwtb3V0cHV0L2xvZ3MvY29udGFpbmVyLWxvZ3MvYCwKd2hpY2ggdGhlIGJhc2Ugam9iJ3MgYGZldGNoLW91dHB1dGAgcG9zdC1ydW4gcHVibGlzaGVzOgoKLSBgX292ZXJ2aWV3LnR4dGAg4oCUIGBkb2NrZXIgcHMgLS1hbGxgIChuYW1lIC8gc3RhdGUgLyBzdGF0dXMpCi0gYDxjb250YWluZXI+LnR4dGAg4oCUIGBkb2NrZXIgbG9nc2AgKHN0ZG91dCtzdGRlcnIpCi0gYDxjb250YWluZXI+Lmluc3BlY3QuanNvbmAg4oCUIGBkb2NrZXIgaW5zcGVjdCAuU3RhdGVgIChoZWFsdGggLyByZXN0YXJ0IC8gZXhpdCkKCkl0IGxpdmVzIGluIHRoZSBzaGFyZWQgYGNvbnZlcmdlLnltbGAsIHNvIGl0IGNvdmVycyBldmVyeSBkb2NrZXItYmFzZWQgcm9sZSBpbgp0aGUgc2NlbmFyaW8sIG5vdCBqdXN0IG5ldGJveC4KCiMjIFdoeQoKVGhlIGBhbnNpYmxlLWNvbGxlY3Rpb24tc2VydmljZXMtbW9sZWN1bGUtbmV0Ym94YCBqb2IgaXMgYSBjaHJvbmljIGZsYWtlCih+NzAlIGZhaWx1cmUgcmF0ZSk6IHRoZSBgbmV0Ym94LW5ldGJveC13b3JrZXItMWAgY29udGFpbmVyIG5ldmVyIGJlY29tZXMKaGVhbHRoeSBhbmQgdGhlIHJvbGUncyBoZWFsdGggZ2F0ZSB0aW1lcyBvdXQuIE5vIHBlci1jb250YWluZXIgbG9ncyB3ZXJlCnB1Ymxpc2hlZCBmb3IgdGhlIGpvYiwgc28gdGhlIGNhdXNlIGNvdWxkIG5ldmVyIGJlIGNvbmZpcm1lZC4gSW52ZXN0aWdhdGlvbgpzaG93cyB0aGUgZmFpbHVyZSBpcyBhIGRpc2NyZXRlIHBlci1ub2RlIGhhbmcgKGJpbW9kYWwgdGltaW5nOiBoZWFsdGh5IHJ1bnMKZmluaXNoIGJ5IH4yOS82MCByZXRyaWVzLCBmYWlsdXJlcyBydW4gdGhlIGZ1bGwgYnVkZ2V0KSwgaXMgbm90IHJlcHJvZHVjaWJsZQppbiBpc29sYXRpb24gKDUwLzUwIGxvY2FsIGNvbGQtc3RhcnRzIHBhc3NlZCwgZXZlbiBDUFUtY29uc3RyYWluZWQpLCBhbmQgaXMKbm90IENQVS1ib3VuZCDigJQgcG9pbnRpbmcgYXQgdGhlIENJIGVudmlyb25tZW50LiBDYXB0dXJpbmcgdGhlIHdvcmtlcidzIGFjdHVhbApzdGF0ZS9sb2dzIG9uIHRoZSBuZXh0IHJlYWwgZmFpbHVyZSBpcyB0aGUgcHJlcmVxdWlzaXRlIHRvIHRlbGxpbmcgYXBhcnQgYQpjcmFzaC1sb29wLCBhIGhhbmcsIGEgYHBncmVwYCBoZWFsdGhjaGVjayBtaXNtYXRjaCwgb3IgT09NLgoKIyMgU2FmZXR5CgpNb2xlY3VsZSBydW5zIHVzZSBkdW1teSBjcmVkZW50aWFscywgYW5kIGBkb2NrZXIgbG9nc2AgY2FwdHVyZXMgY29udGFpbmVyCnN0ZG91dC9zdGRlcnIgcmF0aGVyIHRoYW4gdGhlIGVudmlyb25tZW50LCBzbyBubyByZWFsIHNlY3JldHMgYXJlIHB1Ymxpc2hlZC4KCkRyYWZ0OiBvcGVuZWQgdG8gcnVuIENJIGFuZCBnYXRoZXIgdGhlIGZpcnN0IGluc3RydW1lbnRlZCBmYWlsdXJlcy4KCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUpCgotLS0KCiMjIyBSZWN1cnJlbmNlIOKAlCBjb25maXJtZWQgYG1vbGVjdWxlLW5ldGJveC13b3JrZXItdW5oZWFsdGh5YCBmYWlsdXJlcwoKMTQgY2hlY2stcGlwZWxpbmUgYnVpbGRzIG1hdGNoIHRoZSBzaWduYXR1cmUgb3ZlciB0aGUgbGFzdCB+MTIwIGJ1aWxkcywgc3Bhbm5pbmcgMjAyNi0wMS0xOSDihpIgMjAyNi0wNi0wMSAoNCsgbW9udGhzKS4gVGhpcyBpcyBhIGxvbmctc3RhbmRpbmcsIGNoYW5nZS1pbmRlcGVuZGVudCBmbGFrZSAofjcwJSBqb2IgZmFpbHVyZSByYXRlKSwgbm90IGEgb25lLW9mZjoKCi0gMjAyNi0wNi0wMSDigJQgW2A5ZjMwYjIyNjJmYTVgXShodHRwczovL3p1dWwuc2VydmljZXMub3Npc20udGVjaC90L29zaXNtL2J1aWxkLzlmMzBiMjI2MmZhNTQ0OTA4MmU1NWVhNzJmNWQxYjIwKQotIDIwMjYtMDUtMjcg4oCUIFtgZTAzMTliNzlkMzM5YF0oaHR0cHM6Ly96dXVsLnNlcnZpY2VzLm9zaXNtLnRlY2gvdC9vc2lzbS9idWlsZC9lMDMxOWI3OWQzMzk0ZDNlOGQ3N2FmZTQyZmFkYTM1NikKLSAyMDI2LTA1LTE5IOKAlCBbYDkyNGRhMGUwYmYxYWBdKGh0dHBzOi8venV1bC5zZXJ2aWNlcy5vc2lzbS50ZWNoL3Qvb3Npc20vYnVpbGQvOTI0ZGEwZTBiZjFhNDI0NGIyNTc3YzdlMWI3ZWRhMjEpCi0gMjAyNi0wNS0xNCDigJQgW2AyMzIxOTcwY2Y1NzZgXShodHRwczovL3p1dWwuc2VydmljZXMub3Npc20udGVjaC90L29zaXNtL2J1aWxkLzIzMjE5NzBjZjU3NjQwNGE4N2RmYzcxZGE0N2RiODA1KQotIDIwMjYtMDUtMTQg4oCUIFtgMDZiNDg4NWM5Yjk5YF0oaHR0cHM6Ly96dXVsLnNlcnZpY2VzLm9zaXNtLnRlY2gvdC9vc2lzbS9idWlsZC8wNmI0ODg1YzliOTk0YTVmOGU5ZWY3MmU1NjUzNTQ2ZCkKLSAyMDI2LTA1LTEyIOKAlCBbYGYwMDBkYzgxNDdjMmBdKGh0dHBzOi8venV1bC5zZXJ2aWNlcy5vc2lzbS50ZWNoL3Qvb3Npc20vYnVpbGQvZjAwMGRjODE0N2MyNGEwZTliN2NjZjM4YWZlYTVjZTkpCi0gMjAyNi0wNS0wOSDigJQgW2AzNWJkMGNjYzA5YjlgXShodHRwczovL3p1dWwuc2VydmljZXMub3Npc20udGVjaC90L29zaXNtL2J1aWxkLzM1YmQwY2NjMDliOTQ2NDdiODYxZmY3MmUzY2U4MjEyKQotIDIwMjYtMDQtMDkg4oCUIFtgNDM1MWEwMWE4YjkxYF0oaHR0cHM6Ly96dXVsLnNlcnZpY2VzLm9zaXNtLnRlY2gvdC9vc2lzbS9idWlsZC80MzUxYTAxYThiOTE0ZWI1OTBlNGFlYWU4NWFmYTFkZikKLSAyMDI2LTAyLTIzIOKAlCBbYDhjZTZiYzcxMDJlZWBdKGh0dHBzOi8venV1bC5zZXJ2aWNlcy5vc2lzbS50ZWNoL3Qvb3Npc20vYnVpbGQvOGNlNmJjNzEwMmVlNGJhNzkwY2FiNGE0YjVlMTkyZDUpCi0gMjAyNi0wMi0xMiDigJQgW2A2MDY5MTE2ZTdlMjdgXShodHRwczovL3p1dWwuc2VydmljZXMub3Npc20udGVjaC90L29zaXNtL2J1aWxkLzYwNjkxMTZlN2UyNzQwYzRiYWFkNzRlMTdlYmVjNjU4KQotIDIwMjYtMDItMTAg4oCUIFtgYjE4OGI5YzZjMDU0YF0oaHR0cHM6Ly96dXVsLnNlcnZpY2VzLm9zaXNtLnRlY2gvdC9vc2lzbS9idWlsZC9iMTg4YjljNmMwNTQ0ZmEwOTE4NDBmOGI0Y2Y2NGE3ZSkKLSAyMDI2LTAyLTAyIOKAlCBbYDQyN2FlOTljNmNlMmBdKGh0dHBzOi8venV1bC5zZXJ2aWNlcy5vc2lzbS50ZWNoL3Qvb3Npc20vYnVpbGQvNDI3YWU5OWM2Y2UyNGU0MzgzNzY2ZGZmNzEzODA3OGYpCi0gMjAyNi0wMi0wMiDigJQgW2BiMWMwOWZiZjFlOThgXShodHRwczovL3p1dWwuc2VydmljZXMub3Npc20udGVjaC90L29zaXNtL2J1aWxkL2IxYzA5ZmJmMWU5ODQwMDM5YWM4NDMxMjgyYjIwYTRlKQotIDIwMjYtMDEtMTkg4oCUIFtgODFhM2Q4YzIxYzY4YF0oaHR0cHM6Ly96dXVsLnNlcnZpY2VzLm9zaXNtLnRlY2gvdC9vc2lzbS9idWlsZC84MWEzZDhjMjFjNjg0NzMzOGQzYTFjZTlmNTc2MGRkNikK
      patchset: 44c0a99350c35fcabaedefe0144a1be366884d0c
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          untrusted/project_3/github.com/osism/ansible-collection-services:
            canonical_name: github.com/osism/ansible-collection-services
            checkout: main
            commit: c925dac766f3fe73d67b2b91166d1dc67f792154
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/ansible-molecule/run.yaml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_0/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/ansible-collection-services
        name: osism/ansible-collection-services
        short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
      projects:
        github.com/osism/ansible-collection-services:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          checkout: main
          checkout_description: zuul branch
          commit: c925dac766f3fe73d67b2b91166d1dc67f792154
          name: osism/ansible-collection-services
          required: false
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
      ref: refs/pull/2090/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
