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.84
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      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
      cilium_ipv4_cidr: 172.24.0.0/16
      csi_driver: local-path-provisioner
      kube_vip_address: 172.17.0.100
      kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
      kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
      molecule_scenario: csi
      nodepool:
        az: nova
        cloud: public
        external_id: 617adda6-47eb-4643-9a7d-7f08b04a0c69
        host_id: be92abac58cdf319c41ec3044bb265315879370c10aa7110cfdbfb5f
        interface_ip: 162.253.55.84
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 162.253.55.84
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.84
        public_ipv6: 2604:e100:1:0:f816:3eff:fe73:2df0
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: nova
        cloud: public
        external_id: 617adda6-47eb-4643-9a7d-7f08b04a0c69
        host_id: be92abac58cdf319c41ec3044bb265315879370c10aa7110cfdbfb5f
        interface_ip: 162.253.55.84
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 162.253.55.84
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.84
        public_ipv6: 2604:e100:1:0:f816:3eff:fe73:2df0
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    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
    cilium_ipv4_cidr: 172.24.0.0/16
    csi_driver: local-path-provisioner
    kube_vip_address: 172.17.0.100
    kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
    kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
    molecule_scenario: csi
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: 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#17>'
      - '<Job atmosphere-molecule-csi explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere/.zuul.yaml@main#53>'
      - '<Job atmosphere-molecule-csi-local-path-provisioner explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/atmosphere/.zuul.yaml@main#60>'
      - '<Job atmosphere-molecule-csi-local-path-provisioner explicit: None implied:
        None source: vexxhost/atmosphere/.zuul.yaml@main#72>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 05525e1b650e4160a14f47fed95efbf8
      build_refs:
      - branch: main
        change: '3472'
        change_message: "feat(ci): add workflow to update OpenStack image digests\n\n##
          Summary\n\nAdd a manually triggered workflow that updates all OpenStack
          service image digests before releases. This ensures releases include the
          latest images from docker-* repositories.\n\n### Problem\n\nCurrently, OpenStack
          images are not automatically updated because renovate is disabled for most
          packages. This leads to releases shipping with outdated images (e.g., v7.2.0
          was released with horizon images that were 2+ weeks old).\n\n### Solution\n\nThe
          `update-images` workflow:\n- Can be triggered manually via **Actions > update-images
          > Run workflow**\n- Supports all stable branches and main\n- Fetches latest
          digests from docker-* repo PR comments (posted by github-actions bot)\n-
          Creates a PR with all updates\n- Adds `skip-release-notes` label automatically\n\n###
          Usage\n\nBefore creating a release:\n1. Go to **Actions** > **update-images**\n2.
          Click **Run workflow**\n3. Select the target branch (e.g., `stable/2025.2`)\n4.
          Review and merge the created PR\n5. Create the release\n\n### Mock Test
          Results\n\nTested the logic locally for `stable/2025.2`:\n\n```\nbarbican:
          \   \u2717 NEEDS UPDATE (62524224... -> 488ac7b6...)\ncinder:      \u2717
          NEEDS UPDATE (2ee272d8... -> bd5eac02...)\ndesignate:   \u2717 NEEDS UPDATE
          (cd5b2c3c... -> 2948d3c2...)\nglance:      \u2717 NEEDS UPDATE (7227834e...
          -> b4b3cfe5...)\nheat:        \u2717 NEEDS UPDATE (91c73365... -> 8b26bed4...)\nhorizon:
          \    \u2717 NEEDS UPDATE (83da367e... -> 5deb4931...)\nironic:      \u2717
          NEEDS UPDATE (a9f27edf... -> 80385486...)\nkeystone:    \u2717 NEEDS UPDATE
          (d4eb6592... -> d56efe69...)\nmagnum:      \u2717 NEEDS UPDATE (aff10d81...
          -> 77b996eb...)\nmanila:      \u2717 NEEDS UPDATE (e65d8664... -> 17804d13...)\nneutron:
          \    \u2717 NEEDS UPDATE (e00ffe7e... -> 564c296a...)\nnova:        \u2717
          NEEDS UPDATE (853ff749... -> e42c7f98...)\noctavia:     \u2717 NEEDS UPDATE
          (ee753591... -> d91a48ee...)\nplacement:   \u2717 NEEDS UPDATE (1a03e9c8...
          -> 03df3e18...)\n```\n\nGenerated with [Claude Code](https://claude.ai/code)"
        change_url: https://github.com/vexxhost/atmosphere/pull/3472
        commit_id: 984c4306475ea04dd71df65d743af08c1ec6bdc8
        patchset: 984c4306475ea04dd71df65d743af08c1ec6bdc8
        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
      buildset: 3a78a8ebff4e43918f46c419762d8442
      buildset_refs:
      - branch: main
        change: '3472'
        change_message: "feat(ci): add workflow to update OpenStack image digests\n\n##
          Summary\n\nAdd a manually triggered workflow that updates all OpenStack
          service image digests before releases. This ensures releases include the
          latest images from docker-* repositories.\n\n### Problem\n\nCurrently, OpenStack
          images are not automatically updated because renovate is disabled for most
          packages. This leads to releases shipping with outdated images (e.g., v7.2.0
          was released with horizon images that were 2+ weeks old).\n\n### Solution\n\nThe
          `update-images` workflow:\n- Can be triggered manually via **Actions > update-images
          > Run workflow**\n- Supports all stable branches and main\n- Fetches latest
          digests from docker-* repo PR comments (posted by github-actions bot)\n-
          Creates a PR with all updates\n- Adds `skip-release-notes` label automatically\n\n###
          Usage\n\nBefore creating a release:\n1. Go to **Actions** > **update-images**\n2.
          Click **Run workflow**\n3. Select the target branch (e.g., `stable/2025.2`)\n4.
          Review and merge the created PR\n5. Create the release\n\n### Mock Test
          Results\n\nTested the logic locally for `stable/2025.2`:\n\n```\nbarbican:
          \   \u2717 NEEDS UPDATE (62524224... -> 488ac7b6...)\ncinder:      \u2717
          NEEDS UPDATE (2ee272d8... -> bd5eac02...)\ndesignate:   \u2717 NEEDS UPDATE
          (cd5b2c3c... -> 2948d3c2...)\nglance:      \u2717 NEEDS UPDATE (7227834e...
          -> b4b3cfe5...)\nheat:        \u2717 NEEDS UPDATE (91c73365... -> 8b26bed4...)\nhorizon:
          \    \u2717 NEEDS UPDATE (83da367e... -> 5deb4931...)\nironic:      \u2717
          NEEDS UPDATE (a9f27edf... -> 80385486...)\nkeystone:    \u2717 NEEDS UPDATE
          (d4eb6592... -> d56efe69...)\nmagnum:      \u2717 NEEDS UPDATE (aff10d81...
          -> 77b996eb...)\nmanila:      \u2717 NEEDS UPDATE (e65d8664... -> 17804d13...)\nneutron:
          \    \u2717 NEEDS UPDATE (e00ffe7e... -> 564c296a...)\nnova:        \u2717
          NEEDS UPDATE (853ff749... -> e42c7f98...)\noctavia:     \u2717 NEEDS UPDATE
          (ee753591... -> d91a48ee...)\nplacement:   \u2717 NEEDS UPDATE (1a03e9c8...
          -> 03df3e18...)\n```\n\nGenerated with [Claude Code](https://claude.ai/code)"
        change_url: https://github.com/vexxhost/atmosphere/pull/3472
        commit_id: 984c4306475ea04dd71df65d743af08c1ec6bdc8
        patchset: 984c4306475ea04dd71df65d743af08c1ec6bdc8
        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
      change: '3472'
      change_message: "feat(ci): add workflow to update OpenStack image digests\n\n##
        Summary\n\nAdd a manually triggered workflow that updates all OpenStack service
        image digests before releases. This ensures releases include the latest images
        from docker-* repositories.\n\n### Problem\n\nCurrently, OpenStack images
        are not automatically updated because renovate is disabled for most packages.
        This leads to releases shipping with outdated images (e.g., v7.2.0 was released
        with horizon images that were 2+ weeks old).\n\n### Solution\n\nThe `update-images`
        workflow:\n- Can be triggered manually via **Actions > update-images > Run
        workflow**\n- Supports all stable branches and main\n- Fetches latest digests
        from docker-* repo PR comments (posted by github-actions bot)\n- Creates a
        PR with all updates\n- Adds `skip-release-notes` label automatically\n\n###
        Usage\n\nBefore creating a release:\n1. Go to **Actions** > **update-images**\n2.
        Click **Run workflow**\n3. Select the target branch (e.g., `stable/2025.2`)\n4.
        Review and merge the created PR\n5. Create the release\n\n### Mock Test Results\n\nTested
        the logic locally for `stable/2025.2`:\n\n```\nbarbican:    \u2717 NEEDS UPDATE
        (62524224... -> 488ac7b6...)\ncinder:      \u2717 NEEDS UPDATE (2ee272d8...
        -> bd5eac02...)\ndesignate:   \u2717 NEEDS UPDATE (cd5b2c3c... -> 2948d3c2...)\nglance:
        \     \u2717 NEEDS UPDATE (7227834e... -> b4b3cfe5...)\nheat:        \u2717
        NEEDS UPDATE (91c73365... -> 8b26bed4...)\nhorizon:     \u2717 NEEDS UPDATE
        (83da367e... -> 5deb4931...)\nironic:      \u2717 NEEDS UPDATE (a9f27edf...
        -> 80385486...)\nkeystone:    \u2717 NEEDS UPDATE (d4eb6592... -> d56efe69...)\nmagnum:
        \     \u2717 NEEDS UPDATE (aff10d81... -> 77b996eb...)\nmanila:      \u2717
        NEEDS UPDATE (e65d8664... -> 17804d13...)\nneutron:     \u2717 NEEDS UPDATE
        (e00ffe7e... -> 564c296a...)\nnova:        \u2717 NEEDS UPDATE (853ff749...
        -> e42c7f98...)\noctavia:     \u2717 NEEDS UPDATE (ee753591... -> d91a48ee...)\nplacement:
        \  \u2717 NEEDS UPDATE (1a03e9c8... -> 03df3e18...)\n```\n\nGenerated with
        [Claude Code](https://claude.ai/code)"
      change_url: https://github.com/vexxhost/atmosphere/pull/3472
      child_jobs: []
      commit_id: 984c4306475ea04dd71df65d743af08c1ec6bdc8
      event_id: d8784190-fc48-11f0-8d37-293e4d3b4530
      executor:
        hostname: 3a2793d2bd32
        inventory_file: /var/lib/zuul/builds/05525e1b650e4160a14f47fed95efbf8/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/05525e1b650e4160a14f47fed95efbf8/work/logs
        result_data_file: /var/lib/zuul/builds/05525e1b650e4160a14f47fed95efbf8/work/results.json
        src_root: /var/lib/zuul/builds/05525e1b650e4160a14f47fed95efbf8/work/src
        work_root: /var/lib/zuul/builds/05525e1b650e4160a14f47fed95efbf8/work
      include_vars: []
      items:
      - branch: main
        change: '3472'
        change_message: "feat(ci): add workflow to update OpenStack image digests\n\n##
          Summary\n\nAdd a manually triggered workflow that updates all OpenStack
          service image digests before releases. This ensures releases include the
          latest images from docker-* repositories.\n\n### Problem\n\nCurrently, OpenStack
          images are not automatically updated because renovate is disabled for most
          packages. This leads to releases shipping with outdated images (e.g., v7.2.0
          was released with horizon images that were 2+ weeks old).\n\n### Solution\n\nThe
          `update-images` workflow:\n- Can be triggered manually via **Actions > update-images
          > Run workflow**\n- Supports all stable branches and main\n- Fetches latest
          digests from docker-* repo PR comments (posted by github-actions bot)\n-
          Creates a PR with all updates\n- Adds `skip-release-notes` label automatically\n\n###
          Usage\n\nBefore creating a release:\n1. Go to **Actions** > **update-images**\n2.
          Click **Run workflow**\n3. Select the target branch (e.g., `stable/2025.2`)\n4.
          Review and merge the created PR\n5. Create the release\n\n### Mock Test
          Results\n\nTested the logic locally for `stable/2025.2`:\n\n```\nbarbican:
          \   \u2717 NEEDS UPDATE (62524224... -> 488ac7b6...)\ncinder:      \u2717
          NEEDS UPDATE (2ee272d8... -> bd5eac02...)\ndesignate:   \u2717 NEEDS UPDATE
          (cd5b2c3c... -> 2948d3c2...)\nglance:      \u2717 NEEDS UPDATE (7227834e...
          -> b4b3cfe5...)\nheat:        \u2717 NEEDS UPDATE (91c73365... -> 8b26bed4...)\nhorizon:
          \    \u2717 NEEDS UPDATE (83da367e... -> 5deb4931...)\nironic:      \u2717
          NEEDS UPDATE (a9f27edf... -> 80385486...)\nkeystone:    \u2717 NEEDS UPDATE
          (d4eb6592... -> d56efe69...)\nmagnum:      \u2717 NEEDS UPDATE (aff10d81...
          -> 77b996eb...)\nmanila:      \u2717 NEEDS UPDATE (e65d8664... -> 17804d13...)\nneutron:
          \    \u2717 NEEDS UPDATE (e00ffe7e... -> 564c296a...)\nnova:        \u2717
          NEEDS UPDATE (853ff749... -> e42c7f98...)\noctavia:     \u2717 NEEDS UPDATE
          (ee753591... -> d91a48ee...)\nplacement:   \u2717 NEEDS UPDATE (1a03e9c8...
          -> 03df3e18...)\n```\n\nGenerated with [Claude Code](https://claude.ai/code)"
        change_url: https://github.com/vexxhost/atmosphere/pull/3472
        commit_id: 984c4306475ea04dd71df65d743af08c1ec6bdc8
        patchset: 984c4306475ea04dd71df65d743af08c1ec6bdc8
        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-local-path-provisioner
      jobtags: []
      max_attempts: 3
      message: ZmVhdChjaSk6IGFkZCB3b3JrZmxvdyB0byB1cGRhdGUgT3BlblN0YWNrIGltYWdlIGRpZ2VzdHMKCiMjIFN1bW1hcnkKCkFkZCBhIG1hbnVhbGx5IHRyaWdnZXJlZCB3b3JrZmxvdyB0aGF0IHVwZGF0ZXMgYWxsIE9wZW5TdGFjayBzZXJ2aWNlIGltYWdlIGRpZ2VzdHMgYmVmb3JlIHJlbGVhc2VzLiBUaGlzIGVuc3VyZXMgcmVsZWFzZXMgaW5jbHVkZSB0aGUgbGF0ZXN0IGltYWdlcyBmcm9tIGRvY2tlci0qIHJlcG9zaXRvcmllcy4KCiMjIyBQcm9ibGVtCgpDdXJyZW50bHksIE9wZW5TdGFjayBpbWFnZXMgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgYmVjYXVzZSByZW5vdmF0ZSBpcyBkaXNhYmxlZCBmb3IgbW9zdCBwYWNrYWdlcy4gVGhpcyBsZWFkcyB0byByZWxlYXNlcyBzaGlwcGluZyB3aXRoIG91dGRhdGVkIGltYWdlcyAoZS5nLiwgdjcuMi4wIHdhcyByZWxlYXNlZCB3aXRoIGhvcml6b24gaW1hZ2VzIHRoYXQgd2VyZSAyKyB3ZWVrcyBvbGQpLgoKIyMjIFNvbHV0aW9uCgpUaGUgYHVwZGF0ZS1pbWFnZXNgIHdvcmtmbG93OgotIENhbiBiZSB0cmlnZ2VyZWQgbWFudWFsbHkgdmlhICoqQWN0aW9ucyA+IHVwZGF0ZS1pbWFnZXMgPiBSdW4gd29ya2Zsb3cqKgotIFN1cHBvcnRzIGFsbCBzdGFibGUgYnJhbmNoZXMgYW5kIG1haW4KLSBGZXRjaGVzIGxhdGVzdCBkaWdlc3RzIGZyb20gZG9ja2VyLSogcmVwbyBQUiBjb21tZW50cyAocG9zdGVkIGJ5IGdpdGh1Yi1hY3Rpb25zIGJvdCkKLSBDcmVhdGVzIGEgUFIgd2l0aCBhbGwgdXBkYXRlcwotIEFkZHMgYHNraXAtcmVsZWFzZS1ub3Rlc2AgbGFiZWwgYXV0b21hdGljYWxseQoKIyMjIFVzYWdlCgpCZWZvcmUgY3JlYXRpbmcgYSByZWxlYXNlOgoxLiBHbyB0byAqKkFjdGlvbnMqKiA+ICoqdXBkYXRlLWltYWdlcyoqCjIuIENsaWNrICoqUnVuIHdvcmtmbG93KioKMy4gU2VsZWN0IHRoZSB0YXJnZXQgYnJhbmNoIChlLmcuLCBgc3RhYmxlLzIwMjUuMmApCjQuIFJldmlldyBhbmQgbWVyZ2UgdGhlIGNyZWF0ZWQgUFIKNS4gQ3JlYXRlIHRoZSByZWxlYXNlCgojIyMgTW9jayBUZXN0IFJlc3VsdHMKClRlc3RlZCB0aGUgbG9naWMgbG9jYWxseSBmb3IgYHN0YWJsZS8yMDI1LjJgOgoKYGBgCmJhcmJpY2FuOiAgICDinJcgTkVFRFMgVVBEQVRFICg2MjUyNDIyNC4uLiAtPiA0ODhhYzdiNi4uLikKY2luZGVyOiAgICAgIOKclyBORUVEUyBVUERBVEUgKDJlZTI3MmQ4Li4uIC0+IGJkNWVhYzAyLi4uKQpkZXNpZ25hdGU6ICAg4pyXIE5FRURTIFVQREFURSAoY2Q1YjJjM2MuLi4gLT4gMjk0OGQzYzIuLi4pCmdsYW5jZTogICAgICDinJcgTkVFRFMgVVBEQVRFICg3MjI3ODM0ZS4uLiAtPiBiNGIzY2ZlNS4uLikKaGVhdDogICAgICAgIOKclyBORUVEUyBVUERBVEUgKDkxYzczMzY1Li4uIC0+IDhiMjZiZWQ0Li4uKQpob3Jpem9uOiAgICAg4pyXIE5FRURTIFVQREFURSAoODNkYTM2N2UuLi4gLT4gNWRlYjQ5MzEuLi4pCmlyb25pYzogICAgICDinJcgTkVFRFMgVVBEQVRFIChhOWYyN2VkZi4uLiAtPiA4MDM4NTQ4Ni4uLikKa2V5c3RvbmU6ICAgIOKclyBORUVEUyBVUERBVEUgKGQ0ZWI2NTkyLi4uIC0+IGQ1NmVmZTY5Li4uKQptYWdudW06ICAgICAg4pyXIE5FRURTIFVQREFURSAoYWZmMTBkODEuLi4gLT4gNzdiOTk2ZWIuLi4pCm1hbmlsYTogICAgICDinJcgTkVFRFMgVVBEQVRFIChlNjVkODY2NC4uLiAtPiAxNzgwNGQxMy4uLikKbmV1dHJvbjogICAgIOKclyBORUVEUyBVUERBVEUgKGUwMGZmZTdlLi4uIC0+IDU2NGMyOTZhLi4uKQpub3ZhOiAgICAgICAg4pyXIE5FRURTIFVQREFURSAoODUzZmY3NDkuLi4gLT4gZTQyYzdmOTguLi4pCm9jdGF2aWE6ICAgICDinJcgTkVFRFMgVVBEQVRFIChlZTc1MzU5MS4uLiAtPiBkOTFhNDhlZS4uLikKcGxhY2VtZW50OiAgIOKclyBORUVEUyBVUERBVEUgKDFhMDNlOWM4Li4uIC0+IDAzZGYzZTE4Li4uKQpgYGAKCkdlbmVyYXRlZCB3aXRoIFtDbGF1ZGUgQ29kZV0oaHR0cHM6Ly9jbGF1ZGUuYWkvY29kZSk=
      patchset: 984c4306475ea04dd71df65d743af08c1ec6bdc8
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/vexxhost.dev/zuul-config:
            canonical_name: vexxhost.dev/zuul-config
            checkout: main
            commit: 9052b5a7781b3346e4cffd452a54448cbff54d8b
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: d73b78cc624f363c6b7fcfe833f2db4571e4e979
          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/vexxhost.dev/zuul-config:
            canonical_name: vexxhost.dev/zuul-config
            checkout: main
            commit: 9052b5a7781b3346e4cffd452a54448cbff54d8b
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: d73b78cc624f363c6b7fcfe833f2db4571e4e979
          untrusted/project_3/github.com/vexxhost/atmosphere:
            canonical_name: github.com/vexxhost/atmosphere
            checkout: main
            commit: 984c4306475ea04dd71df65d743af08c1ec6bdc8
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 078840392dcd130024e126ed6aa2b402eff95837
        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_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: 984c4306475ea04dd71df65d743af08c1ec6bdc8
          name: vexxhost/atmosphere
          required: false
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
      ref: refs/pull/3472/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
