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.36
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      atmosphere_image_prefix: harbor.atmosphere.dev/
      atmosphere_network_backend: openvswitch
      barbican_helm_values:
        pod:
          replicas:
            api: 1
      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
      ceph_version: 18.2.7
      cilium_helm_values:
        operator:
          replicas: 1
      cinder_helm_values:
        conf:
          ceph:
            pools:
              backup:
                replication: 1
              cinder.volumes:
                replication: 1
          cinder:
            DEFAULT:
              osapi_volume_workers: 2
        pod:
          replicas:
            api: 1
            scheduler: 1
      cluster_issuer_type: self-signed
      coredns_helm_values:
        replicaCount: 1
      csi_driver: local-path-provisioner
      glance_helm_values:
        conf:
          glance:
            DEFAULT:
              workers: 2
            glance_store:
              rbd_store_replication: 1
        pod:
          replicas:
            api: 1
      glance_images:
      - container_format: bare
        disk_format: raw
        is_public: true
        min_disk: 1
        name: cirros
        url: http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img
      heat_helm_values:
        conf:
          heat:
            DEFAULT:
              num_engine_workers: 2
            heat_api:
              workers: 2
            heat_api_cfn:
              workers: 2
            heat_api_cloudwatch:
              workers: 2
        pod:
          replicas:
            api: 1
            cfn: 1
            cloudwatch: 1
            engine: 1
      horizon_helm_values:
        pod:
          replicas:
            server: 1
      ingress_nginx_helm_values:
        controller:
          config:
            worker-processes: 2
      keystone_helm_values:
        pod:
          replicas:
            api: 1
      kube_vip_address: 172.17.0.100
      kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
      kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
      kubernetes_keepalived_interface: br-mgmt
      magnum_helm_values:
        conf:
          magnum:
            api:
              workers: 2
            conductor:
              workers: 2
        pod:
          replicas:
            api: 1
            conductor: 1
      magnum_image_disk_format: qcow2
      magnum_images: '[ {{ _magnum_images[-1] }} ]'
      manila_helm_values:
        conf:
          manila:
            DEFAULT:
              osapi_share_workers: 2
        pod:
          replicas:
            api: 1
            scheduler: 1
      molecule_scenario: aio
      neutron_helm_values:
        conf:
          neutron:
            DEFAULT:
              api_workers: 2
              metadata_workers: 2
              rpc_workers: 2
        pod:
          replicas:
            rpc_server: 1
            server: 1
      nodepool:
        az: nova
        cloud: public
        external_id: 5d7d4da2-b82e-4b18-990c-6706f66e9ccb
        host_id: 413ad91e6120ae81306de27e59dcefd40ab96f06b8665fea7030ef8f
        interface_ip: 162.253.55.36
        label: ubuntu-jammy-16
        node_properties: {}
        private_ipv4: 162.253.55.36
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.36
        public_ipv6: 2604:e100:1:0:f816:3eff:fe41:9151
        region: ca-ymq-1
        slot: null
      nova_helm_values:
        conf:
          nova:
            DEFAULT:
              metadata_workers: 2
              osapi_compute_workers: 2
            conductor:
              workers: 2
            scheduler:
              workers: 2
        pod:
          replicas:
            api_metadata: 1
            conductor: 1
            novncproxy: 1
            osapi: 1
            scheduler: 1
            spiceproxy: 1
      octavia_helm_values:
        conf:
          octavia:
            controller_worker:
              workers: 2
          octavia_api_uwsgi:
            uwsgi:
              processes: 2
        pod:
          replicas:
            api: 1
            housekeeping: 1
            worker: 1
      ovn_helm_values:
        conf:
          auto_bridge_add:
            br-ex: null
        pod:
          replicas:
            ovn_northd: 1
            ovn_ovsdb_nb: 1
            ovn_ovsdb_sb: 1
      percona_xtradb_cluster_spec:
        allowUnsafeConfigurations: true
        haproxy:
          size: 1
        pxc:
          size: 1
      placement_helm_values:
        conf:
          placement_api_uwsgi:
            uwsgi:
              processes: 2
        pod:
          replicas:
            api: 1
      rook_ceph_cluster_radosgw_spec:
        dataPool:
          failureDomain: osd
        gateway:
          instances: 1
        metadataPool:
          failureDomain: osd
      staffeln_helm_values:
        pod:
          replicas:
            api: 1
            conductor: 1
      valkey_helm_values:
        replica:
          replicaCount: 1
      zuul_node:
        az: nova
        cloud: public
        external_id: 5d7d4da2-b82e-4b18-990c-6706f66e9ccb
        host_id: 413ad91e6120ae81306de27e59dcefd40ab96f06b8665fea7030ef8f
        interface_ip: 162.253.55.36
        label: ubuntu-jammy-16
        node_properties: {}
        private_ipv4: 162.253.55.36
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.36
        public_ipv6: 2604:e100:1:0:f816:3eff:fe41:9151
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    atmosphere_image_prefix: harbor.atmosphere.dev/
    atmosphere_network_backend: openvswitch
    barbican_helm_values:
      pod:
        replicas:
          api: 1
    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
    ceph_version: 18.2.7
    cilium_helm_values:
      operator:
        replicas: 1
    cinder_helm_values:
      conf:
        ceph:
          pools:
            backup:
              replication: 1
            cinder.volumes:
              replication: 1
        cinder:
          DEFAULT:
            osapi_volume_workers: 2
      pod:
        replicas:
          api: 1
          scheduler: 1
    cluster_issuer_type: self-signed
    coredns_helm_values:
      replicaCount: 1
    csi_driver: local-path-provisioner
    glance_helm_values:
      conf:
        glance:
          DEFAULT:
            workers: 2
          glance_store:
            rbd_store_replication: 1
      pod:
        replicas:
          api: 1
    glance_images:
    - container_format: bare
      disk_format: raw
      is_public: true
      min_disk: 1
      name: cirros
      url: http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img
    heat_helm_values:
      conf:
        heat:
          DEFAULT:
            num_engine_workers: 2
          heat_api:
            workers: 2
          heat_api_cfn:
            workers: 2
          heat_api_cloudwatch:
            workers: 2
      pod:
        replicas:
          api: 1
          cfn: 1
          cloudwatch: 1
          engine: 1
    horizon_helm_values:
      pod:
        replicas:
          server: 1
    ingress_nginx_helm_values:
      controller:
        config:
          worker-processes: 2
    keystone_helm_values:
      pod:
        replicas:
          api: 1
    kube_vip_address: 172.17.0.100
    kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
    kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
    kubernetes_keepalived_interface: br-mgmt
    magnum_helm_values:
      conf:
        magnum:
          api:
            workers: 2
          conductor:
            workers: 2
      pod:
        replicas:
          api: 1
          conductor: 1
    magnum_image_disk_format: qcow2
    magnum_images: '[ {{ _magnum_images[-1] }} ]'
    manila_helm_values:
      conf:
        manila:
          DEFAULT:
            osapi_share_workers: 2
      pod:
        replicas:
          api: 1
          scheduler: 1
    molecule_scenario: aio
    neutron_helm_values:
      conf:
        neutron:
          DEFAULT:
            api_workers: 2
            metadata_workers: 2
            rpc_workers: 2
      pod:
        replicas:
          rpc_server: 1
          server: 1
    nova_helm_values:
      conf:
        nova:
          DEFAULT:
            metadata_workers: 2
            osapi_compute_workers: 2
          conductor:
            workers: 2
          scheduler:
            workers: 2
      pod:
        replicas:
          api_metadata: 1
          conductor: 1
          novncproxy: 1
          osapi: 1
          scheduler: 1
          spiceproxy: 1
    octavia_helm_values:
      conf:
        octavia:
          controller_worker:
            workers: 2
        octavia_api_uwsgi:
          uwsgi:
            processes: 2
      pod:
        replicas:
          api: 1
          housekeeping: 1
          worker: 1
    ovn_helm_values:
      conf:
        auto_bridge_add:
          br-ex: null
      pod:
        replicas:
          ovn_northd: 1
          ovn_ovsdb_nb: 1
          ovn_ovsdb_sb: 1
    percona_xtradb_cluster_spec:
      allowUnsafeConfigurations: true
      haproxy:
        size: 1
      pxc:
        size: 1
    placement_helm_values:
      conf:
        placement_api_uwsgi:
          uwsgi:
            processes: 2
      pod:
        replicas:
          api: 1
    rook_ceph_cluster_radosgw_spec:
      dataPool:
        failureDomain: osd
      gateway:
        instances: 1
      metadataPool:
        failureDomain: osd
    staffeln_helm_values:
      pod:
        replicas:
          api: 1
          conductor: 1
    valkey_helm_values:
      replica:
        replicaCount: 1
    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.yaml@main#24>'
      - '<Job atmosphere-molecule-aio explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere/.zuul.yaml@main#79>'
      - '<Job atmosphere-molecule-aio-openvswitch explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere/.zuul.yaml@main#261>'
      - '<Job atmosphere-molecule-aio-openvswitch explicit: None implied: None source:
        vexxhost/atmosphere/.zuul.yaml@main#295>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: c0cc3f05f3474043b4385964db64583e
      build_refs:
      - branch: main
        change: '3784'
        change_message: 'ci(keycloak): migrate keycloak molecule job to Zuul


          ## Summary


          The keycloak molecule job was running on a self-hosted GitHub Actions runner
          (`vexxhost-ubuntu-22.04-4`) that has been unavailable, causing all CI runs
          to be stuck in ''queued'' state indefinitely since March 17, 2026.


          This migrates the keycloak molecule job to Zuul, following the same pattern
          used for AIO and CSI molecule jobs (PR #3671).


          ## Changes


          - **Removed** the `keycloak` job from `.github/workflows/ci.yaml` (no longer
          depends on the unavailable self-hosted runner)

          - **Added** `atmosphere-molecule-keycloak` job to `.zuul.yaml` with appropriate
          single-node resource reduction vars

          - **Added** the new job to both `check` and `gate` pipelines


          ## Impact


          This will unblock all GitHub Actions CI runs that were previously stuck
          waiting for the self-hosted runner. The keycloak molecule test will continue
          to run, but now via Zuul infrastructure.'
        change_url: https://github.com/vexxhost/atmosphere/pull/3784
        commit_id: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        patchset: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        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: 7a9ff3c233b34ee7ae419dd2173e0290
      buildset_refs:
      - branch: main
        change: '3784'
        change_message: 'ci(keycloak): migrate keycloak molecule job to Zuul


          ## Summary


          The keycloak molecule job was running on a self-hosted GitHub Actions runner
          (`vexxhost-ubuntu-22.04-4`) that has been unavailable, causing all CI runs
          to be stuck in ''queued'' state indefinitely since March 17, 2026.


          This migrates the keycloak molecule job to Zuul, following the same pattern
          used for AIO and CSI molecule jobs (PR #3671).


          ## Changes


          - **Removed** the `keycloak` job from `.github/workflows/ci.yaml` (no longer
          depends on the unavailable self-hosted runner)

          - **Added** `atmosphere-molecule-keycloak` job to `.zuul.yaml` with appropriate
          single-node resource reduction vars

          - **Added** the new job to both `check` and `gate` pipelines


          ## Impact


          This will unblock all GitHub Actions CI runs that were previously stuck
          waiting for the self-hosted runner. The keycloak molecule test will continue
          to run, but now via Zuul infrastructure.'
        change_url: https://github.com/vexxhost/atmosphere/pull/3784
        commit_id: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        patchset: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        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: '3784'
      change_message: 'ci(keycloak): migrate keycloak molecule job to Zuul


        ## Summary


        The keycloak molecule job was running on a self-hosted GitHub Actions runner
        (`vexxhost-ubuntu-22.04-4`) that has been unavailable, causing all CI runs
        to be stuck in ''queued'' state indefinitely since March 17, 2026.


        This migrates the keycloak molecule job to Zuul, following the same pattern
        used for AIO and CSI molecule jobs (PR #3671).


        ## Changes


        - **Removed** the `keycloak` job from `.github/workflows/ci.yaml` (no longer
        depends on the unavailable self-hosted runner)

        - **Added** `atmosphere-molecule-keycloak` job to `.zuul.yaml` with appropriate
        single-node resource reduction vars

        - **Added** the new job to both `check` and `gate` pipelines


        ## Impact


        This will unblock all GitHub Actions CI runs that were previously stuck waiting
        for the self-hosted runner. The keycloak molecule test will continue to run,
        but now via Zuul infrastructure.'
      change_url: https://github.com/vexxhost/atmosphere/pull/3784
      child_jobs: []
      commit_id: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
      event_id: 3fa66bf0-2e3d-11f1-94e0-bf49dd9d4bf4
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/c0cc3f05f3474043b4385964db64583e/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/c0cc3f05f3474043b4385964db64583e/work/logs
        result_data_file: /var/lib/zuul/builds/c0cc3f05f3474043b4385964db64583e/work/results.json
        src_root: /var/lib/zuul/builds/c0cc3f05f3474043b4385964db64583e/work/src
        work_root: /var/lib/zuul/builds/c0cc3f05f3474043b4385964db64583e/work
      include_vars: []
      items:
      - branch: main
        change: '3784'
        change_message: 'ci(keycloak): migrate keycloak molecule job to Zuul


          ## Summary


          The keycloak molecule job was running on a self-hosted GitHub Actions runner
          (`vexxhost-ubuntu-22.04-4`) that has been unavailable, causing all CI runs
          to be stuck in ''queued'' state indefinitely since March 17, 2026.


          This migrates the keycloak molecule job to Zuul, following the same pattern
          used for AIO and CSI molecule jobs (PR #3671).


          ## Changes


          - **Removed** the `keycloak` job from `.github/workflows/ci.yaml` (no longer
          depends on the unavailable self-hosted runner)

          - **Added** `atmosphere-molecule-keycloak` job to `.zuul.yaml` with appropriate
          single-node resource reduction vars

          - **Added** the new job to both `check` and `gate` pipelines


          ## Impact


          This will unblock all GitHub Actions CI runs that were previously stuck
          waiting for the self-hosted runner. The keycloak molecule test will continue
          to run, but now via Zuul infrastructure.'
        change_url: https://github.com/vexxhost/atmosphere/pull/3784
        commit_id: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        patchset: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        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-aio-openvswitch
      jobtags: []
      max_attempts: 3
      message: Y2koa2V5Y2xvYWspOiBtaWdyYXRlIGtleWNsb2FrIG1vbGVjdWxlIGpvYiB0byBadXVsCgojIyBTdW1tYXJ5CgpUaGUga2V5Y2xvYWsgbW9sZWN1bGUgam9iIHdhcyBydW5uaW5nIG9uIGEgc2VsZi1ob3N0ZWQgR2l0SHViIEFjdGlvbnMgcnVubmVyIChgdmV4eGhvc3QtdWJ1bnR1LTIyLjA0LTRgKSB0aGF0IGhhcyBiZWVuIHVuYXZhaWxhYmxlLCBjYXVzaW5nIGFsbCBDSSBydW5zIHRvIGJlIHN0dWNrIGluICdxdWV1ZWQnIHN0YXRlIGluZGVmaW5pdGVseSBzaW5jZSBNYXJjaCAxNywgMjAyNi4KClRoaXMgbWlncmF0ZXMgdGhlIGtleWNsb2FrIG1vbGVjdWxlIGpvYiB0byBadXVsLCBmb2xsb3dpbmcgdGhlIHNhbWUgcGF0dGVybiB1c2VkIGZvciBBSU8gYW5kIENTSSBtb2xlY3VsZSBqb2JzIChQUiAjMzY3MSkuCgojIyBDaGFuZ2VzCgotICoqUmVtb3ZlZCoqIHRoZSBga2V5Y2xvYWtgIGpvYiBmcm9tIGAuZ2l0aHViL3dvcmtmbG93cy9jaS55YW1sYCAobm8gbG9uZ2VyIGRlcGVuZHMgb24gdGhlIHVuYXZhaWxhYmxlIHNlbGYtaG9zdGVkIHJ1bm5lcikKLSAqKkFkZGVkKiogYGF0bW9zcGhlcmUtbW9sZWN1bGUta2V5Y2xvYWtgIGpvYiB0byBgLnp1dWwueWFtbGAgd2l0aCBhcHByb3ByaWF0ZSBzaW5nbGUtbm9kZSByZXNvdXJjZSByZWR1Y3Rpb24gdmFycwotICoqQWRkZWQqKiB0aGUgbmV3IGpvYiB0byBib3RoIGBjaGVja2AgYW5kIGBnYXRlYCBwaXBlbGluZXMKCiMjIEltcGFjdAoKVGhpcyB3aWxsIHVuYmxvY2sgYWxsIEdpdEh1YiBBY3Rpb25zIENJIHJ1bnMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgc3R1Y2sgd2FpdGluZyBmb3IgdGhlIHNlbGYtaG9zdGVkIHJ1bm5lci4gVGhlIGtleWNsb2FrIG1vbGVjdWxlIHRlc3Qgd2lsbCBjb250aW51ZSB0byBydW4sIGJ1dCBub3cgdmlhIFp1dWwgaW5mcmFzdHJ1Y3R1cmUu
      patchset: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 9052b5a7781b3346e4cffd452a54448cbff54d8b
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: c75fe6ef19c05b98349573c971950c51bbf24758
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_0/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_1/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 9052b5a7781b3346e4cffd452a54448cbff54d8b
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: c75fe6ef19c05b98349573c971950c51bbf24758
          untrusted/project_3/github.com/vexxhost/atmosphere:
            canonical_name: github.com/vexxhost/atmosphere
            checkout: main
            commit: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 1b0415189d0f1cb746e0c77dac9bfd1a917ca49e
        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/test-playbooks/molecule/post.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/post_playbook_0/role_0/atmosphere
            link_target: untrusted/project_3/github.com/vexxhost/atmosphere
            role_path: ansible/post_playbook_0/role_0/atmosphere/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/test-playbooks/molecule/pre.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_2/role_0/atmosphere
            link_target: untrusted/project_3/github.com/vexxhost/atmosphere
            role_path: ansible/pre_playbook_2/role_0/atmosphere/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/vexxhost/atmosphere:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere
          checkout: main
          checkout_description: zuul branch
          commit: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
          name: vexxhost/atmosphere
          required: false
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
      ref: refs/pull/3784/head
      resources: {}
      tenant: oss
      timeout: 7200
      topic: null
      voting: true
