all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe89:109d
      ansible_molecule_ansible_version: 11.12.0
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_role: adminer
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 04e3f8d5-ad9f-46eb-b134-ec8fc842fe19
        host_id: 4ba4344415ca7057d9956ea5de826bbc0b830981e82c0e0f191fa07b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe89:109d
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.102
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.181
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe89:109d
        region: null
        slot: null
    ubuntu-noble:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe8f:2bcf
      ansible_molecule_ansible_version: 11.12.0
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_role: adminer
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: be50e11b-5d48-4bbf-9d3b-6f9045d3d2e9
        host_id: d2c528664e1bd332192bb574345deb0c6c7158061222e4a6c036b5ef
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe8f:2bcf
        label: ubuntu-noble
        node_properties: {}
        private_ipv4: 10.128.7.95
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.87
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe8f:2bcf
        region: null
        slot: null
  vars:
    ansible_molecule_ansible_version: 11.12.0
    ansible_role: adminer
    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-adminer explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: osism/ansible-collection-services/.zuul.yaml@main#97>'
      - '<Job ansible-collection-services-molecule-adminer explicit: None implied:
        None source: osism/ansible-collection-services/.zuul.yaml@main#499>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: e9ec99ba735844e8a30fa7f6e7cb6d6d
      build_refs:
      - branch: main
        change: '2090'
        change_message: "molecule: publish per-container logs on failure\n\n## What\n\nA
          Zuul `post-run` playbook (`playbooks/collect-container-logs.yml`), wired\ninto
          `abstract-ansible-collection-services-molecule`, that publishes\nper-container
          docker diagnostics on every molecule run into the build's log\ndirectory
          (per node):\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\nBest-effort
          (`failed_when: false`); covers every docker-based role in the\nscenario.\n\n##
          Why\n\nThe molecule jobs published nothing about the running containers,
          so a\ncontainer that never became healthy could only be diagnosed by a local\nreproduction.
          This is the gap that left the chronic\n`molecule-netbox-worker-unhealthy`
          flake (~70% failure rate) unexplained\nfor months. With this instrumentation,
          the netbox flake was root-caused\nfrom a single CI failure \u2014 the fix
          is in #2091.\n\nA `post-run` is required rather than a `block`/`rescue`
          in the converge\nplaybook: the molecule health gates run as Ansible *handlers*,
          whose\nfailures happen at play-end (`flush_handlers`) outside any block/rescue,
          so\na rescue never fires. The post phase runs after molecule aborts, while
          the\ncontainers are still up (`destroy` is off by default).\n\n## Safety\n\nMolecule
          runs use dummy credentials, and `docker logs` captures container\nstdout/stderr
          (not the environment), so no real secrets are published.\n\n\U0001F916 Generated
          with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/ansible-collection-services/pull/2090
        commit_id: 6d428177f2edffa8991a66fbe0c883f25c51280a
        patchset: 6d428177f2edffa8991a66fbe0c883f25c51280a
        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: 5d7cd1b63d434cf2bab52d4db60299c9
      buildset_refs:
      - branch: main
        change: '2090'
        change_message: "molecule: publish per-container logs on failure\n\n## What\n\nA
          Zuul `post-run` playbook (`playbooks/collect-container-logs.yml`), wired\ninto
          `abstract-ansible-collection-services-molecule`, that publishes\nper-container
          docker diagnostics on every molecule run into the build's log\ndirectory
          (per node):\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\nBest-effort
          (`failed_when: false`); covers every docker-based role in the\nscenario.\n\n##
          Why\n\nThe molecule jobs published nothing about the running containers,
          so a\ncontainer that never became healthy could only be diagnosed by a local\nreproduction.
          This is the gap that left the chronic\n`molecule-netbox-worker-unhealthy`
          flake (~70% failure rate) unexplained\nfor months. With this instrumentation,
          the netbox flake was root-caused\nfrom a single CI failure \u2014 the fix
          is in #2091.\n\nA `post-run` is required rather than a `block`/`rescue`
          in the converge\nplaybook: the molecule health gates run as Ansible *handlers*,
          whose\nfailures happen at play-end (`flush_handlers`) outside any block/rescue,
          so\na rescue never fires. The post phase runs after molecule aborts, while
          the\ncontainers are still up (`destroy` is off by default).\n\n## Safety\n\nMolecule
          runs use dummy credentials, and `docker logs` captures container\nstdout/stderr
          (not the environment), so no real secrets are published.\n\n\U0001F916 Generated
          with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/ansible-collection-services/pull/2090
        commit_id: 6d428177f2edffa8991a66fbe0c883f25c51280a
        patchset: 6d428177f2edffa8991a66fbe0c883f25c51280a
        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: publish per-container logs on failure\n\n## What\n\nA
        Zuul `post-run` playbook (`playbooks/collect-container-logs.yml`), wired\ninto
        `abstract-ansible-collection-services-molecule`, that publishes\nper-container
        docker diagnostics on every molecule run into the build's log\ndirectory (per
        node):\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\nBest-effort (`failed_when:
        false`); covers every docker-based role in the\nscenario.\n\n## Why\n\nThe
        molecule jobs published nothing about the running containers, so a\ncontainer
        that never became healthy could only be diagnosed by a local\nreproduction.
        This is the gap that left the chronic\n`molecule-netbox-worker-unhealthy`
        flake (~70% failure rate) unexplained\nfor months. With this instrumentation,
        the netbox flake was root-caused\nfrom a single CI failure \u2014 the fix
        is in #2091.\n\nA `post-run` is required rather than a `block`/`rescue` in
        the converge\nplaybook: the molecule health gates run as Ansible *handlers*,
        whose\nfailures happen at play-end (`flush_handlers`) outside any block/rescue,
        so\na rescue never fires. The post phase runs after molecule aborts, while
        the\ncontainers are still up (`destroy` is off by default).\n\n## Safety\n\nMolecule
        runs use dummy credentials, and `docker logs` captures container\nstdout/stderr
        (not the environment), so no real secrets are published.\n\n\U0001F916 Generated
        with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/ansible-collection-services/pull/2090
      child_jobs: []
      commit_id: 6d428177f2edffa8991a66fbe0c883f25c51280a
      event_id: 2d753d82-7643-11f1-8bae-07d27c294fe6
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/e9ec99ba735844e8a30fa7f6e7cb6d6d/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/e9ec99ba735844e8a30fa7f6e7cb6d6d/work/logs
        result_data_file: /var/lib/zuul/builds/e9ec99ba735844e8a30fa7f6e7cb6d6d/work/results.json
        src_root: /var/lib/zuul/builds/e9ec99ba735844e8a30fa7f6e7cb6d6d/work/src
        work_root: /var/lib/zuul/builds/e9ec99ba735844e8a30fa7f6e7cb6d6d/work
      include_vars: []
      items:
      - branch: main
        change: '2090'
        change_message: "molecule: publish per-container logs on failure\n\n## What\n\nA
          Zuul `post-run` playbook (`playbooks/collect-container-logs.yml`), wired\ninto
          `abstract-ansible-collection-services-molecule`, that publishes\nper-container
          docker diagnostics on every molecule run into the build's log\ndirectory
          (per node):\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\nBest-effort
          (`failed_when: false`); covers every docker-based role in the\nscenario.\n\n##
          Why\n\nThe molecule jobs published nothing about the running containers,
          so a\ncontainer that never became healthy could only be diagnosed by a local\nreproduction.
          This is the gap that left the chronic\n`molecule-netbox-worker-unhealthy`
          flake (~70% failure rate) unexplained\nfor months. With this instrumentation,
          the netbox flake was root-caused\nfrom a single CI failure \u2014 the fix
          is in #2091.\n\nA `post-run` is required rather than a `block`/`rescue`
          in the converge\nplaybook: the molecule health gates run as Ansible *handlers*,
          whose\nfailures happen at play-end (`flush_handlers`) outside any block/rescue,
          so\na rescue never fires. The post phase runs after molecule aborts, while
          the\ncontainers are still up (`destroy` is off by default).\n\n## Safety\n\nMolecule
          runs use dummy credentials, and `docker logs` captures container\nstdout/stderr
          (not the environment), so no real secrets are published.\n\n\U0001F916 Generated
          with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/ansible-collection-services/pull/2090
        commit_id: 6d428177f2edffa8991a66fbe0c883f25c51280a
        patchset: 6d428177f2edffa8991a66fbe0c883f25c51280a
        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-adminer
      jobtags: []
      max_attempts: 3
      message: bW9sZWN1bGU6IHB1Ymxpc2ggcGVyLWNvbnRhaW5lciBsb2dzIG9uIGZhaWx1cmUKCiMjIFdoYXQKCkEgWnV1bCBgcG9zdC1ydW5gIHBsYXlib29rIChgcGxheWJvb2tzL2NvbGxlY3QtY29udGFpbmVyLWxvZ3MueW1sYCksIHdpcmVkCmludG8gYGFic3RyYWN0LWFuc2libGUtY29sbGVjdGlvbi1zZXJ2aWNlcy1tb2xlY3VsZWAsIHRoYXQgcHVibGlzaGVzCnBlci1jb250YWluZXIgZG9ja2VyIGRpYWdub3N0aWNzIG9uIGV2ZXJ5IG1vbGVjdWxlIHJ1biBpbnRvIHRoZSBidWlsZCdzIGxvZwpkaXJlY3RvcnkgKHBlciBub2RlKToKCi0gYF9vdmVydmlldy50eHRgIOKAlCBgZG9ja2VyIHBzIC0tYWxsYCAobmFtZSAvIHN0YXRlIC8gc3RhdHVzKQotIGA8Y29udGFpbmVyPi50eHRgIOKAlCBgZG9ja2VyIGxvZ3NgIChzdGRvdXQrc3RkZXJyKQotIGA8Y29udGFpbmVyPi5pbnNwZWN0Lmpzb25gIOKAlCBgZG9ja2VyIGluc3BlY3QgLlN0YXRlYCAoaGVhbHRoIC8gcmVzdGFydCAvIGV4aXQpCgpCZXN0LWVmZm9ydCAoYGZhaWxlZF93aGVuOiBmYWxzZWApOyBjb3ZlcnMgZXZlcnkgZG9ja2VyLWJhc2VkIHJvbGUgaW4gdGhlCnNjZW5hcmlvLgoKIyMgV2h5CgpUaGUgbW9sZWN1bGUgam9icyBwdWJsaXNoZWQgbm90aGluZyBhYm91dCB0aGUgcnVubmluZyBjb250YWluZXJzLCBzbyBhCmNvbnRhaW5lciB0aGF0IG5ldmVyIGJlY2FtZSBoZWFsdGh5IGNvdWxkIG9ubHkgYmUgZGlhZ25vc2VkIGJ5IGEgbG9jYWwKcmVwcm9kdWN0aW9uLiBUaGlzIGlzIHRoZSBnYXAgdGhhdCBsZWZ0IHRoZSBjaHJvbmljCmBtb2xlY3VsZS1uZXRib3gtd29ya2VyLXVuaGVhbHRoeWAgZmxha2UgKH43MCUgZmFpbHVyZSByYXRlKSB1bmV4cGxhaW5lZApmb3IgbW9udGhzLiBXaXRoIHRoaXMgaW5zdHJ1bWVudGF0aW9uLCB0aGUgbmV0Ym94IGZsYWtlIHdhcyByb290LWNhdXNlZApmcm9tIGEgc2luZ2xlIENJIGZhaWx1cmUg4oCUIHRoZSBmaXggaXMgaW4gIzIwOTEuCgpBIGBwb3N0LXJ1bmAgaXMgcmVxdWlyZWQgcmF0aGVyIHRoYW4gYSBgYmxvY2tgL2ByZXNjdWVgIGluIHRoZSBjb252ZXJnZQpwbGF5Ym9vazogdGhlIG1vbGVjdWxlIGhlYWx0aCBnYXRlcyBydW4gYXMgQW5zaWJsZSAqaGFuZGxlcnMqLCB3aG9zZQpmYWlsdXJlcyBoYXBwZW4gYXQgcGxheS1lbmQgKGBmbHVzaF9oYW5kbGVyc2ApIG91dHNpZGUgYW55IGJsb2NrL3Jlc2N1ZSwgc28KYSByZXNjdWUgbmV2ZXIgZmlyZXMuIFRoZSBwb3N0IHBoYXNlIHJ1bnMgYWZ0ZXIgbW9sZWN1bGUgYWJvcnRzLCB3aGlsZSB0aGUKY29udGFpbmVycyBhcmUgc3RpbGwgdXAgKGBkZXN0cm95YCBpcyBvZmYgYnkgZGVmYXVsdCkuCgojIyBTYWZldHkKCk1vbGVjdWxlIHJ1bnMgdXNlIGR1bW15IGNyZWRlbnRpYWxzLCBhbmQgYGRvY2tlciBsb2dzYCBjYXB0dXJlcyBjb250YWluZXIKc3Rkb3V0L3N0ZGVyciAobm90IHRoZSBlbnZpcm9ubWVudCksIHNvIG5vIHJlYWwgc2VjcmV0cyBhcmUgcHVibGlzaGVkLgoK8J+kliBHZW5lcmF0ZWQgd2l0aCBbQ2xhdWRlIENvZGVdKGh0dHBzOi8vY2xhdWRlLmNvbS9jbGF1ZGUtY29kZSk=
      patchset: 6d428177f2edffa8991a66fbe0c883f25c51280a
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 1d71e58c93442038e695a5d883d57a603182c7ae
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 1d71e58c93442038e695a5d883d57a603182c7ae
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
          untrusted/project_3/github.com/osism/ansible-collection-services:
            canonical_name: github.com/osism/ansible-collection-services
            checkout: main
            commit: d77d30503d9bd2646a0e9e6d5f4fb5bfba97c72d
        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: 1800
      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: d77d30503d9bd2646a0e9e6d5f4fb5bfba97c72d
          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
