all:
  children:
    cephs:
      hosts:
        instance: null
    computes:
      hosts:
        instance: null
    controllers:
      hosts:
        instance: null
    zuul_unreachable:
      hosts: {}
  hosts:
    instance:
      ansible_connection: ssh
      ansible_host: 162.253.55.52
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      atmosphere_image_prefix: harbor.atmosphere.dev/
      ceph_conf_overrides:
      - option: mon allow pool size one
        section: global
        value: true
      - option: osd crush chooseleaf type
        section: global
        value: 0
      - option: auth allow insecure global id reclaim
        section: mon
        value: false
      ceph_csi_rbd_helm_values:
        provisioner:
          replicaCount: 1
      ceph_fsid: 4837cbf8-4f90-4300-b3f6-726c9b9f89b4
      ceph_osd_devices:
      - /dev/ceph-{{ inventory_hostname_short }}-osd0/data
      - /dev/ceph-{{ inventory_hostname_short }}-osd1/data
      - /dev/ceph-{{ inventory_hostname_short }}-osd2/data
      cilium_helm_values:
        operator:
          replicas: 1
      csi_driver: rbd
      kube_vip_address: 172.17.0.100
      kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
      kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
      molecule_install_collection_siblings: true
      molecule_scenario: csi
      nodepool:
        az: yul2
        cloud: public
        external_id: 06f247a1-565a-4737-b6b6-814c38ee1d43
        host_id: e2217f7b4f5379e78de6cffbe6e55a6dab535d06d17c0222e96954e4
        interface_ip: 162.253.55.52
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 162.253.55.52
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.52
        public_ipv6: 2604:e100:1:0:f816:3eff:feed:5ab6
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: yul2
        cloud: public
        external_id: 06f247a1-565a-4737-b6b6-814c38ee1d43
        host_id: e2217f7b4f5379e78de6cffbe6e55a6dab535d06d17c0222e96954e4
        interface_ip: 162.253.55.52
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 162.253.55.52
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.52
        public_ipv6: 2604:e100:1:0:f816:3eff:feed:5ab6
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    atmosphere_image_prefix: harbor.atmosphere.dev/
    ceph_conf_overrides:
    - option: mon allow pool size one
      section: global
      value: true
    - option: osd crush chooseleaf type
      section: global
      value: 0
    - option: auth allow insecure global id reclaim
      section: mon
      value: false
    ceph_csi_rbd_helm_values:
      provisioner:
        replicaCount: 1
    ceph_fsid: 4837cbf8-4f90-4300-b3f6-726c9b9f89b4
    ceph_osd_devices:
    - /dev/ceph-{{ inventory_hostname_short }}-osd0/data
    - /dev/ceph-{{ inventory_hostname_short }}-osd1/data
    - /dev/ceph-{{ inventory_hostname_short }}-osd2/data
    cilium_helm_values:
      operator:
        replicas: 1
    csi_driver: rbd
    kube_vip_address: 172.17.0.100
    kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
    kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
    molecule_install_collection_siblings: true
    molecule_scenario: csi
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-config/zuul.d/jobs.yaml@main#1>'
      - '<Job molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-jobs/zuul.d/ansible-jobs.yaml@main#1>'
      - '<Job atmosphere-molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere-zuul-jobs/zuul.d/jobs.yaml@main#1>'
      - '<Job atmosphere-molecule-csi explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere-zuul-jobs/zuul.d/jobs.yaml@main#56>'
      - '<Job atmosphere-molecule-csi-rbd explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere-zuul-jobs/zuul.d/jobs.yaml@main#69>'
      - '<Job atmosphere-molecule-csi-rbd explicit: None implied: None source: vexxhost/atmosphere-zuul-jobs/zuul.d/project-templates.yaml@main#1>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: f50d92e04fc74c35b76c70ae29986571
      build_refs:
      - branch: main
        change: '2851'
        change_message: 'feat(cinder): support active-active volume and backup services


          ## Summary


          - run Cinder volume and backup workers as StatefulSets with stable, unique
          host identities

          - configure the default RBD volume services as a three-replica Cinder Active-Active
          cluster

          - use the existing TLS-enabled Valkey Sentinel deployment as the maintained
          Tooz coordination backend

          - retain a documented single-replica escape hatch for storage drivers without
          Active-Active support


          This replaces the earlier Kubernetes/Sherlock locking approach. Sherlock
          is unmaintained, the old chart changes duplicated broad Kubernetes RBAC,
          and the static Cinder host value caused multiple replicas to register as
          the same service.


          ## Dependencies


          - Image support: https://github.com/vexxhost/docker-cinder/pull/1319

          - Adapted volume StatefulSet backport: https://review.opendev.org/c/openstack/openstack-helm/+/991510


          The image PR must merge and Atmosphere''s pinned Cinder image digest must
          be updated before this change is merged.


          ## Validation


          - `go test ./roles/cinder`

          - `helm unittest -f ''../../roles/cinder/tests/*.yaml'' charts/cinder` (4
          suites, 9 tests)

          - `helm lint charts/cinder`

          - Cinder-focused chart-vendor reconstruction and patch application

          - `ansible-lint --offline` on the changed Cinder YAML and release note

          - rendered dynamic/static Cinder volume and backup scripts checked with
          `bash -n`

          - exact Tooz Redis Sentinel URL parsing checked against Tooz 6.3.0 and redis-py
          6.1.1


          Full local pre-commit bootstrap is blocked by the workstation''s Python
          3.8/setuptools handling of current `project.license` metadata. `reno lint`
          also reaches an unrelated existing duplicate release-note UID; this note
          parses and has a unique UID.

          '
        change_url: https://github.com/vexxhost/atmosphere/pull/2851
        commit_id: aec279a22bebe28c86a433ab39799c8d0fda1bc4
        patchset: aec279a22bebe28c86a433ab39799c8d0fda1bc4
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere
          name: vexxhost/atmosphere
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
        src_dir: src/github.com/vexxhost/atmosphere
        topic: null
      buildset: 2e5ed572bacd41ab90bbc95cd794951e
      buildset_refs:
      - branch: main
        change: '2851'
        change_message: 'feat(cinder): support active-active volume and backup services


          ## Summary


          - run Cinder volume and backup workers as StatefulSets with stable, unique
          host identities

          - configure the default RBD volume services as a three-replica Cinder Active-Active
          cluster

          - use the existing TLS-enabled Valkey Sentinel deployment as the maintained
          Tooz coordination backend

          - retain a documented single-replica escape hatch for storage drivers without
          Active-Active support


          This replaces the earlier Kubernetes/Sherlock locking approach. Sherlock
          is unmaintained, the old chart changes duplicated broad Kubernetes RBAC,
          and the static Cinder host value caused multiple replicas to register as
          the same service.


          ## Dependencies


          - Image support: https://github.com/vexxhost/docker-cinder/pull/1319

          - Adapted volume StatefulSet backport: https://review.opendev.org/c/openstack/openstack-helm/+/991510


          The image PR must merge and Atmosphere''s pinned Cinder image digest must
          be updated before this change is merged.


          ## Validation


          - `go test ./roles/cinder`

          - `helm unittest -f ''../../roles/cinder/tests/*.yaml'' charts/cinder` (4
          suites, 9 tests)

          - `helm lint charts/cinder`

          - Cinder-focused chart-vendor reconstruction and patch application

          - `ansible-lint --offline` on the changed Cinder YAML and release note

          - rendered dynamic/static Cinder volume and backup scripts checked with
          `bash -n`

          - exact Tooz Redis Sentinel URL parsing checked against Tooz 6.3.0 and redis-py
          6.1.1


          Full local pre-commit bootstrap is blocked by the workstation''s Python
          3.8/setuptools handling of current `project.license` metadata. `reno lint`
          also reaches an unrelated existing duplicate release-note UID; this note
          parses and has a unique UID.

          '
        change_url: https://github.com/vexxhost/atmosphere/pull/2851
        commit_id: aec279a22bebe28c86a433ab39799c8d0fda1bc4
        patchset: aec279a22bebe28c86a433ab39799c8d0fda1bc4
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere
          name: vexxhost/atmosphere
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
        src_dir: src/github.com/vexxhost/atmosphere
        topic: null
      change: '2851'
      change_message: 'feat(cinder): support active-active volume and backup services


        ## Summary


        - run Cinder volume and backup workers as StatefulSets with stable, unique
        host identities

        - configure the default RBD volume services as a three-replica Cinder Active-Active
        cluster

        - use the existing TLS-enabled Valkey Sentinel deployment as the maintained
        Tooz coordination backend

        - retain a documented single-replica escape hatch for storage drivers without
        Active-Active support


        This replaces the earlier Kubernetes/Sherlock locking approach. Sherlock is
        unmaintained, the old chart changes duplicated broad Kubernetes RBAC, and
        the static Cinder host value caused multiple replicas to register as the same
        service.


        ## Dependencies


        - Image support: https://github.com/vexxhost/docker-cinder/pull/1319

        - Adapted volume StatefulSet backport: https://review.opendev.org/c/openstack/openstack-helm/+/991510


        The image PR must merge and Atmosphere''s pinned Cinder image digest must
        be updated before this change is merged.


        ## Validation


        - `go test ./roles/cinder`

        - `helm unittest -f ''../../roles/cinder/tests/*.yaml'' charts/cinder` (4
        suites, 9 tests)

        - `helm lint charts/cinder`

        - Cinder-focused chart-vendor reconstruction and patch application

        - `ansible-lint --offline` on the changed Cinder YAML and release note

        - rendered dynamic/static Cinder volume and backup scripts checked with `bash
        -n`

        - exact Tooz Redis Sentinel URL parsing checked against Tooz 6.3.0 and redis-py
        6.1.1


        Full local pre-commit bootstrap is blocked by the workstation''s Python 3.8/setuptools
        handling of current `project.license` metadata. `reno lint` also reaches an
        unrelated existing duplicate release-note UID; this note parses and has a
        unique UID.

        '
      change_url: https://github.com/vexxhost/atmosphere/pull/2851
      child_jobs: []
      commit_id: aec279a22bebe28c86a433ab39799c8d0fda1bc4
      event_id: f26ae610-a5bd-11f1-9c1b-959c03242137
      executor:
        hostname: 2d72f0692154
        inventory_file: /var/lib/zuul/builds/f50d92e04fc74c35b76c70ae29986571/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/f50d92e04fc74c35b76c70ae29986571/work/logs
        result_data_file: /var/lib/zuul/builds/f50d92e04fc74c35b76c70ae29986571/work/results.json
        src_root: /var/lib/zuul/builds/f50d92e04fc74c35b76c70ae29986571/work/src
        work_root: /var/lib/zuul/builds/f50d92e04fc74c35b76c70ae29986571/work
      include_vars: []
      items:
      - branch: main
        change: '2851'
        change_message: 'feat(cinder): support active-active volume and backup services


          ## Summary


          - run Cinder volume and backup workers as StatefulSets with stable, unique
          host identities

          - configure the default RBD volume services as a three-replica Cinder Active-Active
          cluster

          - use the existing TLS-enabled Valkey Sentinel deployment as the maintained
          Tooz coordination backend

          - retain a documented single-replica escape hatch for storage drivers without
          Active-Active support


          This replaces the earlier Kubernetes/Sherlock locking approach. Sherlock
          is unmaintained, the old chart changes duplicated broad Kubernetes RBAC,
          and the static Cinder host value caused multiple replicas to register as
          the same service.


          ## Dependencies


          - Image support: https://github.com/vexxhost/docker-cinder/pull/1319

          - Adapted volume StatefulSet backport: https://review.opendev.org/c/openstack/openstack-helm/+/991510


          The image PR must merge and Atmosphere''s pinned Cinder image digest must
          be updated before this change is merged.


          ## Validation


          - `go test ./roles/cinder`

          - `helm unittest -f ''../../roles/cinder/tests/*.yaml'' charts/cinder` (4
          suites, 9 tests)

          - `helm lint charts/cinder`

          - Cinder-focused chart-vendor reconstruction and patch application

          - `ansible-lint --offline` on the changed Cinder YAML and release note

          - rendered dynamic/static Cinder volume and backup scripts checked with
          `bash -n`

          - exact Tooz Redis Sentinel URL parsing checked against Tooz 6.3.0 and redis-py
          6.1.1


          Full local pre-commit bootstrap is blocked by the workstation''s Python
          3.8/setuptools handling of current `project.license` metadata. `reno lint`
          also reaches an unrelated existing duplicate release-note UID; this note
          parses and has a unique UID.

          '
        change_url: https://github.com/vexxhost/atmosphere/pull/2851
        commit_id: aec279a22bebe28c86a433ab39799c8d0fda1bc4
        patchset: aec279a22bebe28c86a433ab39799c8d0fda1bc4
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere
          name: vexxhost/atmosphere
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
        topic: null
      job: atmosphere-molecule-csi-rbd
      jobtags: []
      max_attempts: 3
      message: ZmVhdChjaW5kZXIpOiBzdXBwb3J0IGFjdGl2ZS1hY3RpdmUgdm9sdW1lIGFuZCBiYWNrdXAgc2VydmljZXMKCiMjIFN1bW1hcnkKCi0gcnVuIENpbmRlciB2b2x1bWUgYW5kIGJhY2t1cCB3b3JrZXJzIGFzIFN0YXRlZnVsU2V0cyB3aXRoIHN0YWJsZSwgdW5pcXVlIGhvc3QgaWRlbnRpdGllcwotIGNvbmZpZ3VyZSB0aGUgZGVmYXVsdCBSQkQgdm9sdW1lIHNlcnZpY2VzIGFzIGEgdGhyZWUtcmVwbGljYSBDaW5kZXIgQWN0aXZlLUFjdGl2ZSBjbHVzdGVyCi0gdXNlIHRoZSBleGlzdGluZyBUTFMtZW5hYmxlZCBWYWxrZXkgU2VudGluZWwgZGVwbG95bWVudCBhcyB0aGUgbWFpbnRhaW5lZCBUb296IGNvb3JkaW5hdGlvbiBiYWNrZW5kCi0gcmV0YWluIGEgZG9jdW1lbnRlZCBzaW5nbGUtcmVwbGljYSBlc2NhcGUgaGF0Y2ggZm9yIHN0b3JhZ2UgZHJpdmVycyB3aXRob3V0IEFjdGl2ZS1BY3RpdmUgc3VwcG9ydAoKVGhpcyByZXBsYWNlcyB0aGUgZWFybGllciBLdWJlcm5ldGVzL1NoZXJsb2NrIGxvY2tpbmcgYXBwcm9hY2guIFNoZXJsb2NrIGlzIHVubWFpbnRhaW5lZCwgdGhlIG9sZCBjaGFydCBjaGFuZ2VzIGR1cGxpY2F0ZWQgYnJvYWQgS3ViZXJuZXRlcyBSQkFDLCBhbmQgdGhlIHN0YXRpYyBDaW5kZXIgaG9zdCB2YWx1ZSBjYXVzZWQgbXVsdGlwbGUgcmVwbGljYXMgdG8gcmVnaXN0ZXIgYXMgdGhlIHNhbWUgc2VydmljZS4KCiMjIERlcGVuZGVuY2llcwoKLSBJbWFnZSBzdXBwb3J0OiBodHRwczovL2dpdGh1Yi5jb20vdmV4eGhvc3QvZG9ja2VyLWNpbmRlci9wdWxsLzEzMTkKLSBBZGFwdGVkIHZvbHVtZSBTdGF0ZWZ1bFNldCBiYWNrcG9ydDogaHR0cHM6Ly9yZXZpZXcub3BlbmRldi5vcmcvYy9vcGVuc3RhY2svb3BlbnN0YWNrLWhlbG0vKy85OTE1MTAKClRoZSBpbWFnZSBQUiBtdXN0IG1lcmdlIGFuZCBBdG1vc3BoZXJlJ3MgcGlubmVkIENpbmRlciBpbWFnZSBkaWdlc3QgbXVzdCBiZSB1cGRhdGVkIGJlZm9yZSB0aGlzIGNoYW5nZSBpcyBtZXJnZWQuCgojIyBWYWxpZGF0aW9uCgotIGBnbyB0ZXN0IC4vcm9sZXMvY2luZGVyYAotIGBoZWxtIHVuaXR0ZXN0IC1mICcuLi8uLi9yb2xlcy9jaW5kZXIvdGVzdHMvKi55YW1sJyBjaGFydHMvY2luZGVyYCAoNCBzdWl0ZXMsIDkgdGVzdHMpCi0gYGhlbG0gbGludCBjaGFydHMvY2luZGVyYAotIENpbmRlci1mb2N1c2VkIGNoYXJ0LXZlbmRvciByZWNvbnN0cnVjdGlvbiBhbmQgcGF0Y2ggYXBwbGljYXRpb24KLSBgYW5zaWJsZS1saW50IC0tb2ZmbGluZWAgb24gdGhlIGNoYW5nZWQgQ2luZGVyIFlBTUwgYW5kIHJlbGVhc2Ugbm90ZQotIHJlbmRlcmVkIGR5bmFtaWMvc3RhdGljIENpbmRlciB2b2x1bWUgYW5kIGJhY2t1cCBzY3JpcHRzIGNoZWNrZWQgd2l0aCBgYmFzaCAtbmAKLSBleGFjdCBUb296IFJlZGlzIFNlbnRpbmVsIFVSTCBwYXJzaW5nIGNoZWNrZWQgYWdhaW5zdCBUb296IDYuMy4wIGFuZCByZWRpcy1weSA2LjEuMQoKRnVsbCBsb2NhbCBwcmUtY29tbWl0IGJvb3RzdHJhcCBpcyBibG9ja2VkIGJ5IHRoZSB3b3Jrc3RhdGlvbidzIFB5dGhvbiAzLjgvc2V0dXB0b29scyBoYW5kbGluZyBvZiBjdXJyZW50IGBwcm9qZWN0LmxpY2Vuc2VgIG1ldGFkYXRhLiBgcmVubyBsaW50YCBhbHNvIHJlYWNoZXMgYW4gdW5yZWxhdGVkIGV4aXN0aW5nIGR1cGxpY2F0ZSByZWxlYXNlLW5vdGUgVUlEOyB0aGlzIG5vdGUgcGFyc2VzIGFuZCBoYXMgYSB1bmlxdWUgVUlELgo=
      patchset: aec279a22bebe28c86a433ab39799c8d0fda1bc4
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 9b835d0194f05a1b60885a2bbc740d1361c5a672
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: c286bf94224b5660b8e49e9a058289e61062a9a0
          untrusted/project_0/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: c286bf94224b5660b8e49e9a058289e61062a9a0
          untrusted/project_1/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 9b835d0194f05a1b60885a2bbc740d1361c5a672
          untrusted/project_3/github.com/vexxhost/atmosphere-zuul-jobs:
            canonical_name: github.com/vexxhost/atmosphere-zuul-jobs
            checkout: main
            commit: acb8e36a801f3b93fdd30dec43a15b6f8d809c2f
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 6697f8df7f6b0dcc80625b8f8cf2c7c2fa7dd09c
        playbooks:
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_1/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/vexxhost/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
        post_playbooks:
        - path: untrusted/project_3/github.com/vexxhost/atmosphere-zuul-jobs/playbooks/molecule/post.yml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_1/openstack-helm
            link_target: untrusted/project_4/opendev.org/openstack/openstack-helm
            role_path: ansible/post_playbook_0/role_1/openstack-helm/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_3/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_0/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_4/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_0/role_4/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_1/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_2/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_2/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_2/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_2/role_2/zuul-jobs/roles
        pre_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_0/role_2/zuul-jobs/roles
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_1/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_1/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles
        - path: untrusted/project_3/github.com/vexxhost/atmosphere-zuul-jobs/playbooks/molecule/pre.yml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_2/role_1/openstack-helm
            link_target: untrusted/project_4/opendev.org/openstack/openstack-helm
            role_path: ansible/pre_playbook_2/role_1/openstack-helm/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_2/role_3/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_2/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_2/role_4/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_2/role_4/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/vexxhost/atmosphere
        name: vexxhost/atmosphere
        short_name: atmosphere
        src_dir: src/github.com/vexxhost/atmosphere
      projects:
        github.com/ansible-collections/ansible.netcommon:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/ansible.netcommon
          checkout: main
          checkout_description: zuul branch
          commit: 3c1482f295d0746033db268aad986bc1648d20f8
          name: ansible-collections/ansible.netcommon
          required: true
          short_name: ansible.netcommon
          src_dir: src/github.com/ansible-collections/ansible.netcommon
        github.com/ansible-collections/ansible.posix:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/ansible.posix
          checkout: main
          checkout_description: zuul branch
          commit: 20699d7184e21cec7be80212c96a6cbe373f718d
          name: ansible-collections/ansible.posix
          required: true
          short_name: ansible.posix
          src_dir: src/github.com/ansible-collections/ansible.posix
        github.com/ansible-collections/ansible.utils:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/ansible.utils
          checkout: main
          checkout_description: zuul branch
          commit: eb828fcea5d1edeba76cd8efee4f35520b7b8fb5
          name: ansible-collections/ansible.utils
          required: true
          short_name: ansible.utils
          src_dir: src/github.com/ansible-collections/ansible.utils
        github.com/ansible-collections/community.crypto:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/community.crypto
          checkout: main
          checkout_description: zuul branch
          commit: f443c1b56eb61ae4672ec5af8e15dbf6d9060c06
          name: ansible-collections/community.crypto
          required: true
          short_name: community.crypto
          src_dir: src/github.com/ansible-collections/community.crypto
        github.com/ansible-collections/community.general:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/community.general
          checkout: main
          checkout_description: zuul branch
          commit: 60972bc7422ba42060695353ecb54a7c5a99eef0
          name: ansible-collections/community.general
          required: true
          short_name: community.general
          src_dir: src/github.com/ansible-collections/community.general
        github.com/ansible-collections/community.mysql:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/community.mysql
          checkout: main
          checkout_description: zuul branch
          commit: 4cf7a3176fbd07be43459f1366e8066381df6d97
          name: ansible-collections/community.mysql
          required: true
          short_name: community.mysql
          src_dir: src/github.com/ansible-collections/community.mysql
        github.com/ansible-collections/kubernetes.core:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/kubernetes.core
          checkout: main
          checkout_description: zuul branch
          commit: d9e0218dbae23a183aef829847dfeccf0e4e7535
          name: ansible-collections/kubernetes.core
          required: true
          short_name: kubernetes.core
          src_dir: src/github.com/ansible-collections/kubernetes.core
        github.com/vexxhost/ansible-collection-ceph:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-ceph
          checkout: main
          checkout_description: zuul branch
          commit: 44a694a80e3179c28d75180baa1a56426f987257
          name: vexxhost/ansible-collection-ceph
          required: true
          short_name: ansible-collection-ceph
          src_dir: src/github.com/vexxhost/ansible-collection-ceph
        github.com/vexxhost/ansible-collection-containers:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          checkout: main
          checkout_description: zuul branch
          commit: d22923ebd40c0fd5a345318c1db90d125fb5140f
          name: vexxhost/ansible-collection-containers
          required: true
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        github.com/vexxhost/ansible-collection-kubernetes:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-kubernetes
          checkout: main
          checkout_description: zuul branch
          commit: 7ce96efcd4d44cbf184588dd146d08ce952b57bb
          name: vexxhost/ansible-collection-kubernetes
          required: true
          short_name: ansible-collection-kubernetes
          src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
        github.com/vexxhost/atmosphere:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere
          checkout: main
          checkout_description: zuul branch
          commit: aec279a22bebe28c86a433ab39799c8d0fda1bc4
          name: vexxhost/atmosphere
          required: false
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
        github.com/vexxhost/atmosphere.common:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere.common
          checkout: main
          checkout_description: zuul branch
          commit: d00ec7f88fdc7ca2ce504a7e19c4049986cdac86
          name: vexxhost/atmosphere.common
          required: true
          short_name: atmosphere.common
          src_dir: src/github.com/vexxhost/atmosphere.common
        opendev.org/openstack/ansible-collections-openstack:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/ansible-collections-openstack
          checkout: master
          checkout_description: project default branch
          commit: ee88cc15b87221ecabb474c7c3d0feaf6e01a7fa
          name: openstack/ansible-collections-openstack
          required: true
          short_name: ansible-collections-openstack
          src_dir: src/opendev.org/openstack/ansible-collections-openstack
      ref: refs/pull/2851/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
