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.207
      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: rbd
      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: c297d325-6146-4757-a0d8-51ecbe888517
        host_id: c3960d6808d44d1eb7d41ff8f195b627bd14b6a9ca83ea7250fd5db8
        interface_ip: 162.253.55.207
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 162.253.55.207
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.207
        public_ipv6: 2604:e100:1:0:f816:3eff:fe0c:2b30
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: nova
        cloud: public
        external_id: c297d325-6146-4757-a0d8-51ecbe888517
        host_id: c3960d6808d44d1eb7d41ff8f195b627bd14b6a9ca83ea7250fd5db8
        interface_ip: 162.253.55.207
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 162.253.55.207
        private_ipv6: null
        provider: yul1
        public_ipv4: 162.253.55.207
        public_ipv6: 2604:e100:1:0:f816:3eff:fe0c:2b30
        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: rbd
    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-rbd explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere/.zuul.yaml@main#66>'
      - '<Job atmosphere-molecule-csi-rbd explicit: None implied: None source: vexxhost/atmosphere/.zuul.yaml@main#72>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: df797e05f55d41e3b4646087d892ec49
      build_refs:
      - branch: main
        change: '3551'
        change_message: "[WIP] Fix Goldpinger alert unit tests in kube_prometheus_stack\n\n##
          Manual Cherrypick of PR #3542 to stable/2025.1\n\nThis PR manually cherrypicks
          the changes from PR #3542 \"fix(kube_prometheus_stack): fix Goldpinger alert
          unit tests\" to the stable/2025.1 branch.\n\n### Changes Applied\n- \u2705
          Removed CLAUDE.md (not needed in stable/2025.1)\n- \u2705 Added goldpinger.libsonnet
          (new alert definitions)\n- \u2705 Updated tests.yml with comprehensive Goldpinger
          test coverage\n- \u2705 Updated mixins.libsonnet to import goldpinger alerts\n-
          \u2705 Updated openstack.libsonnet to remove old noisy GoldpingerNodesUnhealthy
          alert\n- \u2705 Updated accept.txt vocabulary with new terms\n- \u2705 Updated
          monitoring.rst with documentation improvements\n- \u2705 Added goldpinger-alerts
          release note\n\n### Test Results\nAll 8 Goldpinger unit tests pass:\n- GoldpingerHighUnhealthyRatio
          (should fire / should not fire)\n- GoldpingerNodeUnreachable (should fire
          / should not fire)\n- GoldpingerHighPeerLatency (should fire / should not
          fire)\n- GoldpingerHighErrorRate (should fire / should not fire)\n\n###
          Checklist\n- [x] Understand the cherrypick conflict\n- [x] Remove CLAUDE.md
          (not needed in stable/2025.1)\n- [x] Apply goldpinger.libsonnet changes
          (new file)\n- [x] Apply goldpinger test changes to tests.yml\n- [x] Merge
          accept.txt vocabulary additions\n- [x] Apply monitoring.rst documentation
          updates\n- [x] Apply mixins.libsonnet changes\n- [x] Apply openstack.libsonnet
          changes\n- [x] Add release note\n- [x] Run tests to ensure everything works\n-
          [ ] Validate documentation with vale\n- [ ] Final verification\n\n<!-- START
          COPILOT ORIGINAL PROMPT -->\n\n\n\n<details>\n\n<summary>Original prompt</summary>\n\n>
          \n> ----\n> \n> *This section details on the original issue you should resolve*\n>
          \n> <issue_title>[stable/2025.1] fix(kube_prometheus_stack): fix Goldpinger
          alert unit tests</issue_title>\n> <issue_description>Manual cherrypick required.\n>
          \n> vexxhost/atmosphere#3542 failed to apply on top of branch \"stable/2025.1\":\n>
          ```\n> Applying: docs(monitoring): fix all vale linting issues\n> Using
          index info to reconstruct a base tree...\n> M\t.github/styles/config/vocabularies/Base/accept.txt\n>
          A\tCLAUDE.md\n> Falling back to patching base and 3-way merge...\n> CONFLICT
          (modify/delete): CLAUDE.md deleted in HEAD and modified in docs(monitoring):
          fix all vale linting issues. Version docs(monitoring): fix all vale linting
          issues of CLAUDE.md left in tree.\n> Auto-merging .github/styles/config/vocabularies/Base/accept.txt\n>
          CONFLICT (content): Merge conflict in .github/styles/config/vocabularies/Base/accept.txt\n>
          error: Failed to merge in the changes.\n> hint: Use 'git am --show-current-patch=diff'
          to see the failed patch\n> hint: When you have resolved this problem, run
          \"git am --continue\".\n> hint: If you prefer to skip this patch, run \"git
          am --skip\" instead.\n> hint: To restore the original branch and stop patching,
          run \"git am --abort\".\n> hint: Disable this message with \"git config
          advice.mergeConflict false\"\n> Patch failed at 0001 docs(monitoring): fix
          all vale linting issues\n> \n> ```</issue_description>\n> \n> ## Comments
          on the Issue (you are @copilot in this section)\n> \n> <comments>\n> </comments>\n>
          \n\n\n</details>\n\n\n\n<!-- START COPILOT CODING AGENT SUFFIX -->\n\n-
          Fixes vexxhost/atmosphere#3545\n\n<!-- START COPILOT CODING AGENT TIPS -->\n---\n\n\u2728
          Let Copilot coding agent [set things up for you](https://github.com/vexxhost/atmosphere/issues/new?title=\u2728+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
          \u2014 coding agent works faster and does higher quality work when set up
          for your repo.\n"
        change_url: https://github.com/vexxhost/atmosphere/pull/3551
        commit_id: 8068483cb6032ef7e839aeec2fc41993975eb270
        patchset: 8068483cb6032ef7e839aeec2fc41993975eb270
        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: 8fb7e08f06284f19a13ac8091beb4e81
      buildset_refs:
      - branch: main
        change: '3551'
        change_message: "[WIP] Fix Goldpinger alert unit tests in kube_prometheus_stack\n\n##
          Manual Cherrypick of PR #3542 to stable/2025.1\n\nThis PR manually cherrypicks
          the changes from PR #3542 \"fix(kube_prometheus_stack): fix Goldpinger alert
          unit tests\" to the stable/2025.1 branch.\n\n### Changes Applied\n- \u2705
          Removed CLAUDE.md (not needed in stable/2025.1)\n- \u2705 Added goldpinger.libsonnet
          (new alert definitions)\n- \u2705 Updated tests.yml with comprehensive Goldpinger
          test coverage\n- \u2705 Updated mixins.libsonnet to import goldpinger alerts\n-
          \u2705 Updated openstack.libsonnet to remove old noisy GoldpingerNodesUnhealthy
          alert\n- \u2705 Updated accept.txt vocabulary with new terms\n- \u2705 Updated
          monitoring.rst with documentation improvements\n- \u2705 Added goldpinger-alerts
          release note\n\n### Test Results\nAll 8 Goldpinger unit tests pass:\n- GoldpingerHighUnhealthyRatio
          (should fire / should not fire)\n- GoldpingerNodeUnreachable (should fire
          / should not fire)\n- GoldpingerHighPeerLatency (should fire / should not
          fire)\n- GoldpingerHighErrorRate (should fire / should not fire)\n\n###
          Checklist\n- [x] Understand the cherrypick conflict\n- [x] Remove CLAUDE.md
          (not needed in stable/2025.1)\n- [x] Apply goldpinger.libsonnet changes
          (new file)\n- [x] Apply goldpinger test changes to tests.yml\n- [x] Merge
          accept.txt vocabulary additions\n- [x] Apply monitoring.rst documentation
          updates\n- [x] Apply mixins.libsonnet changes\n- [x] Apply openstack.libsonnet
          changes\n- [x] Add release note\n- [x] Run tests to ensure everything works\n-
          [ ] Validate documentation with vale\n- [ ] Final verification\n\n<!-- START
          COPILOT ORIGINAL PROMPT -->\n\n\n\n<details>\n\n<summary>Original prompt</summary>\n\n>
          \n> ----\n> \n> *This section details on the original issue you should resolve*\n>
          \n> <issue_title>[stable/2025.1] fix(kube_prometheus_stack): fix Goldpinger
          alert unit tests</issue_title>\n> <issue_description>Manual cherrypick required.\n>
          \n> vexxhost/atmosphere#3542 failed to apply on top of branch \"stable/2025.1\":\n>
          ```\n> Applying: docs(monitoring): fix all vale linting issues\n> Using
          index info to reconstruct a base tree...\n> M\t.github/styles/config/vocabularies/Base/accept.txt\n>
          A\tCLAUDE.md\n> Falling back to patching base and 3-way merge...\n> CONFLICT
          (modify/delete): CLAUDE.md deleted in HEAD and modified in docs(monitoring):
          fix all vale linting issues. Version docs(monitoring): fix all vale linting
          issues of CLAUDE.md left in tree.\n> Auto-merging .github/styles/config/vocabularies/Base/accept.txt\n>
          CONFLICT (content): Merge conflict in .github/styles/config/vocabularies/Base/accept.txt\n>
          error: Failed to merge in the changes.\n> hint: Use 'git am --show-current-patch=diff'
          to see the failed patch\n> hint: When you have resolved this problem, run
          \"git am --continue\".\n> hint: If you prefer to skip this patch, run \"git
          am --skip\" instead.\n> hint: To restore the original branch and stop patching,
          run \"git am --abort\".\n> hint: Disable this message with \"git config
          advice.mergeConflict false\"\n> Patch failed at 0001 docs(monitoring): fix
          all vale linting issues\n> \n> ```</issue_description>\n> \n> ## Comments
          on the Issue (you are @copilot in this section)\n> \n> <comments>\n> </comments>\n>
          \n\n\n</details>\n\n\n\n<!-- START COPILOT CODING AGENT SUFFIX -->\n\n-
          Fixes vexxhost/atmosphere#3545\n\n<!-- START COPILOT CODING AGENT TIPS -->\n---\n\n\u2728
          Let Copilot coding agent [set things up for you](https://github.com/vexxhost/atmosphere/issues/new?title=\u2728+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
          \u2014 coding agent works faster and does higher quality work when set up
          for your repo.\n"
        change_url: https://github.com/vexxhost/atmosphere/pull/3551
        commit_id: 8068483cb6032ef7e839aeec2fc41993975eb270
        patchset: 8068483cb6032ef7e839aeec2fc41993975eb270
        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: '3551'
      change_message: "[WIP] Fix Goldpinger alert unit tests in kube_prometheus_stack\n\n##
        Manual Cherrypick of PR #3542 to stable/2025.1\n\nThis PR manually cherrypicks
        the changes from PR #3542 \"fix(kube_prometheus_stack): fix Goldpinger alert
        unit tests\" to the stable/2025.1 branch.\n\n### Changes Applied\n- \u2705
        Removed CLAUDE.md (not needed in stable/2025.1)\n- \u2705 Added goldpinger.libsonnet
        (new alert definitions)\n- \u2705 Updated tests.yml with comprehensive Goldpinger
        test coverage\n- \u2705 Updated mixins.libsonnet to import goldpinger alerts\n-
        \u2705 Updated openstack.libsonnet to remove old noisy GoldpingerNodesUnhealthy
        alert\n- \u2705 Updated accept.txt vocabulary with new terms\n- \u2705 Updated
        monitoring.rst with documentation improvements\n- \u2705 Added goldpinger-alerts
        release note\n\n### Test Results\nAll 8 Goldpinger unit tests pass:\n- GoldpingerHighUnhealthyRatio
        (should fire / should not fire)\n- GoldpingerNodeUnreachable (should fire
        / should not fire)\n- GoldpingerHighPeerLatency (should fire / should not
        fire)\n- GoldpingerHighErrorRate (should fire / should not fire)\n\n### Checklist\n-
        [x] Understand the cherrypick conflict\n- [x] Remove CLAUDE.md (not needed
        in stable/2025.1)\n- [x] Apply goldpinger.libsonnet changes (new file)\n-
        [x] Apply goldpinger test changes to tests.yml\n- [x] Merge accept.txt vocabulary
        additions\n- [x] Apply monitoring.rst documentation updates\n- [x] Apply mixins.libsonnet
        changes\n- [x] Apply openstack.libsonnet changes\n- [x] Add release note\n-
        [x] Run tests to ensure everything works\n- [ ] Validate documentation with
        vale\n- [ ] Final verification\n\n<!-- START COPILOT ORIGINAL PROMPT -->\n\n\n\n<details>\n\n<summary>Original
        prompt</summary>\n\n> \n> ----\n> \n> *This section details on the original
        issue you should resolve*\n> \n> <issue_title>[stable/2025.1] fix(kube_prometheus_stack):
        fix Goldpinger alert unit tests</issue_title>\n> <issue_description>Manual
        cherrypick required.\n> \n> vexxhost/atmosphere#3542 failed to apply on top
        of branch \"stable/2025.1\":\n> ```\n> Applying: docs(monitoring): fix all
        vale linting issues\n> Using index info to reconstruct a base tree...\n> M\t.github/styles/config/vocabularies/Base/accept.txt\n>
        A\tCLAUDE.md\n> Falling back to patching base and 3-way merge...\n> CONFLICT
        (modify/delete): CLAUDE.md deleted in HEAD and modified in docs(monitoring):
        fix all vale linting issues. Version docs(monitoring): fix all vale linting
        issues of CLAUDE.md left in tree.\n> Auto-merging .github/styles/config/vocabularies/Base/accept.txt\n>
        CONFLICT (content): Merge conflict in .github/styles/config/vocabularies/Base/accept.txt\n>
        error: Failed to merge in the changes.\n> hint: Use 'git am --show-current-patch=diff'
        to see the failed patch\n> hint: When you have resolved this problem, run
        \"git am --continue\".\n> hint: If you prefer to skip this patch, run \"git
        am --skip\" instead.\n> hint: To restore the original branch and stop patching,
        run \"git am --abort\".\n> hint: Disable this message with \"git config advice.mergeConflict
        false\"\n> Patch failed at 0001 docs(monitoring): fix all vale linting issues\n>
        \n> ```</issue_description>\n> \n> ## Comments on the Issue (you are @copilot
        in this section)\n> \n> <comments>\n> </comments>\n> \n\n\n</details>\n\n\n\n<!--
        START COPILOT CODING AGENT SUFFIX -->\n\n- Fixes vexxhost/atmosphere#3545\n\n<!--
        START COPILOT CODING AGENT TIPS -->\n---\n\n\u2728 Let Copilot coding agent
        [set things up for you](https://github.com/vexxhost/atmosphere/issues/new?title=\u2728+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
        \u2014 coding agent works faster and does higher quality work when set up
        for your repo.\n"
      change_url: https://github.com/vexxhost/atmosphere/pull/3551
      child_jobs: []
      commit_id: 8068483cb6032ef7e839aeec2fc41993975eb270
      event_id: b0529f20-03d8-11f1-8e18-c91a4f7743b5
      executor:
        hostname: 3a2793d2bd32
        inventory_file: /var/lib/zuul/builds/df797e05f55d41e3b4646087d892ec49/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/df797e05f55d41e3b4646087d892ec49/work/logs
        result_data_file: /var/lib/zuul/builds/df797e05f55d41e3b4646087d892ec49/work/results.json
        src_root: /var/lib/zuul/builds/df797e05f55d41e3b4646087d892ec49/work/src
        work_root: /var/lib/zuul/builds/df797e05f55d41e3b4646087d892ec49/work
      include_vars: []
      items:
      - branch: main
        change: '3551'
        change_message: "[WIP] Fix Goldpinger alert unit tests in kube_prometheus_stack\n\n##
          Manual Cherrypick of PR #3542 to stable/2025.1\n\nThis PR manually cherrypicks
          the changes from PR #3542 \"fix(kube_prometheus_stack): fix Goldpinger alert
          unit tests\" to the stable/2025.1 branch.\n\n### Changes Applied\n- \u2705
          Removed CLAUDE.md (not needed in stable/2025.1)\n- \u2705 Added goldpinger.libsonnet
          (new alert definitions)\n- \u2705 Updated tests.yml with comprehensive Goldpinger
          test coverage\n- \u2705 Updated mixins.libsonnet to import goldpinger alerts\n-
          \u2705 Updated openstack.libsonnet to remove old noisy GoldpingerNodesUnhealthy
          alert\n- \u2705 Updated accept.txt vocabulary with new terms\n- \u2705 Updated
          monitoring.rst with documentation improvements\n- \u2705 Added goldpinger-alerts
          release note\n\n### Test Results\nAll 8 Goldpinger unit tests pass:\n- GoldpingerHighUnhealthyRatio
          (should fire / should not fire)\n- GoldpingerNodeUnreachable (should fire
          / should not fire)\n- GoldpingerHighPeerLatency (should fire / should not
          fire)\n- GoldpingerHighErrorRate (should fire / should not fire)\n\n###
          Checklist\n- [x] Understand the cherrypick conflict\n- [x] Remove CLAUDE.md
          (not needed in stable/2025.1)\n- [x] Apply goldpinger.libsonnet changes
          (new file)\n- [x] Apply goldpinger test changes to tests.yml\n- [x] Merge
          accept.txt vocabulary additions\n- [x] Apply monitoring.rst documentation
          updates\n- [x] Apply mixins.libsonnet changes\n- [x] Apply openstack.libsonnet
          changes\n- [x] Add release note\n- [x] Run tests to ensure everything works\n-
          [ ] Validate documentation with vale\n- [ ] Final verification\n\n<!-- START
          COPILOT ORIGINAL PROMPT -->\n\n\n\n<details>\n\n<summary>Original prompt</summary>\n\n>
          \n> ----\n> \n> *This section details on the original issue you should resolve*\n>
          \n> <issue_title>[stable/2025.1] fix(kube_prometheus_stack): fix Goldpinger
          alert unit tests</issue_title>\n> <issue_description>Manual cherrypick required.\n>
          \n> vexxhost/atmosphere#3542 failed to apply on top of branch \"stable/2025.1\":\n>
          ```\n> Applying: docs(monitoring): fix all vale linting issues\n> Using
          index info to reconstruct a base tree...\n> M\t.github/styles/config/vocabularies/Base/accept.txt\n>
          A\tCLAUDE.md\n> Falling back to patching base and 3-way merge...\n> CONFLICT
          (modify/delete): CLAUDE.md deleted in HEAD and modified in docs(monitoring):
          fix all vale linting issues. Version docs(monitoring): fix all vale linting
          issues of CLAUDE.md left in tree.\n> Auto-merging .github/styles/config/vocabularies/Base/accept.txt\n>
          CONFLICT (content): Merge conflict in .github/styles/config/vocabularies/Base/accept.txt\n>
          error: Failed to merge in the changes.\n> hint: Use 'git am --show-current-patch=diff'
          to see the failed patch\n> hint: When you have resolved this problem, run
          \"git am --continue\".\n> hint: If you prefer to skip this patch, run \"git
          am --skip\" instead.\n> hint: To restore the original branch and stop patching,
          run \"git am --abort\".\n> hint: Disable this message with \"git config
          advice.mergeConflict false\"\n> Patch failed at 0001 docs(monitoring): fix
          all vale linting issues\n> \n> ```</issue_description>\n> \n> ## Comments
          on the Issue (you are @copilot in this section)\n> \n> <comments>\n> </comments>\n>
          \n\n\n</details>\n\n\n\n<!-- START COPILOT CODING AGENT SUFFIX -->\n\n-
          Fixes vexxhost/atmosphere#3545\n\n<!-- START COPILOT CODING AGENT TIPS -->\n---\n\n\u2728
          Let Copilot coding agent [set things up for you](https://github.com/vexxhost/atmosphere/issues/new?title=\u2728+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
          \u2014 coding agent works faster and does higher quality work when set up
          for your repo.\n"
        change_url: https://github.com/vexxhost/atmosphere/pull/3551
        commit_id: 8068483cb6032ef7e839aeec2fc41993975eb270
        patchset: 8068483cb6032ef7e839aeec2fc41993975eb270
        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: W1dJUF0gRml4IEdvbGRwaW5nZXIgYWxlcnQgdW5pdCB0ZXN0cyBpbiBrdWJlX3Byb21ldGhldXNfc3RhY2sKCiMjIE1hbnVhbCBDaGVycnlwaWNrIG9mIFBSICMzNTQyIHRvIHN0YWJsZS8yMDI1LjEKClRoaXMgUFIgbWFudWFsbHkgY2hlcnJ5cGlja3MgdGhlIGNoYW5nZXMgZnJvbSBQUiAjMzU0MiAiZml4KGt1YmVfcHJvbWV0aGV1c19zdGFjayk6IGZpeCBHb2xkcGluZ2VyIGFsZXJ0IHVuaXQgdGVzdHMiIHRvIHRoZSBzdGFibGUvMjAyNS4xIGJyYW5jaC4KCiMjIyBDaGFuZ2VzIEFwcGxpZWQKLSDinIUgUmVtb3ZlZCBDTEFVREUubWQgKG5vdCBuZWVkZWQgaW4gc3RhYmxlLzIwMjUuMSkKLSDinIUgQWRkZWQgZ29sZHBpbmdlci5saWJzb25uZXQgKG5ldyBhbGVydCBkZWZpbml0aW9ucykKLSDinIUgVXBkYXRlZCB0ZXN0cy55bWwgd2l0aCBjb21wcmVoZW5zaXZlIEdvbGRwaW5nZXIgdGVzdCBjb3ZlcmFnZQotIOKchSBVcGRhdGVkIG1peGlucy5saWJzb25uZXQgdG8gaW1wb3J0IGdvbGRwaW5nZXIgYWxlcnRzCi0g4pyFIFVwZGF0ZWQgb3BlbnN0YWNrLmxpYnNvbm5ldCB0byByZW1vdmUgb2xkIG5vaXN5IEdvbGRwaW5nZXJOb2Rlc1VuaGVhbHRoeSBhbGVydAotIOKchSBVcGRhdGVkIGFjY2VwdC50eHQgdm9jYWJ1bGFyeSB3aXRoIG5ldyB0ZXJtcwotIOKchSBVcGRhdGVkIG1vbml0b3JpbmcucnN0IHdpdGggZG9jdW1lbnRhdGlvbiBpbXByb3ZlbWVudHMKLSDinIUgQWRkZWQgZ29sZHBpbmdlci1hbGVydHMgcmVsZWFzZSBub3RlCgojIyMgVGVzdCBSZXN1bHRzCkFsbCA4IEdvbGRwaW5nZXIgdW5pdCB0ZXN0cyBwYXNzOgotIEdvbGRwaW5nZXJIaWdoVW5oZWFsdGh5UmF0aW8gKHNob3VsZCBmaXJlIC8gc2hvdWxkIG5vdCBmaXJlKQotIEdvbGRwaW5nZXJOb2RlVW5yZWFjaGFibGUgKHNob3VsZCBmaXJlIC8gc2hvdWxkIG5vdCBmaXJlKQotIEdvbGRwaW5nZXJIaWdoUGVlckxhdGVuY3kgKHNob3VsZCBmaXJlIC8gc2hvdWxkIG5vdCBmaXJlKQotIEdvbGRwaW5nZXJIaWdoRXJyb3JSYXRlIChzaG91bGQgZmlyZSAvIHNob3VsZCBub3QgZmlyZSkKCiMjIyBDaGVja2xpc3QKLSBbeF0gVW5kZXJzdGFuZCB0aGUgY2hlcnJ5cGljayBjb25mbGljdAotIFt4XSBSZW1vdmUgQ0xBVURFLm1kIChub3QgbmVlZGVkIGluIHN0YWJsZS8yMDI1LjEpCi0gW3hdIEFwcGx5IGdvbGRwaW5nZXIubGlic29ubmV0IGNoYW5nZXMgKG5ldyBmaWxlKQotIFt4XSBBcHBseSBnb2xkcGluZ2VyIHRlc3QgY2hhbmdlcyB0byB0ZXN0cy55bWwKLSBbeF0gTWVyZ2UgYWNjZXB0LnR4dCB2b2NhYnVsYXJ5IGFkZGl0aW9ucwotIFt4XSBBcHBseSBtb25pdG9yaW5nLnJzdCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMKLSBbeF0gQXBwbHkgbWl4aW5zLmxpYnNvbm5ldCBjaGFuZ2VzCi0gW3hdIEFwcGx5IG9wZW5zdGFjay5saWJzb25uZXQgY2hhbmdlcwotIFt4XSBBZGQgcmVsZWFzZSBub3RlCi0gW3hdIFJ1biB0ZXN0cyB0byBlbnN1cmUgZXZlcnl0aGluZyB3b3JrcwotIFsgXSBWYWxpZGF0ZSBkb2N1bWVudGF0aW9uIHdpdGggdmFsZQotIFsgXSBGaW5hbCB2ZXJpZmljYXRpb24KCjwhLS0gU1RBUlQgQ09QSUxPVCBPUklHSU5BTCBQUk9NUFQgLS0+CgoKCjxkZXRhaWxzPgoKPHN1bW1hcnk+T3JpZ2luYWwgcHJvbXB0PC9zdW1tYXJ5PgoKPiAKPiAtLS0tCj4gCj4gKlRoaXMgc2VjdGlvbiBkZXRhaWxzIG9uIHRoZSBvcmlnaW5hbCBpc3N1ZSB5b3Ugc2hvdWxkIHJlc29sdmUqCj4gCj4gPGlzc3VlX3RpdGxlPltzdGFibGUvMjAyNS4xXSBmaXgoa3ViZV9wcm9tZXRoZXVzX3N0YWNrKTogZml4IEdvbGRwaW5nZXIgYWxlcnQgdW5pdCB0ZXN0czwvaXNzdWVfdGl0bGU+Cj4gPGlzc3VlX2Rlc2NyaXB0aW9uPk1hbnVhbCBjaGVycnlwaWNrIHJlcXVpcmVkLgo+IAo+IHZleHhob3N0L2F0bW9zcGhlcmUjMzU0MiBmYWlsZWQgdG8gYXBwbHkgb24gdG9wIG9mIGJyYW5jaCAic3RhYmxlLzIwMjUuMSI6Cj4gYGBgCj4gQXBwbHlpbmc6IGRvY3MobW9uaXRvcmluZyk6IGZpeCBhbGwgdmFsZSBsaW50aW5nIGlzc3Vlcwo+IFVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4KPiBNCS5naXRodWIvc3R5bGVzL2NvbmZpZy92b2NhYnVsYXJpZXMvQmFzZS9hY2NlcHQudHh0Cj4gQQlDTEFVREUubWQKPiBGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4KPiBDT05GTElDVCAobW9kaWZ5L2RlbGV0ZSk6IENMQVVERS5tZCBkZWxldGVkIGluIEhFQUQgYW5kIG1vZGlmaWVkIGluIGRvY3MobW9uaXRvcmluZyk6IGZpeCBhbGwgdmFsZSBsaW50aW5nIGlzc3Vlcy4gVmVyc2lvbiBkb2NzKG1vbml0b3JpbmcpOiBmaXggYWxsIHZhbGUgbGludGluZyBpc3N1ZXMgb2YgQ0xBVURFLm1kIGxlZnQgaW4gdHJlZS4KPiBBdXRvLW1lcmdpbmcgLmdpdGh1Yi9zdHlsZXMvY29uZmlnL3ZvY2FidWxhcmllcy9CYXNlL2FjY2VwdC50eHQKPiBDT05GTElDVCAoY29udGVudCk6IE1lcmdlIGNvbmZsaWN0IGluIC5naXRodWIvc3R5bGVzL2NvbmZpZy92b2NhYnVsYXJpZXMvQmFzZS9hY2NlcHQudHh0Cj4gZXJyb3I6IEZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4KPiBoaW50OiBVc2UgJ2dpdCBhbSAtLXNob3ctY3VycmVudC1wYXRjaD1kaWZmJyB0byBzZWUgdGhlIGZhaWxlZCBwYXRjaAo+IGhpbnQ6IFdoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gImdpdCBhbSAtLWNvbnRpbnVlIi4KPiBoaW50OiBJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuICJnaXQgYW0gLS1za2lwIiBpbnN0ZWFkLgo+IGhpbnQ6IFRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuICJnaXQgYW0gLS1hYm9ydCIuCj4gaGludDogRGlzYWJsZSB0aGlzIG1lc3NhZ2Ugd2l0aCAiZ2l0IGNvbmZpZyBhZHZpY2UubWVyZ2VDb25mbGljdCBmYWxzZSIKPiBQYXRjaCBmYWlsZWQgYXQgMDAwMSBkb2NzKG1vbml0b3JpbmcpOiBmaXggYWxsIHZhbGUgbGludGluZyBpc3N1ZXMKPiAKPiBgYGA8L2lzc3VlX2Rlc2NyaXB0aW9uPgo+IAo+ICMjIENvbW1lbnRzIG9uIHRoZSBJc3N1ZSAoeW91IGFyZSBAY29waWxvdCBpbiB0aGlzIHNlY3Rpb24pCj4gCj4gPGNvbW1lbnRzPgo+IDwvY29tbWVudHM+Cj4gCgoKPC9kZXRhaWxzPgoKCgo8IS0tIFNUQVJUIENPUElMT1QgQ09ESU5HIEFHRU5UIFNVRkZJWCAtLT4KCi0gRml4ZXMgdmV4eGhvc3QvYXRtb3NwaGVyZSMzNTQ1Cgo8IS0tIFNUQVJUIENPUElMT1QgQ09ESU5HIEFHRU5UIFRJUFMgLS0+Ci0tLQoK4pyoIExldCBDb3BpbG90IGNvZGluZyBhZ2VudCBbc2V0IHRoaW5ncyB1cCBmb3IgeW91XShodHRwczovL2dpdGh1Yi5jb20vdmV4eGhvc3QvYXRtb3NwaGVyZS9pc3N1ZXMvbmV3P3RpdGxlPeKcqCtTZXQrdXArQ29waWxvdCtpbnN0cnVjdGlvbnMmYm9keT1Db25maWd1cmUlMjBpbnN0cnVjdGlvbnMlMjBmb3IlMjB0aGlzJTIwcmVwb3NpdG9yeSUyMGFzJTIwZG9jdW1lbnRlZCUyMGluJTIwJTVCQmVzdCUyMHByYWN0aWNlcyUyMGZvciUyMENvcGlsb3QlMjBjb2RpbmclMjBhZ2VudCUyMGluJTIweW91ciUyMHJlcG9zaXRvcnklNUQlMjhodHRwczovL2doLmlvL2NvcGlsb3QtY29kaW5nLWFnZW50LXRpcHMlMjklMkUlMEElMEElM0NPbmJvYXJkJTIwdGhpcyUyMHJlcG8lM0UmYXNzaWduZWVzPWNvcGlsb3QpIOKAlCBjb2RpbmcgYWdlbnQgd29ya3MgZmFzdGVyIGFuZCBkb2VzIGhpZ2hlciBxdWFsaXR5IHdvcmsgd2hlbiBzZXQgdXAgZm9yIHlvdXIgcmVwby4K
      patchset: 8068483cb6032ef7e839aeec2fc41993975eb270
      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: 8068483cb6032ef7e839aeec2fc41993975eb270
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 3a57ef7049b4b76a5a29f8331975931464a14d51
        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: 8068483cb6032ef7e839aeec2fc41993975eb270
          name: vexxhost/atmosphere
          required: false
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
      ref: refs/pull/3551/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
