all:
  children:
    tempest:
      hosts:
        controller: null
    zuul_unreachable:
      hosts: {}
  hosts:
    controller:
      ansible_connection: ssh
      ansible_host: 199.204.45.65
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      configure_swap_size: 8192
      devstack_local_conf:
        post-config:
          $NEUTRON_CONF:
            DEFAULT:
              global_physnet_mtu: '{{ external_bridge_mtu }}'
          /etc/magnum/magnum.conf:
            cluster_template:
              kubernetes_allowed_network_drivers: calico,cilium
              kubernetes_default_network_driver: calico
            nova_client:
              api_version: 2.15
          /etc/manila/manila.conf:
            generic:
              connect_share_server_to_tenant_network: true
              driver_handles_share_servers: true
      devstack_localrc:
        ADMIN_PASSWORD: secretadmin
        DATABASE_PASSWORD: secretdatabase
        DEBUG_LIBVIRT_COREDUMPS: true
        DISABLE_AMP_IMAGE_BUILD: true
        ENABLE_SYSCTL_MEM_TUNING: true
        ENABLE_SYSCTL_NET_TUNING: true
        ENABLE_ZSWAP: true
        ERROR_ON_CLONE: true
        FIXED_RANGE: 10.1.0.0/20
        FLOATING_RANGE: 172.24.5.0/24
        GIT_BASE: https://github.com
        HOST_IP: '{{ hostvars[''controller''][''nodepool''][''private_ipv4''] }}'
        IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
        LIBVIRT_TYPE: '{{ devstack_libvirt_type | default("qemu") }}'
        LOGFILE: /opt/stack/logs/devstacklog.txt
        LOG_COLOR: false
        MAGNUM_GUEST_IMAGE_URL: '{{ image_url }}'
        MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS: snapshot_support=True create_share_from_snapshot_support=True
        MANILA_ENABLED_BACKENDS: generic
        MANILA_USE_SERVICE_INSTANCE_PASSWORD: true
        NETWORK_GATEWAY: 10.1.0.1
        NOVA_LIBVIRT_TB_CACHE_SIZE: 128
        NOVA_VNC_ENABLED: true
        OCTAVIA_NODE: api
        OVN_DBS_LOG_LEVEL: dbg
        PUBLIC_BRIDGE_MTU: '{{ external_bridge_mtu }}'
        PUBLIC_NETWORK_GATEWAY: 172.24.5.1
        RABBIT_PASSWORD: secretrabbit
        SERVICE_HOST: '{{ hostvars[''controller''][''nodepool''][''private_ipv4'']
          }}'
        SERVICE_PASSWORD: secretservice
        SWIFT_HASH: 1234123412341234
        SWIFT_REPLICAS: 1
        SWIFT_START_ALL_SERVICES: false
        VERBOSE: true
        VERBOSE_NO_TIMESTAMP: true
      devstack_plugins:
        barbican: https://github.com/openstack/barbican
        magnum: https://review.opendev.org/openstack/magnum
        magnum-cluster-api: https://github.com/vexxhost/magnum-cluster-api
        manila: https://github.com/openstack/manila
        octavia: https://github.com/openstack/octavia
        ovn-octavia-provider: https://github.com/openstack/ovn-octavia-provider
      devstack_services:
        base: false
        c-api: true
        c-bak: true
        c-sch: true
        c-vol: true
        dstat: false
        etcd3: true
        file_tracker: true
        g-api: true
        horizon: false
        key: true
        memory_tracker: true
        mysql: true
        n-api: true
        n-api-meta: true
        n-cond: true
        n-cpu: true
        n-novnc: true
        n-sch: true
        o-api: true
        o-da: true
        o-hk: true
        octavia: true
        openstack-cli-server: true
        ovn-controller: true
        ovn-northd: true
        ovs-vswitchd: true
        ovsdb-server: true
        placement-api: true
        q-ovn-agent: true
        q-svc: true
        rabbit: true
        s-account: false
        s-container: false
        s-object: false
        s-proxy: false
        tempest: false
        tls-proxy: true
      extensions_to_txt:
        auto: true
        conf: true
        localrc: true
        log: true
        stackenv: true
      image_url: https://github.com/vexxhost/capo-image-elements/releases/latest/download/ubuntu-22.04-{{
        kube_tag }}.qcow2
      kube_tag: v1.34.6
      network_driver: calico
      nodepool:
        az: nova
        cloud: public
        external_id: 48eda030-880b-4f8d-a3f6-5ccfa1d96a45
        host_id: 413ad91e6120ae81306de27e59dcefd40ab96f06b8665fea7030ef8f
        interface_ip: 199.204.45.65
        label: ubuntu-noble-16
        node_properties: {}
        private_ipv4: 199.204.45.65
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.65
        public_ipv6: 2604:e100:1:0:f816:3eff:fe64:d767
        region: ca-ymq-1
        slot: null
      zuul_copy_output:
        /etc/ceph: logs
        /etc/glusterfs/glusterd.vol: logs
        /etc/libvirt: logs
        /etc/lvm: logs
        /etc/resolv.conf: logs
        /etc/sudoers: logs
        /etc/sudoers.d: logs
        /var/log/ceph: logs
        /var/log/glusterfs: logs
        /var/log/libvirt: logs
        /var/log/mysql: logs
        /var/log/openvswitch: logs
        /var/log/postgresql: logs
        /var/log/rabbitmq: logs
        /var/log/unbound.log: logs
        '{{ devstack_conf_dir }}/.localrc.auto': logs
        '{{ devstack_conf_dir }}/.stackenv': logs
        '{{ devstack_conf_dir }}/local.conf': logs
        '{{ devstack_conf_dir }}/localrc': logs
        '{{ devstack_full_log}}': logs
        '{{ devstack_log_dir }}/atop': logs
        '{{ devstack_log_dir }}/devstacklog.txt': logs
        '{{ devstack_log_dir }}/devstacklog.txt.summary': logs
        '{{ devstack_log_dir }}/dstat-csv.log': logs
        '{{ devstack_log_dir }}/qemu.coredump': logs
        '{{ devstack_log_dir }}/tcpdump.pcap': logs
        '{{ devstack_log_dir }}/worlddump-latest.txt': logs
        '{{ stage_dir }}/apache': logs
        '{{ stage_dir }}/apache_config': logs
        '{{ stage_dir }}/audit.log': logs
        '{{ stage_dir }}/core': logs
        '{{ stage_dir }}/deprecations.log': logs
        '{{ stage_dir }}/df.txt': logs
        '{{ stage_dir }}/dpkg-l.txt': logs
        '{{ stage_dir }}/etc': logs
        '{{ stage_dir }}/iptables.txt': logs
        '{{ stage_dir }}/listen53.txt': logs
        '{{ stage_dir }}/mount.txt': logs
        '{{ stage_dir }}/performance.json': logs
        '{{ stage_dir }}/pip2-freeze.txt': logs
        '{{ stage_dir }}/pip3-freeze.txt': logs
        '{{ stage_dir }}/rpm-qa.txt': logs
        '{{ stage_dir }}/services.txt': logs
        '{{ stage_dir }}/verify_tempest_conf.log': logs
      zuul_node:
        az: nova
        cloud: public
        external_id: 48eda030-880b-4f8d-a3f6-5ccfa1d96a45
        host_id: 413ad91e6120ae81306de27e59dcefd40ab96f06b8665fea7030ef8f
        interface_ip: 199.204.45.65
        label: ubuntu-noble-16
        node_properties: {}
        private_ipv4: 199.204.45.65
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.65
        public_ipv6: 2604:e100:1:0:f816:3eff:fe64:d767
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    configure_swap_size: 8192
    devstack_local_conf:
      post-config:
        $NEUTRON_CONF:
          DEFAULT:
            global_physnet_mtu: '{{ external_bridge_mtu }}'
        /etc/magnum/magnum.conf:
          cluster_template:
            kubernetes_allowed_network_drivers: calico,cilium
            kubernetes_default_network_driver: calico
          nova_client:
            api_version: 2.15
        /etc/manila/manila.conf:
          generic:
            connect_share_server_to_tenant_network: true
            driver_handles_share_servers: true
    devstack_localrc:
      ADMIN_PASSWORD: secretadmin
      DATABASE_PASSWORD: secretdatabase
      DEBUG_LIBVIRT_COREDUMPS: true
      DISABLE_AMP_IMAGE_BUILD: true
      ENABLE_SYSCTL_MEM_TUNING: true
      ENABLE_SYSCTL_NET_TUNING: true
      ENABLE_ZSWAP: true
      ERROR_ON_CLONE: true
      FIXED_RANGE: 10.1.0.0/20
      FLOATING_RANGE: 172.24.5.0/24
      GIT_BASE: https://github.com
      HOST_IP: '{{ hostvars[''controller''][''nodepool''][''private_ipv4''] }}'
      IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
      LIBVIRT_TYPE: '{{ devstack_libvirt_type | default("qemu") }}'
      LOGFILE: /opt/stack/logs/devstacklog.txt
      LOG_COLOR: false
      MAGNUM_GUEST_IMAGE_URL: '{{ image_url }}'
      MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS: snapshot_support=True create_share_from_snapshot_support=True
      MANILA_ENABLED_BACKENDS: generic
      MANILA_USE_SERVICE_INSTANCE_PASSWORD: true
      NETWORK_GATEWAY: 10.1.0.1
      NOVA_LIBVIRT_TB_CACHE_SIZE: 128
      NOVA_VNC_ENABLED: true
      OCTAVIA_NODE: api
      OVN_DBS_LOG_LEVEL: dbg
      PUBLIC_BRIDGE_MTU: '{{ external_bridge_mtu }}'
      PUBLIC_NETWORK_GATEWAY: 172.24.5.1
      RABBIT_PASSWORD: secretrabbit
      SERVICE_HOST: '{{ hostvars[''controller''][''nodepool''][''private_ipv4''] }}'
      SERVICE_PASSWORD: secretservice
      SWIFT_HASH: 1234123412341234
      SWIFT_REPLICAS: 1
      SWIFT_START_ALL_SERVICES: false
      VERBOSE: true
      VERBOSE_NO_TIMESTAMP: true
    devstack_plugins:
      barbican: https://github.com/openstack/barbican
      magnum: https://review.opendev.org/openstack/magnum
      magnum-cluster-api: https://github.com/vexxhost/magnum-cluster-api
      manila: https://github.com/openstack/manila
      octavia: https://github.com/openstack/octavia
      ovn-octavia-provider: https://github.com/openstack/ovn-octavia-provider
    devstack_services:
      base: false
      c-api: true
      c-bak: true
      c-sch: true
      c-vol: true
      dstat: false
      etcd3: true
      file_tracker: true
      g-api: true
      horizon: false
      key: true
      memory_tracker: true
      mysql: true
      n-api: true
      n-api-meta: true
      n-cond: true
      n-cpu: true
      n-novnc: true
      n-sch: true
      o-api: true
      o-da: true
      o-hk: true
      octavia: true
      openstack-cli-server: true
      ovn-controller: true
      ovn-northd: true
      ovs-vswitchd: true
      ovsdb-server: true
      placement-api: true
      q-ovn-agent: true
      q-svc: true
      rabbit: true
      s-account: false
      s-container: false
      s-object: false
      s-proxy: false
      tempest: false
      tls-proxy: true
    extensions_to_txt:
      auto: true
      conf: true
      localrc: true
      log: true
      stackenv: true
    image_url: https://github.com/vexxhost/capo-image-elements/releases/latest/download/ubuntu-22.04-{{
      kube_tag }}.qcow2
    kube_tag: v1.34.6
    network_driver: calico
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-config/zuul.d/jobs.yaml@main#1>'
      - '<Job openstack-multinode-fips explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-config/zuul.d/jobs.yaml@main#17>'
      - '<Job devstack-base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: openstack/devstack/.zuul.yaml@master#426>'
      - '<Job devstack-minimal explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: openstack/devstack/.zuul.yaml@master#560>'
      - '<Job devstack explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: openstack/devstack/.zuul.yaml@master#603>'
      - '<Job magnum-cluster-api-devstack explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/magnum-cluster-api/zuul.d/jobs.yaml@main#1>'
      - '<Job magnum-cluster-api-hydrophone explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/magnum-cluster-api/zuul.d/jobs.yaml@main#60>'
      - '<Job magnum-cluster-api-hydrophone-v1.34.6 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/magnum-cluster-api/zuul.d/jobs.yaml@main#90>'
      - '<Job magnum-cluster-api-hydrophone-v1.34.6-calico explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/magnum-cluster-api/zuul.d/jobs.yaml@main#96>'
      - '<Job magnum-cluster-api-hydrophone-v1.34.6-calico explicit: None implied:
        None source: vexxhost/magnum-cluster-api/zuul.d/project.yaml@main#1>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 2c38cc8951ea40a5bef35286ef441034
      build_refs:
      - branch: main
        change: '957'
        change_message: "chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.11.4\n\nThis
          PR contains the following updates:\n\n| Package | Type | Update | Change
          |\n|---|---|---|---|\n| [ghcr.io/astral-sh/uv](https://redirect.github.com/astral-sh/uv)
          | final | patch | `0.11.3` \u2192 `0.11.4` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>astral-sh/uv
          (ghcr.io/astral-sh/uv)</summary>\n\n### [`v0.11.4`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0114)\n\n[Compare
          Source](https://redirect.github.com/astral-sh/uv/compare/0.11.3...0.11.4)\n\nReleased
          on 2026-04-07.\n\n##### Python\n\n- Add CPython 3.13.13, 3.14.4, and 3.15.0a8
          ([#&#8203;18908](https://redirect.github.com/astral-sh/uv/pull/18908))\n\n#####
          Enhancements\n\n- Add support for `--upgrade-group` ([#&#8203;18266](https://redirect.github.com/astral-sh/uv/pull/18266))\n-
          Merge repeated archive URL hashes by version ID ([#&#8203;18841](https://redirect.github.com/astral-sh/uv/pull/18841))\n-
          Require all direct URL hash algorithms to match ([#&#8203;18842](https://redirect.github.com/astral-sh/uv/pull/18842))\n\n#####
          Bug fixes\n\n- Avoid panics in environment finding via cycle detection ([#&#8203;18828](https://redirect.github.com/astral-sh/uv/pull/18828))\n-
          Enforce direct URL hashes for `pyproject.toml` dependencies ([#&#8203;18786](https://redirect.github.com/astral-sh/uv/pull/18786))\n-
          Error on `--locked` and `--frozen` when script lockfile is missing ([#&#8203;18832](https://redirect.github.com/astral-sh/uv/pull/18832))\n-
          Fix `uv export` extra resolution for workspace member and conflicting extras
          ([#&#8203;18888](https://redirect.github.com/astral-sh/uv/pull/18888))\n-
          Include conflicts defined in virtual workspace root ([#&#8203;18886](https://redirect.github.com/astral-sh/uv/pull/18886))\n-
          Recompute relative `exclude-newer` values during `uv tree --outdated` ([#&#8203;18899](https://redirect.github.com/astral-sh/uv/pull/18899))\n-
          Respect `--exclude-newer` in `uv tool list --outdated` ([#&#8203;18861](https://redirect.github.com/astral-sh/uv/pull/18861))\n-
          Sort by comparator to break specifier ties ([#&#8203;18850](https://redirect.github.com/astral-sh/uv/pull/18850))\n-
          Store relative timestamps in tool receipts ([#&#8203;18901](https://redirect.github.com/astral-sh/uv/pull/18901))\n-
          Track newly-activated extras when determining conflicts ([#&#8203;18852](https://redirect.github.com/astral-sh/uv/pull/18852))\n-
          Patch `Cargo.lock` in `uv-build` source distributions ([#&#8203;18831](https://redirect.github.com/astral-sh/uv/pull/18831))\n\n#####
          Documentation\n\n- Clarify that `--exclude-newer` compares artifact upload
          times ([#&#8203;18830](https://redirect.github.com/astral-sh/uv/pull/18830))\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR is behind base branch, or
          you tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this
          PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/vexxhost/magnum-cluster-api).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->\n"
        change_url: https://github.com/vexxhost/magnum-cluster-api/pull/957
        commit_id: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
        patchset: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/magnum-cluster-api
          name: vexxhost/magnum-cluster-api
          short_name: magnum-cluster-api
          src_dir: src/github.com/vexxhost/magnum-cluster-api
        src_dir: src/github.com/vexxhost/magnum-cluster-api
        topic: null
      buildset: 2656745c54e24ef687390fa5969aae2d
      buildset_refs:
      - branch: main
        change: '957'
        change_message: "chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.11.4\n\nThis
          PR contains the following updates:\n\n| Package | Type | Update | Change
          |\n|---|---|---|---|\n| [ghcr.io/astral-sh/uv](https://redirect.github.com/astral-sh/uv)
          | final | patch | `0.11.3` \u2192 `0.11.4` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>astral-sh/uv
          (ghcr.io/astral-sh/uv)</summary>\n\n### [`v0.11.4`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0114)\n\n[Compare
          Source](https://redirect.github.com/astral-sh/uv/compare/0.11.3...0.11.4)\n\nReleased
          on 2026-04-07.\n\n##### Python\n\n- Add CPython 3.13.13, 3.14.4, and 3.15.0a8
          ([#&#8203;18908](https://redirect.github.com/astral-sh/uv/pull/18908))\n\n#####
          Enhancements\n\n- Add support for `--upgrade-group` ([#&#8203;18266](https://redirect.github.com/astral-sh/uv/pull/18266))\n-
          Merge repeated archive URL hashes by version ID ([#&#8203;18841](https://redirect.github.com/astral-sh/uv/pull/18841))\n-
          Require all direct URL hash algorithms to match ([#&#8203;18842](https://redirect.github.com/astral-sh/uv/pull/18842))\n\n#####
          Bug fixes\n\n- Avoid panics in environment finding via cycle detection ([#&#8203;18828](https://redirect.github.com/astral-sh/uv/pull/18828))\n-
          Enforce direct URL hashes for `pyproject.toml` dependencies ([#&#8203;18786](https://redirect.github.com/astral-sh/uv/pull/18786))\n-
          Error on `--locked` and `--frozen` when script lockfile is missing ([#&#8203;18832](https://redirect.github.com/astral-sh/uv/pull/18832))\n-
          Fix `uv export` extra resolution for workspace member and conflicting extras
          ([#&#8203;18888](https://redirect.github.com/astral-sh/uv/pull/18888))\n-
          Include conflicts defined in virtual workspace root ([#&#8203;18886](https://redirect.github.com/astral-sh/uv/pull/18886))\n-
          Recompute relative `exclude-newer` values during `uv tree --outdated` ([#&#8203;18899](https://redirect.github.com/astral-sh/uv/pull/18899))\n-
          Respect `--exclude-newer` in `uv tool list --outdated` ([#&#8203;18861](https://redirect.github.com/astral-sh/uv/pull/18861))\n-
          Sort by comparator to break specifier ties ([#&#8203;18850](https://redirect.github.com/astral-sh/uv/pull/18850))\n-
          Store relative timestamps in tool receipts ([#&#8203;18901](https://redirect.github.com/astral-sh/uv/pull/18901))\n-
          Track newly-activated extras when determining conflicts ([#&#8203;18852](https://redirect.github.com/astral-sh/uv/pull/18852))\n-
          Patch `Cargo.lock` in `uv-build` source distributions ([#&#8203;18831](https://redirect.github.com/astral-sh/uv/pull/18831))\n\n#####
          Documentation\n\n- Clarify that `--exclude-newer` compares artifact upload
          times ([#&#8203;18830](https://redirect.github.com/astral-sh/uv/pull/18830))\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR is behind base branch, or
          you tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this
          PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/vexxhost/magnum-cluster-api).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->\n"
        change_url: https://github.com/vexxhost/magnum-cluster-api/pull/957
        commit_id: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
        patchset: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/magnum-cluster-api
          name: vexxhost/magnum-cluster-api
          short_name: magnum-cluster-api
          src_dir: src/github.com/vexxhost/magnum-cluster-api
        src_dir: src/github.com/vexxhost/magnum-cluster-api
        topic: null
      change: '957'
      change_message: "chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.11.4\n\nThis
        PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n|
        [ghcr.io/astral-sh/uv](https://redirect.github.com/astral-sh/uv) | final |
        patch | `0.11.3` \u2192 `0.11.4` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>astral-sh/uv
        (ghcr.io/astral-sh/uv)</summary>\n\n### [`v0.11.4`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0114)\n\n[Compare
        Source](https://redirect.github.com/astral-sh/uv/compare/0.11.3...0.11.4)\n\nReleased
        on 2026-04-07.\n\n##### Python\n\n- Add CPython 3.13.13, 3.14.4, and 3.15.0a8
        ([#&#8203;18908](https://redirect.github.com/astral-sh/uv/pull/18908))\n\n#####
        Enhancements\n\n- Add support for `--upgrade-group` ([#&#8203;18266](https://redirect.github.com/astral-sh/uv/pull/18266))\n-
        Merge repeated archive URL hashes by version ID ([#&#8203;18841](https://redirect.github.com/astral-sh/uv/pull/18841))\n-
        Require all direct URL hash algorithms to match ([#&#8203;18842](https://redirect.github.com/astral-sh/uv/pull/18842))\n\n#####
        Bug fixes\n\n- Avoid panics in environment finding via cycle detection ([#&#8203;18828](https://redirect.github.com/astral-sh/uv/pull/18828))\n-
        Enforce direct URL hashes for `pyproject.toml` dependencies ([#&#8203;18786](https://redirect.github.com/astral-sh/uv/pull/18786))\n-
        Error on `--locked` and `--frozen` when script lockfile is missing ([#&#8203;18832](https://redirect.github.com/astral-sh/uv/pull/18832))\n-
        Fix `uv export` extra resolution for workspace member and conflicting extras
        ([#&#8203;18888](https://redirect.github.com/astral-sh/uv/pull/18888))\n-
        Include conflicts defined in virtual workspace root ([#&#8203;18886](https://redirect.github.com/astral-sh/uv/pull/18886))\n-
        Recompute relative `exclude-newer` values during `uv tree --outdated` ([#&#8203;18899](https://redirect.github.com/astral-sh/uv/pull/18899))\n-
        Respect `--exclude-newer` in `uv tool list --outdated` ([#&#8203;18861](https://redirect.github.com/astral-sh/uv/pull/18861))\n-
        Sort by comparator to break specifier ties ([#&#8203;18850](https://redirect.github.com/astral-sh/uv/pull/18850))\n-
        Store relative timestamps in tool receipts ([#&#8203;18901](https://redirect.github.com/astral-sh/uv/pull/18901))\n-
        Track newly-activated extras when determining conflicts ([#&#8203;18852](https://redirect.github.com/astral-sh/uv/pull/18852))\n-
        Patch `Cargo.lock` in `uv-build` source distributions ([#&#8203;18831](https://redirect.github.com/astral-sh/uv/pull/18831))\n\n#####
        Documentation\n\n- Clarify that `--exclude-newer` compares artifact upload
        times ([#&#8203;18830](https://redirect.github.com/astral-sh/uv/pull/18830))\n\n</details>\n\n---\n\n###
        Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time (no
        schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
        **Automerge**: Disabled by config. Please merge this manually once you are
        satisfied.\n\n\u267B **Rebasing**: Whenever PR is behind base branch, or you
        tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR and
        you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check
        -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was
        generated by [Mend Renovate](https://mend.io/renovate/). View the [repository
        job log](https://developer.mend.io/github/vexxhost/magnum-cluster-api).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->\n"
      change_url: https://github.com/vexxhost/magnum-cluster-api/pull/957
      child_jobs: []
      commit_id: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
      event_id: 6fa1ac10-3307-11f1-8a4b-bd067ed577c3
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/2c38cc8951ea40a5bef35286ef441034/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/2c38cc8951ea40a5bef35286ef441034/work/logs
        result_data_file: /var/lib/zuul/builds/2c38cc8951ea40a5bef35286ef441034/work/results.json
        src_root: /var/lib/zuul/builds/2c38cc8951ea40a5bef35286ef441034/work/src
        work_root: /var/lib/zuul/builds/2c38cc8951ea40a5bef35286ef441034/work
      include_vars: []
      items:
      - branch: main
        change: '957'
        change_message: "chore(deps): update ghcr.io/astral-sh/uv docker tag to v0.11.4\n\nThis
          PR contains the following updates:\n\n| Package | Type | Update | Change
          |\n|---|---|---|---|\n| [ghcr.io/astral-sh/uv](https://redirect.github.com/astral-sh/uv)
          | final | patch | `0.11.3` \u2192 `0.11.4` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>astral-sh/uv
          (ghcr.io/astral-sh/uv)</summary>\n\n### [`v0.11.4`](https://redirect.github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0114)\n\n[Compare
          Source](https://redirect.github.com/astral-sh/uv/compare/0.11.3...0.11.4)\n\nReleased
          on 2026-04-07.\n\n##### Python\n\n- Add CPython 3.13.13, 3.14.4, and 3.15.0a8
          ([#&#8203;18908](https://redirect.github.com/astral-sh/uv/pull/18908))\n\n#####
          Enhancements\n\n- Add support for `--upgrade-group` ([#&#8203;18266](https://redirect.github.com/astral-sh/uv/pull/18266))\n-
          Merge repeated archive URL hashes by version ID ([#&#8203;18841](https://redirect.github.com/astral-sh/uv/pull/18841))\n-
          Require all direct URL hash algorithms to match ([#&#8203;18842](https://redirect.github.com/astral-sh/uv/pull/18842))\n\n#####
          Bug fixes\n\n- Avoid panics in environment finding via cycle detection ([#&#8203;18828](https://redirect.github.com/astral-sh/uv/pull/18828))\n-
          Enforce direct URL hashes for `pyproject.toml` dependencies ([#&#8203;18786](https://redirect.github.com/astral-sh/uv/pull/18786))\n-
          Error on `--locked` and `--frozen` when script lockfile is missing ([#&#8203;18832](https://redirect.github.com/astral-sh/uv/pull/18832))\n-
          Fix `uv export` extra resolution for workspace member and conflicting extras
          ([#&#8203;18888](https://redirect.github.com/astral-sh/uv/pull/18888))\n-
          Include conflicts defined in virtual workspace root ([#&#8203;18886](https://redirect.github.com/astral-sh/uv/pull/18886))\n-
          Recompute relative `exclude-newer` values during `uv tree --outdated` ([#&#8203;18899](https://redirect.github.com/astral-sh/uv/pull/18899))\n-
          Respect `--exclude-newer` in `uv tool list --outdated` ([#&#8203;18861](https://redirect.github.com/astral-sh/uv/pull/18861))\n-
          Sort by comparator to break specifier ties ([#&#8203;18850](https://redirect.github.com/astral-sh/uv/pull/18850))\n-
          Store relative timestamps in tool receipts ([#&#8203;18901](https://redirect.github.com/astral-sh/uv/pull/18901))\n-
          Track newly-activated extras when determining conflicts ([#&#8203;18852](https://redirect.github.com/astral-sh/uv/pull/18852))\n-
          Patch `Cargo.lock` in `uv-build` source distributions ([#&#8203;18831](https://redirect.github.com/astral-sh/uv/pull/18831))\n\n#####
          Documentation\n\n- Clarify that `--exclude-newer` compares artifact upload
          times ([#&#8203;18830](https://redirect.github.com/astral-sh/uv/pull/18830))\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR is behind base branch, or
          you tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this
          PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/vexxhost/magnum-cluster-api).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->\n"
        change_url: https://github.com/vexxhost/magnum-cluster-api/pull/957
        commit_id: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
        patchset: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/magnum-cluster-api
          name: vexxhost/magnum-cluster-api
          short_name: magnum-cluster-api
          src_dir: src/github.com/vexxhost/magnum-cluster-api
        topic: null
      job: magnum-cluster-api-hydrophone-v1.34.6-calico
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBnaGNyLmlvL2FzdHJhbC1zaC91diBkb2NrZXIgdGFnIHRvIHYwLjExLjQKClRoaXMgUFIgY29udGFpbnMgdGhlIGZvbGxvd2luZyB1cGRhdGVzOgoKfCBQYWNrYWdlIHwgVHlwZSB8IFVwZGF0ZSB8IENoYW5nZSB8CnwtLS18LS0tfC0tLXwtLS18CnwgW2doY3IuaW8vYXN0cmFsLXNoL3V2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXN0cmFsLXNoL3V2KSB8IGZpbmFsIHwgcGF0Y2ggfCBgMC4xMS4zYCDihpIgYDAuMTEuNGAgfAoKLS0tCgojIyMgUmVsZWFzZSBOb3RlcwoKPGRldGFpbHM+CjxzdW1tYXJ5PmFzdHJhbC1zaC91diAoZ2hjci5pby9hc3RyYWwtc2gvdXYpPC9zdW1tYXJ5PgoKIyMjIFtgdjAuMTEuNGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hc3RyYWwtc2gvdXYvYmxvYi9IRUFEL0NIQU5HRUxPRy5tZCMwMTE0KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXN0cmFsLXNoL3V2L2NvbXBhcmUvMC4xMS4zLi4uMC4xMS40KQoKUmVsZWFzZWQgb24gMjAyNi0wNC0wNy4KCiMjIyMjIFB5dGhvbgoKLSBBZGQgQ1B5dGhvbiAzLjEzLjEzLCAzLjE0LjQsIGFuZCAzLjE1LjBhOCAoWyMmIzgyMDM7MTg5MDhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hc3RyYWwtc2gvdXYvcHVsbC8xODkwOCkpCgojIyMjIyBFbmhhbmNlbWVudHMKCi0gQWRkIHN1cHBvcnQgZm9yIGAtLXVwZ3JhZGUtZ3JvdXBgIChbIyYjODIwMzsxODI2Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FzdHJhbC1zaC91di9wdWxsLzE4MjY2KSkKLSBNZXJnZSByZXBlYXRlZCBhcmNoaXZlIFVSTCBoYXNoZXMgYnkgdmVyc2lvbiBJRCAoWyMmIzgyMDM7MTg4NDFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hc3RyYWwtc2gvdXYvcHVsbC8xODg0MSkpCi0gUmVxdWlyZSBhbGwgZGlyZWN0IFVSTCBoYXNoIGFsZ29yaXRobXMgdG8gbWF0Y2ggKFsjJiM4MjAzOzE4ODQyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXN0cmFsLXNoL3V2L3B1bGwvMTg4NDIpKQoKIyMjIyMgQnVnIGZpeGVzCgotIEF2b2lkIHBhbmljcyBpbiBlbnZpcm9ubWVudCBmaW5kaW5nIHZpYSBjeWNsZSBkZXRlY3Rpb24gKFsjJiM4MjAzOzE4ODI4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXN0cmFsLXNoL3V2L3B1bGwvMTg4MjgpKQotIEVuZm9yY2UgZGlyZWN0IFVSTCBoYXNoZXMgZm9yIGBweXByb2plY3QudG9tbGAgZGVwZW5kZW5jaWVzIChbIyYjODIwMzsxODc4Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FzdHJhbC1zaC91di9wdWxsLzE4Nzg2KSkKLSBFcnJvciBvbiBgLS1sb2NrZWRgIGFuZCBgLS1mcm96ZW5gIHdoZW4gc2NyaXB0IGxvY2tmaWxlIGlzIG1pc3NpbmcgKFsjJiM4MjAzOzE4ODMyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXN0cmFsLXNoL3V2L3B1bGwvMTg4MzIpKQotIEZpeCBgdXYgZXhwb3J0YCBleHRyYSByZXNvbHV0aW9uIGZvciB3b3Jrc3BhY2UgbWVtYmVyIGFuZCBjb25mbGljdGluZyBleHRyYXMgKFsjJiM4MjAzOzE4ODg4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXN0cmFsLXNoL3V2L3B1bGwvMTg4ODgpKQotIEluY2x1ZGUgY29uZmxpY3RzIGRlZmluZWQgaW4gdmlydHVhbCB3b3Jrc3BhY2Ugcm9vdCAoWyMmIzgyMDM7MTg4ODZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hc3RyYWwtc2gvdXYvcHVsbC8xODg4NikpCi0gUmVjb21wdXRlIHJlbGF0aXZlIGBleGNsdWRlLW5ld2VyYCB2YWx1ZXMgZHVyaW5nIGB1diB0cmVlIC0tb3V0ZGF0ZWRgIChbIyYjODIwMzsxODg5OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FzdHJhbC1zaC91di9wdWxsLzE4ODk5KSkKLSBSZXNwZWN0IGAtLWV4Y2x1ZGUtbmV3ZXJgIGluIGB1diB0b29sIGxpc3QgLS1vdXRkYXRlZGAgKFsjJiM4MjAzOzE4ODYxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXN0cmFsLXNoL3V2L3B1bGwvMTg4NjEpKQotIFNvcnQgYnkgY29tcGFyYXRvciB0byBicmVhayBzcGVjaWZpZXIgdGllcyAoWyMmIzgyMDM7MTg4NTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hc3RyYWwtc2gvdXYvcHVsbC8xODg1MCkpCi0gU3RvcmUgcmVsYXRpdmUgdGltZXN0YW1wcyBpbiB0b29sIHJlY2VpcHRzIChbIyYjODIwMzsxODkwMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FzdHJhbC1zaC91di9wdWxsLzE4OTAxKSkKLSBUcmFjayBuZXdseS1hY3RpdmF0ZWQgZXh0cmFzIHdoZW4gZGV0ZXJtaW5pbmcgY29uZmxpY3RzIChbIyYjODIwMzsxODg1Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FzdHJhbC1zaC91di9wdWxsLzE4ODUyKSkKLSBQYXRjaCBgQ2FyZ28ubG9ja2AgaW4gYHV2LWJ1aWxkYCBzb3VyY2UgZGlzdHJpYnV0aW9ucyAoWyMmIzgyMDM7MTg4MzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hc3RyYWwtc2gvdXYvcHVsbC8xODgzMSkpCgojIyMjIyBEb2N1bWVudGF0aW9uCgotIENsYXJpZnkgdGhhdCBgLS1leGNsdWRlLW5ld2VyYCBjb21wYXJlcyBhcnRpZmFjdCB1cGxvYWQgdGltZXMgKFsjJiM4MjAzOzE4ODMwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXN0cmFsLXNoL3V2L3B1bGwvMTg4MzApKQoKPC9kZXRhaWxzPgoKLS0tCgojIyMgQ29uZmlndXJhdGlvbgoK8J+ThSAqKlNjaGVkdWxlKio6IEJyYW5jaCBjcmVhdGlvbiAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKSwgQXV0b21lcmdlIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpLgoK8J+apiAqKkF1dG9tZXJnZSoqOiBEaXNhYmxlZCBieSBjb25maWcuIFBsZWFzZSBtZXJnZSB0aGlzIG1hbnVhbGx5IG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQuCgrimbsgKipSZWJhc2luZyoqOiBXaGVuZXZlciBQUiBpcyBiZWhpbmQgYmFzZSBicmFuY2gsIG9yIHlvdSB0aWNrIHRoZSByZWJhc2UvcmV0cnkgY2hlY2tib3guCgrwn5SVICoqSWdub3JlKio6IENsb3NlIHRoaXMgUFIgYW5kIHlvdSB3b24ndCBiZSByZW1pbmRlZCBhYm91dCB0aGlzIHVwZGF0ZSBhZ2Fpbi4KCi0tLQoKIC0gWyBdIDwhLS0gcmViYXNlLWNoZWNrIC0tPklmIHlvdSB3YW50IHRvIHJlYmFzZS9yZXRyeSB0aGlzIFBSLCBjaGVjayB0aGlzIGJveAoKLS0tCgpUaGlzIFBSIHdhcyBnZW5lcmF0ZWQgYnkgW01lbmQgUmVub3ZhdGVdKGh0dHBzOi8vbWVuZC5pby9yZW5vdmF0ZS8pLiBWaWV3IHRoZSBbcmVwb3NpdG9yeSBqb2IgbG9nXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2dpdGh1Yi92ZXh4aG9zdC9tYWdudW0tY2x1c3Rlci1hcGkpLgo8IS0tcmVub3ZhdGUtZGVidWc6ZXlKamNtVmhkR1ZrU1c1V1pYSWlPaUkwTXk0eE1ESXVNVEVpTENKMWNHUmhkR1ZrU1c1V1pYSWlPaUkwTXk0eE1ESXVNVEVpTENKMFlYSm5aWFJDY21GdVkyZ2lPaUp0WVdsdUlpd2liR0ZpWld4eklqcGJYWDA9LS0+Cg==
      override_checkout: master
      patchset: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
      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: c75fe6ef19c05b98349573c971950c51bbf24758
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_0/opendev.org/openstack/devstack:
            canonical_name: opendev.org/openstack/devstack
            checkout: master
            commit: 0f28a404c2e4576d1b45eb123ec4e9e1b3274eea
          untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs:
            canonical_name: opendev.org/openstack/openstack-zuul-jobs
            checkout: master
            commit: 3d5175f90e389f3240a8400a792abaaeb51bee3b
          untrusted/project_2/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          untrusted/project_3/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: c75fe6ef19c05b98349573c971950c51bbf24758
          untrusted/project_4/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_5/github.com/vexxhost/magnum-cluster-api:
            canonical_name: github.com/vexxhost/magnum-cluster-api
            checkout: main
            commit: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
        playbooks:
        - path: untrusted/project_5/github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/hydrophone/run.yml
          roles:
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/playbook_0/role_1/devstack
            link_target: untrusted/project_0/opendev.org/openstack/devstack
            role_path: ansible/playbook_0/role_1/devstack/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/playbook_0/role_2/openstack-zuul-jobs
            link_target: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/playbook_0/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/playbook_0/role_4/zuul-jobs
            link_target: untrusted/project_3/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_4/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_5/zuul-jobs
            link_target: untrusted/project_4/github.com/vexxhost/zuul-jobs
            role_path: ansible/playbook_0/role_5/zuul-jobs/roles
        post_playbooks:
        - path: untrusted/project_5/github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/hydrophone/post.yml
          roles:
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/post_playbook_0/role_1/devstack
            link_target: untrusted/project_0/opendev.org/openstack/devstack
            role_path: ansible/post_playbook_0/role_1/devstack/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/post_playbook_0/role_2/openstack-zuul-jobs
            link_target: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/post_playbook_0/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/post_playbook_0/role_4/zuul-jobs
            link_target: untrusted/project_3/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_0/role_4/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_5/zuul-jobs
            link_target: untrusted/project_4/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_0/role_5/zuul-jobs/roles
        - path: untrusted/project_0/opendev.org/openstack/devstack/playbooks/post.yaml
          roles:
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/post_playbook_1/role_0/devstack
            link_target: untrusted/project_0/opendev.org/openstack/devstack
            role_path: ansible/post_playbook_1/role_0/devstack/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/post_playbook_1/role_1/openstack-zuul-jobs
            link_target: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/post_playbook_1/role_1/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/post_playbook_1/role_3/zuul-jobs
            link_target: untrusted/project_3/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_1/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_4/zuul-jobs
            link_target: untrusted/project_4/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_1/role_4/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post.yaml
          roles:
          - checkout: master
            checkout_description: job override ref
            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
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml
          roles:
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/post_playbook_3/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_3/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_3/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_3/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: job override ref
            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/opendev.org/openstack/devstack/playbooks/pre.yaml
          roles:
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_1/role_0/devstack
            link_target: untrusted/project_0/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_1/role_0/devstack/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/pre_playbook_1/role_1/openstack-zuul-jobs
            link_target: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_1/role_1/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/pre_playbook_1/role_3/zuul-jobs
            link_target: untrusted/project_3/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_1/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_1/role_4/zuul-jobs
            link_target: untrusted/project_4/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_1/role_4/zuul-jobs/roles
        - path: untrusted/project_5/github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/hydrophone/pre.yml
          roles:
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/pre_playbook_2/role_1/devstack
            link_target: untrusted/project_0/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_2/role_1/devstack/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/pre_playbook_2/role_2/openstack-zuul-jobs
            link_target: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_2/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: job override ref
            link_name: ansible/pre_playbook_2/role_4/zuul-jobs
            link_target: untrusted/project_3/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_2/role_4/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_2/role_5/zuul-jobs
            link_target: untrusted/project_4/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_2/role_5/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/vexxhost/magnum-cluster-api
        name: vexxhost/magnum-cluster-api
        short_name: magnum-cluster-api
        src_dir: src/github.com/vexxhost/magnum-cluster-api
      projects:
        github.com/novnc/novnc:
          canonical_hostname: github.com
          canonical_name: github.com/novnc/novnc
          checkout: master
          checkout_description: job override ref
          commit: 8e1ebdffba02e651c399dacef841f8941f6ad6e4
          name: novnc/novnc
          required: true
          short_name: novnc
          src_dir: src/github.com/novnc/novnc
        github.com/vexxhost/magnum-cluster-api:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/magnum-cluster-api
          checkout: main
          checkout_description: zuul branch
          commit: ca0a6fadeafa713d4ea2b69429c9570fa85e1ebc
          name: vexxhost/magnum-cluster-api
          required: false
          short_name: magnum-cluster-api
          src_dir: src/github.com/vexxhost/magnum-cluster-api
        opendev.org/openstack/barbican:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/barbican
          checkout: master
          checkout_description: job override ref
          commit: f8a331a40eb21e6c8f37e07794d57aa98b120af9
          name: openstack/barbican
          required: true
          short_name: barbican
          src_dir: src/opendev.org/openstack/barbican
        opendev.org/openstack/cinder:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/cinder
          checkout: master
          checkout_description: job override ref
          commit: 81c48732b13b4512ca63ac0fc91ccd7b0eec2863
          name: openstack/cinder
          required: true
          short_name: cinder
          src_dir: src/opendev.org/openstack/cinder
        opendev.org/openstack/devstack:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/devstack
          checkout: master
          checkout_description: job override ref
          commit: 0f28a404c2e4576d1b45eb123ec4e9e1b3274eea
          name: openstack/devstack
          required: true
          short_name: devstack
          src_dir: src/opendev.org/openstack/devstack
        opendev.org/openstack/glance:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/glance
          checkout: master
          checkout_description: job override ref
          commit: 3f8cce1d7415d8358a9679c585ce3db32c3fde8e
          name: openstack/glance
          required: true
          short_name: glance
          src_dir: src/opendev.org/openstack/glance
        opendev.org/openstack/keystone:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/keystone
          checkout: master
          checkout_description: job override ref
          commit: 91688d9dde8fcd09e6484423466a4513dbff5df7
          name: openstack/keystone
          required: true
          short_name: keystone
          src_dir: src/opendev.org/openstack/keystone
        opendev.org/openstack/magnum:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/magnum
          checkout: master
          checkout_description: job override ref
          commit: ec08b8b22b807b741c27a74e2497d58781d96fc2
          name: openstack/magnum
          required: true
          short_name: magnum
          src_dir: src/opendev.org/openstack/magnum
        opendev.org/openstack/manila:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/manila
          checkout: master
          checkout_description: job override ref
          commit: 201ac9b5bbdb9265dc0e442716709796b920fc6d
          name: openstack/manila
          required: true
          short_name: manila
          src_dir: src/opendev.org/openstack/manila
        opendev.org/openstack/neutron:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/neutron
          checkout: master
          checkout_description: job override ref
          commit: 54befe6c096275cfe0049a2f1ab1abbee3140c8c
          name: openstack/neutron
          required: true
          short_name: neutron
          src_dir: src/opendev.org/openstack/neutron
        opendev.org/openstack/nova:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/nova
          checkout: master
          checkout_description: job override ref
          commit: e4ef52f6ccd990d2f3c1782e06ec7ec2a0289271
          name: openstack/nova
          required: true
          short_name: nova
          src_dir: src/opendev.org/openstack/nova
        opendev.org/openstack/octavia:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/octavia
          checkout: master
          checkout_description: job override ref
          commit: c86b945c21b7d5d34cf13a4e9d52810d657682da
          name: openstack/octavia
          required: true
          short_name: octavia
          src_dir: src/opendev.org/openstack/octavia
        opendev.org/openstack/os-test-images:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/os-test-images
          checkout: master
          checkout_description: job override ref
          commit: 5d0367e03788764f41da8effffa14e3eac513201
          name: openstack/os-test-images
          required: true
          short_name: os-test-images
          src_dir: src/opendev.org/openstack/os-test-images
        opendev.org/openstack/ovn-octavia-provider:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/ovn-octavia-provider
          checkout: master
          checkout_description: job override ref
          commit: a04e63332c1a1fb2f1aceb20892f9aabefb75cf7
          name: openstack/ovn-octavia-provider
          required: true
          short_name: ovn-octavia-provider
          src_dir: src/opendev.org/openstack/ovn-octavia-provider
        opendev.org/openstack/placement:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/placement
          checkout: master
          checkout_description: job override ref
          commit: e3db398fba279721121892323e6260c6932797c1
          name: openstack/placement
          required: true
          short_name: placement
          src_dir: src/opendev.org/openstack/placement
        opendev.org/openstack/python-magnumclient:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/python-magnumclient
          checkout: master
          checkout_description: job override ref
          commit: bfc9dbc2aa9a113c12e591a87f774a6d986a981f
          name: openstack/python-magnumclient
          required: true
          short_name: python-magnumclient
          src_dir: src/opendev.org/openstack/python-magnumclient
        opendev.org/openstack/requirements:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/requirements
          checkout: master
          checkout_description: job override ref
          commit: 90c07b0db98601571b2c58e7dcc35853c4358d02
          name: openstack/requirements
          required: true
          short_name: requirements
          src_dir: src/opendev.org/openstack/requirements
        opendev.org/openstack/swift:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/swift
          checkout: master
          checkout_description: job override ref
          commit: 047b37bc291397fed1df218867ed15da36b9164a
          name: openstack/swift
          required: true
          short_name: swift
          src_dir: src/opendev.org/openstack/swift
      ref: refs/pull/957/head
      resources: {}
      tenant: oss
      timeout: 7200
      topic: null
      voting: true
    zuul_copy_output:
      /etc/ceph: logs
      /etc/glusterfs/glusterd.vol: logs
      /etc/libvirt: logs
      /etc/lvm: logs
      /etc/resolv.conf: logs
      /etc/sudoers: logs
      /etc/sudoers.d: logs
      /var/log/ceph: logs
      /var/log/glusterfs: logs
      /var/log/libvirt: logs
      /var/log/mysql: logs
      /var/log/openvswitch: logs
      /var/log/postgresql: logs
      /var/log/rabbitmq: logs
      /var/log/unbound.log: logs
      '{{ devstack_conf_dir }}/.localrc.auto': logs
      '{{ devstack_conf_dir }}/.stackenv': logs
      '{{ devstack_conf_dir }}/local.conf': logs
      '{{ devstack_conf_dir }}/localrc': logs
      '{{ devstack_full_log}}': logs
      '{{ devstack_log_dir }}/atop': logs
      '{{ devstack_log_dir }}/devstacklog.txt': logs
      '{{ devstack_log_dir }}/devstacklog.txt.summary': logs
      '{{ devstack_log_dir }}/dstat-csv.log': logs
      '{{ devstack_log_dir }}/qemu.coredump': logs
      '{{ devstack_log_dir }}/tcpdump.pcap': logs
      '{{ devstack_log_dir }}/worlddump-latest.txt': logs
      '{{ stage_dir }}/apache': logs
      '{{ stage_dir }}/apache_config': logs
      '{{ stage_dir }}/audit.log': logs
      '{{ stage_dir }}/core': logs
      '{{ stage_dir }}/deprecations.log': logs
      '{{ stage_dir }}/df.txt': logs
      '{{ stage_dir }}/dpkg-l.txt': logs
      '{{ stage_dir }}/etc': logs
      '{{ stage_dir }}/iptables.txt': logs
      '{{ stage_dir }}/listen53.txt': logs
      '{{ stage_dir }}/mount.txt': logs
      '{{ stage_dir }}/performance.json': logs
      '{{ stage_dir }}/pip2-freeze.txt': logs
      '{{ stage_dir }}/pip3-freeze.txt': logs
      '{{ stage_dir }}/rpm-qa.txt': logs
      '{{ stage_dir }}/services.txt': logs
      '{{ stage_dir }}/verify_tempest_conf.log': logs
