all:
  children:
    tempest:
      hosts:
        controller: null
    zuul_unreachable:
      hosts: {}
  hosts:
    controller:
      ansible_connection: ssh
      ansible_host: 199.19.213.103
      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.33.9
      network_driver: cilium
      nodepool:
        az: nova
        cloud: public
        external_id: b7957f23-106e-4cf9-8ec4-af0e7857a2aa
        host_id: c3960d6808d44d1eb7d41ff8f195b627bd14b6a9ca83ea7250fd5db8
        interface_ip: 199.19.213.103
        label: ubuntu-noble-16
        node_properties: {}
        private_ipv4: 199.19.213.103
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.19.213.103
        public_ipv6: 2604:e100:1:0:f816:3eff:fe3e:cefe
        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: b7957f23-106e-4cf9-8ec4-af0e7857a2aa
        host_id: c3960d6808d44d1eb7d41ff8f195b627bd14b6a9ca83ea7250fd5db8
        interface_ip: 199.19.213.103
        label: ubuntu-noble-16
        node_properties: {}
        private_ipv4: 199.19.213.103
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.19.213.103
        public_ipv6: 2604:e100:1:0:f816:3eff:fe3e:cefe
        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.33.9
    network_driver: cilium
    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#558>'
      - '<Job devstack explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: openstack/devstack/.zuul.yaml@master#601>'
      - '<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.33.9 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/magnum-cluster-api/zuul.d/jobs.yaml@main#72>'
      - '<Job magnum-cluster-api-hydrophone-v1.33.9-cilium explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/magnum-cluster-api/zuul.d/jobs.yaml@main#84>'
      - '<Job magnum-cluster-api-hydrophone-v1.33.9-cilium explicit: None implied:
        None source: vexxhost/magnum-cluster-api/zuul.d/project.yaml@main#1>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: a8e4ef9f1de14503b4994271015b68d3
      build_refs:
      - branch: main
        change: '904'
        change_message: "chore(deps): bump rustls-webpki from 0.103.4 to 0.103.10\n\nBumps
          [rustls-webpki](https://github.com/rustls/webpki) from 0.103.4 to 0.103.10.\n<details>\n<summary>Release
          notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/rustls/webpki/releases\">rustls-webpki's
          releases</a>.</em></p>\n<blockquote>\n<h2>0.103.10</h2>\n<p><strong>Correct
          selection of candidate CRLs by Distribution Point and Issuing Distribution
          Point</strong>. If a certificate had more than one <code>distributionPoint</code>,
          then only the first <code>distributionPoint</code> would be considered against
          each CRL's <code>IssuingDistributionPoint</code> <code>distributionPoint</code>,
          and then the certificate's subsequent <code>distributionPoint</code>s would
          be ignored.</p>\n<p>The impact was that correct provided CRLs would not
          be consulted to check revocation. With <code>UnknownStatusPolicy::Deny</code>
          (the default) this would lead to incorrect but safe <code>Error::UnknownRevocationStatus</code>.
          With <code>UnknownStatusPolicy::Allow</code> this would lead to inappropriate
          acceptance of revoked certificates.</p>\n<p>This vulnerability is thought
          to be of limited impact. This is because both the certificate and CRL are
          signed -- an attacker would need to compromise a trusted issuing authority
          to trigger this bug.  An attacker with such capabilities could likely bypass
          revocation checking through other more impactful means (such as publishing
          a valid, empty CRL.)</p>\n<p>More likely, this bug would be latent in normal
          use, and an attacker could leverage faulty revocation checking to continue
          using a revoked credential.</p>\n<p>This vulnerability is identified by
          <a href=\"https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4\">GHSA-pwjx-qhcg-rvj4</a>.
          Thank you to <a href=\"https://github.com/1seal\"><code>@\u200B1seal</code></a>
          for the report.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Freshen up rel-0.103
          by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a> in <a
          href=\"https://redirect.github.com/rustls/webpki/pull/455\">rustls/webpki#455</a></li>\n<li>Prepare
          0.103.10 by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/458\">rustls/webpki#458</a></li>\n</ul>\n<p><strong>Full
          Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10\">https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10</a></p>\n<h2>0.103.9</h2>\n<h2>What's
          Changed</h2>\n<ul>\n<li>[backport] ci: avoid denying warnings on nightly
          toolchains by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/437\">rustls/webpki#437</a></li>\n<li>Backport
          lifetime change and bump version for release by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/436\">rustls/webpki#436</a></li>\n</ul>\n<h2>0.103.8</h2>\n<h2>What's
          Changed</h2>\n<ul>\n<li>backport valid_uri_names (<a href=\"https://redirect.github.com/rustls/webpki/issues/404\">#404</a>)
          to rel-0.103 by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/408\">rustls/webpki#408</a></li>\n</ul>\n<p><strong>Full
          Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.7...v/0.103.8\">https://github.com/rustls/webpki/compare/v/0.103.7...v/0.103.8</a></p>\n<h2>0.103.7</h2>\n<ul>\n<li><strong>New
          feature</strong>: Add <code>KeyPurposeId::to_decoded_oid()</code> to help
          external <code>ExtendedKeyUsageValidator</code>s fill <code>RequiredEkuNotFoundContext::present</code>.</li>\n</ul>\n<h2>What's
          Changed</h2>\n<ul>\n<li>Warn on unnameable types by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/387\">rustls/webpki#387</a></li>\n<li>Expose
          KeyPurposeId::to_decoded_oid() by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/385\">rustls/webpki#385</a></li>\n<li>Fix
          --cfg docsrs uses by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/390\">rustls/webpki#390</a></li>\n</ul>\n<p><strong>Full
          Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.6...v/0.103.7\">https://github.com/rustls/webpki/compare/v/0.103.6...v/0.103.7</a></p>\n<h2>0.103.6</h2>\n<p>The
          extensible EKU validation released as part of 0.103.5 was actually not usable
          due to missing type exports, and contained a regression where empty ExtendedKeyUsage
          extensions would not trigger an error. Both issues are fixed in this release.</p>\n<h2>What's
          Changed</h2>\n<ul>\n<li>Export more types to enable ExtendedKeyUsageValidator
          implementations by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/381\">rustls/webpki#381</a></li>\n<li>Error
          on empty EKU extensions by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/382\">rustls/webpki#382</a></li>\n</ul>\n<!--
          raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a
          href=\"https://github.com/rustls/webpki/commit/348ce01c01cf8ce21199090c98853992c9c047a8\"><code>348ce01</code></a>
          Prepare 0.103.10</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/dbde5921164c6e3ea0928654de8cb7d5de8c2b33\"><code>dbde592</code></a>
          crl: fix authoritative_for() support for multiple URIs</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/9c4838e6129a544a0f7f5d26ac7517860a22992c\"><code>9c4838e</code></a>
          avoid std::prelude imports</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/009ef667e3bb0544808c39b64e9b6db0d626b117\"><code>009ef66</code></a>
          fix rust 1.94 ambiguous panic macro warnings</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/c41360d095f9f48e14679a078afd10c2d61716fe\"><code>c41360d</code></a>
          build(deps): bump taiki-e/cache-cargo-install-action from 2 to 3</li>\n<li><a
          href=\"https://github.com/rustls/webpki/commit/e401d0083d9cf91d0209bae1db465267d7290233\"><code>e401d00</code></a>
          generate.py: reformat for black 2026.1.0</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/06cedecbf6af88cad40b2ae2cc4a474f1429ddb6\"><code>06cedec</code></a>
          Take semver-compatible deps</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/6bc9931d3b63d26cff9451ec59ac7efff73ebbc5\"><code>6bc9931</code></a>
          Bump version to 0.103.9</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/92dbfc6ee8ba6989d9960ec4e10dccf53820f771\"><code>92dbfc6</code></a>
          Tie lifetime of valid_dns_names/valid_uri_names to struct lifetime</li>\n<li><a
          href=\"https://github.com/rustls/webpki/commit/2c46166a594c05afe111f75664c1bb4084f64e3e\"><code>2c46166</code></a>
          ci: sync cargo-check-external-types nightly</li>\n<li>Additional commits
          viewable in <a href=\"https://github.com/rustls/webpki/compare/v/0.103.4...v/0.103.10\">compare
          view</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility
          score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls-webpki&package-manager=cargo&previous-version=0.103.4&new-version=0.103.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot
          will resolve any conflicts with this PR as long as you don't alter it yourself.
          You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]:
          # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot
          commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions
          by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n-
          `@dependabot recreate` will recreate this PR, overwriting any edits that
          have been made to it\n- `@dependabot show <dependency name> ignore conditions`
          will show all of the ignore conditions of the specified dependency\n- `@dependabot
          ignore this major version` will close this PR and stop Dependabot creating
          any more for this major version (unless you reopen the PR or upgrade to
          it yourself)\n- `@dependabot ignore this minor version` will close this
          PR and stop Dependabot creating any more for this minor version (unless
          you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this
          dependency` will close this PR and stop Dependabot creating any more for
          this dependency (unless you reopen the PR or upgrade to it yourself)\nYou
          can disable automated security fix PRs for this repo from the [Security
          Alerts page](https://github.com/vexxhost/magnum-cluster-api/network/alerts).\n\n</details>"
        change_url: https://github.com/vexxhost/magnum-cluster-api/pull/904
        commit_id: 83008d8f96665c883d33c3864e6338d165b12c59
        patchset: 83008d8f96665c883d33c3864e6338d165b12c59
        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: 4e7d41f1b3dd4d45977dafa6a275459c
      buildset_refs:
      - branch: main
        change: '904'
        change_message: "chore(deps): bump rustls-webpki from 0.103.4 to 0.103.10\n\nBumps
          [rustls-webpki](https://github.com/rustls/webpki) from 0.103.4 to 0.103.10.\n<details>\n<summary>Release
          notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/rustls/webpki/releases\">rustls-webpki's
          releases</a>.</em></p>\n<blockquote>\n<h2>0.103.10</h2>\n<p><strong>Correct
          selection of candidate CRLs by Distribution Point and Issuing Distribution
          Point</strong>. If a certificate had more than one <code>distributionPoint</code>,
          then only the first <code>distributionPoint</code> would be considered against
          each CRL's <code>IssuingDistributionPoint</code> <code>distributionPoint</code>,
          and then the certificate's subsequent <code>distributionPoint</code>s would
          be ignored.</p>\n<p>The impact was that correct provided CRLs would not
          be consulted to check revocation. With <code>UnknownStatusPolicy::Deny</code>
          (the default) this would lead to incorrect but safe <code>Error::UnknownRevocationStatus</code>.
          With <code>UnknownStatusPolicy::Allow</code> this would lead to inappropriate
          acceptance of revoked certificates.</p>\n<p>This vulnerability is thought
          to be of limited impact. This is because both the certificate and CRL are
          signed -- an attacker would need to compromise a trusted issuing authority
          to trigger this bug.  An attacker with such capabilities could likely bypass
          revocation checking through other more impactful means (such as publishing
          a valid, empty CRL.)</p>\n<p>More likely, this bug would be latent in normal
          use, and an attacker could leverage faulty revocation checking to continue
          using a revoked credential.</p>\n<p>This vulnerability is identified by
          <a href=\"https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4\">GHSA-pwjx-qhcg-rvj4</a>.
          Thank you to <a href=\"https://github.com/1seal\"><code>@\u200B1seal</code></a>
          for the report.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Freshen up rel-0.103
          by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a> in <a
          href=\"https://redirect.github.com/rustls/webpki/pull/455\">rustls/webpki#455</a></li>\n<li>Prepare
          0.103.10 by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/458\">rustls/webpki#458</a></li>\n</ul>\n<p><strong>Full
          Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10\">https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10</a></p>\n<h2>0.103.9</h2>\n<h2>What's
          Changed</h2>\n<ul>\n<li>[backport] ci: avoid denying warnings on nightly
          toolchains by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/437\">rustls/webpki#437</a></li>\n<li>Backport
          lifetime change and bump version for release by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/436\">rustls/webpki#436</a></li>\n</ul>\n<h2>0.103.8</h2>\n<h2>What's
          Changed</h2>\n<ul>\n<li>backport valid_uri_names (<a href=\"https://redirect.github.com/rustls/webpki/issues/404\">#404</a>)
          to rel-0.103 by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/408\">rustls/webpki#408</a></li>\n</ul>\n<p><strong>Full
          Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.7...v/0.103.8\">https://github.com/rustls/webpki/compare/v/0.103.7...v/0.103.8</a></p>\n<h2>0.103.7</h2>\n<ul>\n<li><strong>New
          feature</strong>: Add <code>KeyPurposeId::to_decoded_oid()</code> to help
          external <code>ExtendedKeyUsageValidator</code>s fill <code>RequiredEkuNotFoundContext::present</code>.</li>\n</ul>\n<h2>What's
          Changed</h2>\n<ul>\n<li>Warn on unnameable types by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/387\">rustls/webpki#387</a></li>\n<li>Expose
          KeyPurposeId::to_decoded_oid() by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/385\">rustls/webpki#385</a></li>\n<li>Fix
          --cfg docsrs uses by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/390\">rustls/webpki#390</a></li>\n</ul>\n<p><strong>Full
          Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.6...v/0.103.7\">https://github.com/rustls/webpki/compare/v/0.103.6...v/0.103.7</a></p>\n<h2>0.103.6</h2>\n<p>The
          extensible EKU validation released as part of 0.103.5 was actually not usable
          due to missing type exports, and contained a regression where empty ExtendedKeyUsage
          extensions would not trigger an error. Both issues are fixed in this release.</p>\n<h2>What's
          Changed</h2>\n<ul>\n<li>Export more types to enable ExtendedKeyUsageValidator
          implementations by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/381\">rustls/webpki#381</a></li>\n<li>Error
          on empty EKU extensions by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/382\">rustls/webpki#382</a></li>\n</ul>\n<!--
          raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a
          href=\"https://github.com/rustls/webpki/commit/348ce01c01cf8ce21199090c98853992c9c047a8\"><code>348ce01</code></a>
          Prepare 0.103.10</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/dbde5921164c6e3ea0928654de8cb7d5de8c2b33\"><code>dbde592</code></a>
          crl: fix authoritative_for() support for multiple URIs</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/9c4838e6129a544a0f7f5d26ac7517860a22992c\"><code>9c4838e</code></a>
          avoid std::prelude imports</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/009ef667e3bb0544808c39b64e9b6db0d626b117\"><code>009ef66</code></a>
          fix rust 1.94 ambiguous panic macro warnings</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/c41360d095f9f48e14679a078afd10c2d61716fe\"><code>c41360d</code></a>
          build(deps): bump taiki-e/cache-cargo-install-action from 2 to 3</li>\n<li><a
          href=\"https://github.com/rustls/webpki/commit/e401d0083d9cf91d0209bae1db465267d7290233\"><code>e401d00</code></a>
          generate.py: reformat for black 2026.1.0</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/06cedecbf6af88cad40b2ae2cc4a474f1429ddb6\"><code>06cedec</code></a>
          Take semver-compatible deps</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/6bc9931d3b63d26cff9451ec59ac7efff73ebbc5\"><code>6bc9931</code></a>
          Bump version to 0.103.9</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/92dbfc6ee8ba6989d9960ec4e10dccf53820f771\"><code>92dbfc6</code></a>
          Tie lifetime of valid_dns_names/valid_uri_names to struct lifetime</li>\n<li><a
          href=\"https://github.com/rustls/webpki/commit/2c46166a594c05afe111f75664c1bb4084f64e3e\"><code>2c46166</code></a>
          ci: sync cargo-check-external-types nightly</li>\n<li>Additional commits
          viewable in <a href=\"https://github.com/rustls/webpki/compare/v/0.103.4...v/0.103.10\">compare
          view</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility
          score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls-webpki&package-manager=cargo&previous-version=0.103.4&new-version=0.103.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot
          will resolve any conflicts with this PR as long as you don't alter it yourself.
          You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]:
          # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot
          commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions
          by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n-
          `@dependabot recreate` will recreate this PR, overwriting any edits that
          have been made to it\n- `@dependabot show <dependency name> ignore conditions`
          will show all of the ignore conditions of the specified dependency\n- `@dependabot
          ignore this major version` will close this PR and stop Dependabot creating
          any more for this major version (unless you reopen the PR or upgrade to
          it yourself)\n- `@dependabot ignore this minor version` will close this
          PR and stop Dependabot creating any more for this minor version (unless
          you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this
          dependency` will close this PR and stop Dependabot creating any more for
          this dependency (unless you reopen the PR or upgrade to it yourself)\nYou
          can disable automated security fix PRs for this repo from the [Security
          Alerts page](https://github.com/vexxhost/magnum-cluster-api/network/alerts).\n\n</details>"
        change_url: https://github.com/vexxhost/magnum-cluster-api/pull/904
        commit_id: 83008d8f96665c883d33c3864e6338d165b12c59
        patchset: 83008d8f96665c883d33c3864e6338d165b12c59
        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: '904'
      change_message: "chore(deps): bump rustls-webpki from 0.103.4 to 0.103.10\n\nBumps
        [rustls-webpki](https://github.com/rustls/webpki) from 0.103.4 to 0.103.10.\n<details>\n<summary>Release
        notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/rustls/webpki/releases\">rustls-webpki's
        releases</a>.</em></p>\n<blockquote>\n<h2>0.103.10</h2>\n<p><strong>Correct
        selection of candidate CRLs by Distribution Point and Issuing Distribution
        Point</strong>. If a certificate had more than one <code>distributionPoint</code>,
        then only the first <code>distributionPoint</code> would be considered against
        each CRL's <code>IssuingDistributionPoint</code> <code>distributionPoint</code>,
        and then the certificate's subsequent <code>distributionPoint</code>s would
        be ignored.</p>\n<p>The impact was that correct provided CRLs would not be
        consulted to check revocation. With <code>UnknownStatusPolicy::Deny</code>
        (the default) this would lead to incorrect but safe <code>Error::UnknownRevocationStatus</code>.
        With <code>UnknownStatusPolicy::Allow</code> this would lead to inappropriate
        acceptance of revoked certificates.</p>\n<p>This vulnerability is thought
        to be of limited impact. This is because both the certificate and CRL are
        signed -- an attacker would need to compromise a trusted issuing authority
        to trigger this bug.  An attacker with such capabilities could likely bypass
        revocation checking through other more impactful means (such as publishing
        a valid, empty CRL.)</p>\n<p>More likely, this bug would be latent in normal
        use, and an attacker could leverage faulty revocation checking to continue
        using a revoked credential.</p>\n<p>This vulnerability is identified by <a
        href=\"https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4\">GHSA-pwjx-qhcg-rvj4</a>.
        Thank you to <a href=\"https://github.com/1seal\"><code>@\u200B1seal</code></a>
        for the report.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Freshen up rel-0.103
        by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/455\">rustls/webpki#455</a></li>\n<li>Prepare
        0.103.10 by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a>
        in <a href=\"https://redirect.github.com/rustls/webpki/pull/458\">rustls/webpki#458</a></li>\n</ul>\n<p><strong>Full
        Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10\">https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10</a></p>\n<h2>0.103.9</h2>\n<h2>What's
        Changed</h2>\n<ul>\n<li>[backport] ci: avoid denying warnings on nightly toolchains
        by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a> in <a
        href=\"https://redirect.github.com/rustls/webpki/pull/437\">rustls/webpki#437</a></li>\n<li>Backport
        lifetime change and bump version for release by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
        in <a href=\"https://redirect.github.com/rustls/webpki/pull/436\">rustls/webpki#436</a></li>\n</ul>\n<h2>0.103.8</h2>\n<h2>What's
        Changed</h2>\n<ul>\n<li>backport valid_uri_names (<a href=\"https://redirect.github.com/rustls/webpki/issues/404\">#404</a>)
        to rel-0.103 by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
        in <a href=\"https://redirect.github.com/rustls/webpki/pull/408\">rustls/webpki#408</a></li>\n</ul>\n<p><strong>Full
        Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.7...v/0.103.8\">https://github.com/rustls/webpki/compare/v/0.103.7...v/0.103.8</a></p>\n<h2>0.103.7</h2>\n<ul>\n<li><strong>New
        feature</strong>: Add <code>KeyPurposeId::to_decoded_oid()</code> to help
        external <code>ExtendedKeyUsageValidator</code>s fill <code>RequiredEkuNotFoundContext::present</code>.</li>\n</ul>\n<h2>What's
        Changed</h2>\n<ul>\n<li>Warn on unnameable types by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
        in <a href=\"https://redirect.github.com/rustls/webpki/pull/387\">rustls/webpki#387</a></li>\n<li>Expose
        KeyPurposeId::to_decoded_oid() by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
        in <a href=\"https://redirect.github.com/rustls/webpki/pull/385\">rustls/webpki#385</a></li>\n<li>Fix
        --cfg docsrs uses by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a>
        in <a href=\"https://redirect.github.com/rustls/webpki/pull/390\">rustls/webpki#390</a></li>\n</ul>\n<p><strong>Full
        Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.6...v/0.103.7\">https://github.com/rustls/webpki/compare/v/0.103.6...v/0.103.7</a></p>\n<h2>0.103.6</h2>\n<p>The
        extensible EKU validation released as part of 0.103.5 was actually not usable
        due to missing type exports, and contained a regression where empty ExtendedKeyUsage
        extensions would not trigger an error. Both issues are fixed in this release.</p>\n<h2>What's
        Changed</h2>\n<ul>\n<li>Export more types to enable ExtendedKeyUsageValidator
        implementations by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
        in <a href=\"https://redirect.github.com/rustls/webpki/pull/381\">rustls/webpki#381</a></li>\n<li>Error
        on empty EKU extensions by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
        in <a href=\"https://redirect.github.com/rustls/webpki/pull/382\">rustls/webpki#382</a></li>\n</ul>\n<!--
        raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a
        href=\"https://github.com/rustls/webpki/commit/348ce01c01cf8ce21199090c98853992c9c047a8\"><code>348ce01</code></a>
        Prepare 0.103.10</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/dbde5921164c6e3ea0928654de8cb7d5de8c2b33\"><code>dbde592</code></a>
        crl: fix authoritative_for() support for multiple URIs</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/9c4838e6129a544a0f7f5d26ac7517860a22992c\"><code>9c4838e</code></a>
        avoid std::prelude imports</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/009ef667e3bb0544808c39b64e9b6db0d626b117\"><code>009ef66</code></a>
        fix rust 1.94 ambiguous panic macro warnings</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/c41360d095f9f48e14679a078afd10c2d61716fe\"><code>c41360d</code></a>
        build(deps): bump taiki-e/cache-cargo-install-action from 2 to 3</li>\n<li><a
        href=\"https://github.com/rustls/webpki/commit/e401d0083d9cf91d0209bae1db465267d7290233\"><code>e401d00</code></a>
        generate.py: reformat for black 2026.1.0</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/06cedecbf6af88cad40b2ae2cc4a474f1429ddb6\"><code>06cedec</code></a>
        Take semver-compatible deps</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/6bc9931d3b63d26cff9451ec59ac7efff73ebbc5\"><code>6bc9931</code></a>
        Bump version to 0.103.9</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/92dbfc6ee8ba6989d9960ec4e10dccf53820f771\"><code>92dbfc6</code></a>
        Tie lifetime of valid_dns_names/valid_uri_names to struct lifetime</li>\n<li><a
        href=\"https://github.com/rustls/webpki/commit/2c46166a594c05afe111f75664c1bb4084f64e3e\"><code>2c46166</code></a>
        ci: sync cargo-check-external-types nightly</li>\n<li>Additional commits viewable
        in <a href=\"https://github.com/rustls/webpki/compare/v/0.103.4...v/0.103.10\">compare
        view</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility
        score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls-webpki&package-manager=cargo&previous-version=0.103.4&new-version=0.103.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot
        will resolve any conflicts with this PR as long as you don't alter it yourself.
        You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]:
        # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot
        commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions
        by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot
        recreate` will recreate this PR, overwriting any edits that have been made
        to it\n- `@dependabot show <dependency name> ignore conditions` will show
        all of the ignore conditions of the specified dependency\n- `@dependabot ignore
        this major version` will close this PR and stop Dependabot creating any more
        for this major version (unless you reopen the PR or upgrade to it yourself)\n-
        `@dependabot ignore this minor version` will close this PR and stop Dependabot
        creating any more for this minor version (unless you reopen the PR or upgrade
        to it yourself)\n- `@dependabot ignore this dependency` will close this PR
        and stop Dependabot creating any more for this dependency (unless you reopen
        the PR or upgrade to it yourself)\nYou can disable automated security fix
        PRs for this repo from the [Security Alerts page](https://github.com/vexxhost/magnum-cluster-api/network/alerts).\n\n</details>"
      change_url: https://github.com/vexxhost/magnum-cluster-api/pull/904
      child_jobs: []
      commit_id: 83008d8f96665c883d33c3864e6338d165b12c59
      event_id: 0c7e6760-2509-11f1-8161-b435cc4d755f
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/a8e4ef9f1de14503b4994271015b68d3/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/a8e4ef9f1de14503b4994271015b68d3/work/logs
        result_data_file: /var/lib/zuul/builds/a8e4ef9f1de14503b4994271015b68d3/work/results.json
        src_root: /var/lib/zuul/builds/a8e4ef9f1de14503b4994271015b68d3/work/src
        work_root: /var/lib/zuul/builds/a8e4ef9f1de14503b4994271015b68d3/work
      include_vars: []
      items:
      - branch: main
        change: '904'
        change_message: "chore(deps): bump rustls-webpki from 0.103.4 to 0.103.10\n\nBumps
          [rustls-webpki](https://github.com/rustls/webpki) from 0.103.4 to 0.103.10.\n<details>\n<summary>Release
          notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/rustls/webpki/releases\">rustls-webpki's
          releases</a>.</em></p>\n<blockquote>\n<h2>0.103.10</h2>\n<p><strong>Correct
          selection of candidate CRLs by Distribution Point and Issuing Distribution
          Point</strong>. If a certificate had more than one <code>distributionPoint</code>,
          then only the first <code>distributionPoint</code> would be considered against
          each CRL's <code>IssuingDistributionPoint</code> <code>distributionPoint</code>,
          and then the certificate's subsequent <code>distributionPoint</code>s would
          be ignored.</p>\n<p>The impact was that correct provided CRLs would not
          be consulted to check revocation. With <code>UnknownStatusPolicy::Deny</code>
          (the default) this would lead to incorrect but safe <code>Error::UnknownRevocationStatus</code>.
          With <code>UnknownStatusPolicy::Allow</code> this would lead to inappropriate
          acceptance of revoked certificates.</p>\n<p>This vulnerability is thought
          to be of limited impact. This is because both the certificate and CRL are
          signed -- an attacker would need to compromise a trusted issuing authority
          to trigger this bug.  An attacker with such capabilities could likely bypass
          revocation checking through other more impactful means (such as publishing
          a valid, empty CRL.)</p>\n<p>More likely, this bug would be latent in normal
          use, and an attacker could leverage faulty revocation checking to continue
          using a revoked credential.</p>\n<p>This vulnerability is identified by
          <a href=\"https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4\">GHSA-pwjx-qhcg-rvj4</a>.
          Thank you to <a href=\"https://github.com/1seal\"><code>@\u200B1seal</code></a>
          for the report.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Freshen up rel-0.103
          by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a> in <a
          href=\"https://redirect.github.com/rustls/webpki/pull/455\">rustls/webpki#455</a></li>\n<li>Prepare
          0.103.10 by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/458\">rustls/webpki#458</a></li>\n</ul>\n<p><strong>Full
          Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10\">https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10</a></p>\n<h2>0.103.9</h2>\n<h2>What's
          Changed</h2>\n<ul>\n<li>[backport] ci: avoid denying warnings on nightly
          toolchains by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/437\">rustls/webpki#437</a></li>\n<li>Backport
          lifetime change and bump version for release by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/436\">rustls/webpki#436</a></li>\n</ul>\n<h2>0.103.8</h2>\n<h2>What's
          Changed</h2>\n<ul>\n<li>backport valid_uri_names (<a href=\"https://redirect.github.com/rustls/webpki/issues/404\">#404</a>)
          to rel-0.103 by <a href=\"https://github.com/alex\"><code>@\u200Balex</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/408\">rustls/webpki#408</a></li>\n</ul>\n<p><strong>Full
          Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.7...v/0.103.8\">https://github.com/rustls/webpki/compare/v/0.103.7...v/0.103.8</a></p>\n<h2>0.103.7</h2>\n<ul>\n<li><strong>New
          feature</strong>: Add <code>KeyPurposeId::to_decoded_oid()</code> to help
          external <code>ExtendedKeyUsageValidator</code>s fill <code>RequiredEkuNotFoundContext::present</code>.</li>\n</ul>\n<h2>What's
          Changed</h2>\n<ul>\n<li>Warn on unnameable types by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/387\">rustls/webpki#387</a></li>\n<li>Expose
          KeyPurposeId::to_decoded_oid() by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/385\">rustls/webpki#385</a></li>\n<li>Fix
          --cfg docsrs uses by <a href=\"https://github.com/ctz\"><code>@\u200Bctz</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/390\">rustls/webpki#390</a></li>\n</ul>\n<p><strong>Full
          Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.6...v/0.103.7\">https://github.com/rustls/webpki/compare/v/0.103.6...v/0.103.7</a></p>\n<h2>0.103.6</h2>\n<p>The
          extensible EKU validation released as part of 0.103.5 was actually not usable
          due to missing type exports, and contained a regression where empty ExtendedKeyUsage
          extensions would not trigger an error. Both issues are fixed in this release.</p>\n<h2>What's
          Changed</h2>\n<ul>\n<li>Export more types to enable ExtendedKeyUsageValidator
          implementations by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/381\">rustls/webpki#381</a></li>\n<li>Error
          on empty EKU extensions by <a href=\"https://github.com/djc\"><code>@\u200Bdjc</code></a>
          in <a href=\"https://redirect.github.com/rustls/webpki/pull/382\">rustls/webpki#382</a></li>\n</ul>\n<!--
          raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a
          href=\"https://github.com/rustls/webpki/commit/348ce01c01cf8ce21199090c98853992c9c047a8\"><code>348ce01</code></a>
          Prepare 0.103.10</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/dbde5921164c6e3ea0928654de8cb7d5de8c2b33\"><code>dbde592</code></a>
          crl: fix authoritative_for() support for multiple URIs</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/9c4838e6129a544a0f7f5d26ac7517860a22992c\"><code>9c4838e</code></a>
          avoid std::prelude imports</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/009ef667e3bb0544808c39b64e9b6db0d626b117\"><code>009ef66</code></a>
          fix rust 1.94 ambiguous panic macro warnings</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/c41360d095f9f48e14679a078afd10c2d61716fe\"><code>c41360d</code></a>
          build(deps): bump taiki-e/cache-cargo-install-action from 2 to 3</li>\n<li><a
          href=\"https://github.com/rustls/webpki/commit/e401d0083d9cf91d0209bae1db465267d7290233\"><code>e401d00</code></a>
          generate.py: reformat for black 2026.1.0</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/06cedecbf6af88cad40b2ae2cc4a474f1429ddb6\"><code>06cedec</code></a>
          Take semver-compatible deps</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/6bc9931d3b63d26cff9451ec59ac7efff73ebbc5\"><code>6bc9931</code></a>
          Bump version to 0.103.9</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/92dbfc6ee8ba6989d9960ec4e10dccf53820f771\"><code>92dbfc6</code></a>
          Tie lifetime of valid_dns_names/valid_uri_names to struct lifetime</li>\n<li><a
          href=\"https://github.com/rustls/webpki/commit/2c46166a594c05afe111f75664c1bb4084f64e3e\"><code>2c46166</code></a>
          ci: sync cargo-check-external-types nightly</li>\n<li>Additional commits
          viewable in <a href=\"https://github.com/rustls/webpki/compare/v/0.103.4...v/0.103.10\">compare
          view</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility
          score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls-webpki&package-manager=cargo&previous-version=0.103.4&new-version=0.103.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot
          will resolve any conflicts with this PR as long as you don't alter it yourself.
          You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]:
          # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot
          commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions
          by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n-
          `@dependabot recreate` will recreate this PR, overwriting any edits that
          have been made to it\n- `@dependabot show <dependency name> ignore conditions`
          will show all of the ignore conditions of the specified dependency\n- `@dependabot
          ignore this major version` will close this PR and stop Dependabot creating
          any more for this major version (unless you reopen the PR or upgrade to
          it yourself)\n- `@dependabot ignore this minor version` will close this
          PR and stop Dependabot creating any more for this minor version (unless
          you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this
          dependency` will close this PR and stop Dependabot creating any more for
          this dependency (unless you reopen the PR or upgrade to it yourself)\nYou
          can disable automated security fix PRs for this repo from the [Security
          Alerts page](https://github.com/vexxhost/magnum-cluster-api/network/alerts).\n\n</details>"
        change_url: https://github.com/vexxhost/magnum-cluster-api/pull/904
        commit_id: 83008d8f96665c883d33c3864e6338d165b12c59
        patchset: 83008d8f96665c883d33c3864e6338d165b12c59
        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.33.9-cilium
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IGJ1bXAgcnVzdGxzLXdlYnBraSBmcm9tIDAuMTAzLjQgdG8gMC4xMDMuMTAKCkJ1bXBzIFtydXN0bHMtd2VicGtpXShodHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraSkgZnJvbSAwLjEwMy40IHRvIDAuMTAzLjEwLgo8ZGV0YWlscz4KPHN1bW1hcnk+UmVsZWFzZSBub3Rlczwvc3VtbWFyeT4KPHA+PGVtPlNvdXJjZWQgZnJvbSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9yZWxlYXNlcyI+cnVzdGxzLXdlYnBraSdzIHJlbGVhc2VzPC9hPi48L2VtPjwvcD4KPGJsb2NrcXVvdGU+CjxoMj4wLjEwMy4xMDwvaDI+CjxwPjxzdHJvbmc+Q29ycmVjdCBzZWxlY3Rpb24gb2YgY2FuZGlkYXRlIENSTHMgYnkgRGlzdHJpYnV0aW9uIFBvaW50IGFuZCBJc3N1aW5nIERpc3RyaWJ1dGlvbiBQb2ludDwvc3Ryb25nPi4gSWYgYSBjZXJ0aWZpY2F0ZSBoYWQgbW9yZSB0aGFuIG9uZSA8Y29kZT5kaXN0cmlidXRpb25Qb2ludDwvY29kZT4sIHRoZW4gb25seSB0aGUgZmlyc3QgPGNvZGU+ZGlzdHJpYnV0aW9uUG9pbnQ8L2NvZGU+IHdvdWxkIGJlIGNvbnNpZGVyZWQgYWdhaW5zdCBlYWNoIENSTCdzIDxjb2RlPklzc3VpbmdEaXN0cmlidXRpb25Qb2ludDwvY29kZT4gPGNvZGU+ZGlzdHJpYnV0aW9uUG9pbnQ8L2NvZGU+LCBhbmQgdGhlbiB0aGUgY2VydGlmaWNhdGUncyBzdWJzZXF1ZW50IDxjb2RlPmRpc3RyaWJ1dGlvblBvaW50PC9jb2RlPnMgd291bGQgYmUgaWdub3JlZC48L3A+CjxwPlRoZSBpbXBhY3Qgd2FzIHRoYXQgY29ycmVjdCBwcm92aWRlZCBDUkxzIHdvdWxkIG5vdCBiZSBjb25zdWx0ZWQgdG8gY2hlY2sgcmV2b2NhdGlvbi4gV2l0aCA8Y29kZT5Vbmtub3duU3RhdHVzUG9saWN5OjpEZW55PC9jb2RlPiAodGhlIGRlZmF1bHQpIHRoaXMgd291bGQgbGVhZCB0byBpbmNvcnJlY3QgYnV0IHNhZmUgPGNvZGU+RXJyb3I6OlVua25vd25SZXZvY2F0aW9uU3RhdHVzPC9jb2RlPi4gV2l0aCA8Y29kZT5Vbmtub3duU3RhdHVzUG9saWN5OjpBbGxvdzwvY29kZT4gdGhpcyB3b3VsZCBsZWFkIHRvIGluYXBwcm9wcmlhdGUgYWNjZXB0YW5jZSBvZiByZXZva2VkIGNlcnRpZmljYXRlcy48L3A+CjxwPlRoaXMgdnVsbmVyYWJpbGl0eSBpcyB0aG91Z2h0IHRvIGJlIG9mIGxpbWl0ZWQgaW1wYWN0LiBUaGlzIGlzIGJlY2F1c2UgYm90aCB0aGUgY2VydGlmaWNhdGUgYW5kIENSTCBhcmUgc2lnbmVkIC0tIGFuIGF0dGFja2VyIHdvdWxkIG5lZWQgdG8gY29tcHJvbWlzZSBhIHRydXN0ZWQgaXNzdWluZyBhdXRob3JpdHkgdG8gdHJpZ2dlciB0aGlzIGJ1Zy4gIEFuIGF0dGFja2VyIHdpdGggc3VjaCBjYXBhYmlsaXRpZXMgY291bGQgbGlrZWx5IGJ5cGFzcyByZXZvY2F0aW9uIGNoZWNraW5nIHRocm91Z2ggb3RoZXIgbW9yZSBpbXBhY3RmdWwgbWVhbnMgKHN1Y2ggYXMgcHVibGlzaGluZyBhIHZhbGlkLCBlbXB0eSBDUkwuKTwvcD4KPHA+TW9yZSBsaWtlbHksIHRoaXMgYnVnIHdvdWxkIGJlIGxhdGVudCBpbiBub3JtYWwgdXNlLCBhbmQgYW4gYXR0YWNrZXIgY291bGQgbGV2ZXJhZ2UgZmF1bHR5IHJldm9jYXRpb24gY2hlY2tpbmcgdG8gY29udGludWUgdXNpbmcgYSByZXZva2VkIGNyZWRlbnRpYWwuPC9wPgo8cD5UaGlzIHZ1bG5lcmFiaWxpdHkgaXMgaWRlbnRpZmllZCBieSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtcHdqeC1xaGNnLXJ2ajQiPkdIU0EtcHdqeC1xaGNnLXJ2ajQ8L2E+LiBUaGFuayB5b3UgdG8gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tLzFzZWFsIj48Y29kZT5A4oCLMXNlYWw8L2NvZGU+PC9hPiBmb3IgdGhlIHJlcG9ydC48L3A+CjxoMj5XaGF0J3MgQ2hhbmdlZDwvaDI+Cjx1bD4KPGxpPkZyZXNoZW4gdXAgcmVsLTAuMTAzIGJ5IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jdHoiPjxjb2RlPkDigItjdHo8L2NvZGU+PC9hPiBpbiA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9wdWxsLzQ1NSI+cnVzdGxzL3dlYnBraSM0NTU8L2E+PC9saT4KPGxpPlByZXBhcmUgMC4xMDMuMTAgYnkgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2N0eiI+PGNvZGU+QOKAi2N0ejwvY29kZT48L2E+IGluIDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL3B1bGwvNDU4Ij5ydXN0bHMvd2VicGtpIzQ1ODwvYT48L2xpPgo8L3VsPgo8cD48c3Ryb25nPkZ1bGwgQ2hhbmdlbG9nPC9zdHJvbmc+OiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9jb21wYXJlL3YvMC4xMDMuOS4uLnYvMC4xMDMuMTAiPmh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL2NvbXBhcmUvdi8wLjEwMy45Li4udi8wLjEwMy4xMDwvYT48L3A+CjxoMj4wLjEwMy45PC9oMj4KPGgyPldoYXQncyBDaGFuZ2VkPC9oMj4KPHVsPgo8bGk+W2JhY2twb3J0XSBjaTogYXZvaWQgZGVueWluZyB3YXJuaW5ncyBvbiBuaWdodGx5IHRvb2xjaGFpbnMgYnkgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FsZXgiPjxjb2RlPkDigIthbGV4PC9jb2RlPjwvYT4gaW4gPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3J1c3Rscy93ZWJwa2kvcHVsbC80MzciPnJ1c3Rscy93ZWJwa2kjNDM3PC9hPjwvbGk+CjxsaT5CYWNrcG9ydCBsaWZldGltZSBjaGFuZ2UgYW5kIGJ1bXAgdmVyc2lvbiBmb3IgcmVsZWFzZSBieSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYWxleCI+PGNvZGU+QOKAi2FsZXg8L2NvZGU+PC9hPiBpbiA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9wdWxsLzQzNiI+cnVzdGxzL3dlYnBraSM0MzY8L2E+PC9saT4KPC91bD4KPGgyPjAuMTAzLjg8L2gyPgo8aDI+V2hhdCdzIENoYW5nZWQ8L2gyPgo8dWw+CjxsaT5iYWNrcG9ydCB2YWxpZF91cmlfbmFtZXMgKDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL2lzc3Vlcy80MDQiPiM0MDQ8L2E+KSB0byByZWwtMC4xMDMgYnkgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2FsZXgiPjxjb2RlPkDigIthbGV4PC9jb2RlPjwvYT4gaW4gPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3J1c3Rscy93ZWJwa2kvcHVsbC80MDgiPnJ1c3Rscy93ZWJwa2kjNDA4PC9hPjwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+RnVsbCBDaGFuZ2Vsb2c8L3N0cm9uZz46IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL2NvbXBhcmUvdi8wLjEwMy43Li4udi8wLjEwMy44Ij5odHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9jb21wYXJlL3YvMC4xMDMuNy4uLnYvMC4xMDMuODwvYT48L3A+CjxoMj4wLjEwMy43PC9oMj4KPHVsPgo8bGk+PHN0cm9uZz5OZXcgZmVhdHVyZTwvc3Ryb25nPjogQWRkIDxjb2RlPktleVB1cnBvc2VJZDo6dG9fZGVjb2RlZF9vaWQoKTwvY29kZT4gdG8gaGVscCBleHRlcm5hbCA8Y29kZT5FeHRlbmRlZEtleVVzYWdlVmFsaWRhdG9yPC9jb2RlPnMgZmlsbCA8Y29kZT5SZXF1aXJlZEVrdU5vdEZvdW5kQ29udGV4dDo6cHJlc2VudDwvY29kZT4uPC9saT4KPC91bD4KPGgyPldoYXQncyBDaGFuZ2VkPC9oMj4KPHVsPgo8bGk+V2FybiBvbiB1bm5hbWVhYmxlIHR5cGVzIGJ5IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kamMiPjxjb2RlPkDigItkamM8L2NvZGU+PC9hPiBpbiA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9wdWxsLzM4NyI+cnVzdGxzL3dlYnBraSMzODc8L2E+PC9saT4KPGxpPkV4cG9zZSBLZXlQdXJwb3NlSWQ6OnRvX2RlY29kZWRfb2lkKCkgYnkgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RqYyI+PGNvZGU+QOKAi2RqYzwvY29kZT48L2E+IGluIDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL3B1bGwvMzg1Ij5ydXN0bHMvd2VicGtpIzM4NTwvYT48L2xpPgo8bGk+Rml4IC0tY2ZnIGRvY3NycyB1c2VzIGJ5IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jdHoiPjxjb2RlPkDigItjdHo8L2NvZGU+PC9hPiBpbiA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9wdWxsLzM5MCI+cnVzdGxzL3dlYnBraSMzOTA8L2E+PC9saT4KPC91bD4KPHA+PHN0cm9uZz5GdWxsIENoYW5nZWxvZzwvc3Ryb25nPjogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3J1c3Rscy93ZWJwa2kvY29tcGFyZS92LzAuMTAzLjYuLi52LzAuMTAzLjciPmh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL2NvbXBhcmUvdi8wLjEwMy42Li4udi8wLjEwMy43PC9hPjwvcD4KPGgyPjAuMTAzLjY8L2gyPgo8cD5UaGUgZXh0ZW5zaWJsZSBFS1UgdmFsaWRhdGlvbiByZWxlYXNlZCBhcyBwYXJ0IG9mIDAuMTAzLjUgd2FzIGFjdHVhbGx5IG5vdCB1c2FibGUgZHVlIHRvIG1pc3NpbmcgdHlwZSBleHBvcnRzLCBhbmQgY29udGFpbmVkIGEgcmVncmVzc2lvbiB3aGVyZSBlbXB0eSBFeHRlbmRlZEtleVVzYWdlIGV4dGVuc2lvbnMgd291bGQgbm90IHRyaWdnZXIgYW4gZXJyb3IuIEJvdGggaXNzdWVzIGFyZSBmaXhlZCBpbiB0aGlzIHJlbGVhc2UuPC9wPgo8aDI+V2hhdCdzIENoYW5nZWQ8L2gyPgo8dWw+CjxsaT5FeHBvcnQgbW9yZSB0eXBlcyB0byBlbmFibGUgRXh0ZW5kZWRLZXlVc2FnZVZhbGlkYXRvciBpbXBsZW1lbnRhdGlvbnMgYnkgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RqYyI+PGNvZGU+QOKAi2RqYzwvY29kZT48L2E+IGluIDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL3B1bGwvMzgxIj5ydXN0bHMvd2VicGtpIzM4MTwvYT48L2xpPgo8bGk+RXJyb3Igb24gZW1wdHkgRUtVIGV4dGVuc2lvbnMgYnkgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RqYyI+PGNvZGU+QOKAi2RqYzwvY29kZT48L2E+IGluIDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL3B1bGwvMzgyIj5ydXN0bHMvd2VicGtpIzM4MjwvYT48L2xpPgo8L3VsPgo8IS0tIHJhdyBIVE1MIG9taXR0ZWQgLS0+CjwvYmxvY2txdW90ZT4KPHA+Li4uICh0cnVuY2F0ZWQpPC9wPgo8L2RldGFpbHM+CjxkZXRhaWxzPgo8c3VtbWFyeT5Db21taXRzPC9zdW1tYXJ5Pgo8dWw+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9jb21taXQvMzQ4Y2UwMWMwMWNmOGNlMjExOTkwOTBjOTg4NTM5OTJjOWMwNDdhOCI+PGNvZGU+MzQ4Y2UwMTwvY29kZT48L2E+IFByZXBhcmUgMC4xMDMuMTA8L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3J1c3Rscy93ZWJwa2kvY29tbWl0L2RiZGU1OTIxMTY0YzZlM2VhMDkyODY1NGRlOGNiN2Q1ZGU4YzJiMzMiPjxjb2RlPmRiZGU1OTI8L2NvZGU+PC9hPiBjcmw6IGZpeCBhdXRob3JpdGF0aXZlX2ZvcigpIHN1cHBvcnQgZm9yIG11bHRpcGxlIFVSSXM8L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3J1c3Rscy93ZWJwa2kvY29tbWl0LzljNDgzOGU2MTI5YTU0NGEwZjdmNWQyNmFjNzUxNzg2MGEyMjk5MmMiPjxjb2RlPjljNDgzOGU8L2NvZGU+PC9hPiBhdm9pZCBzdGQ6OnByZWx1ZGUgaW1wb3J0czwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9jb21taXQvMDA5ZWY2NjdlM2JiMDU0NDgwOGMzOWI2NGU5YjZkYjBkNjI2YjExNyI+PGNvZGU+MDA5ZWY2NjwvY29kZT48L2E+IGZpeCBydXN0IDEuOTQgYW1iaWd1b3VzIHBhbmljIG1hY3JvIHdhcm5pbmdzPC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL2NvbW1pdC9jNDEzNjBkMDk1ZjlmNDhlMTQ2NzlhMDc4YWZkMTBjMmQ2MTcxNmZlIj48Y29kZT5jNDEzNjBkPC9jb2RlPjwvYT4gYnVpbGQoZGVwcyk6IGJ1bXAgdGFpa2ktZS9jYWNoZS1jYXJnby1pbnN0YWxsLWFjdGlvbiBmcm9tIDIgdG8gMzwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9jb21taXQvZTQwMWQwMDgzZDljZjkxZDAyMDliYWUxZGI0NjUyNjdkNzI5MDIzMyI+PGNvZGU+ZTQwMWQwMDwvY29kZT48L2E+IGdlbmVyYXRlLnB5OiByZWZvcm1hdCBmb3IgYmxhY2sgMjAyNi4xLjA8L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3J1c3Rscy93ZWJwa2kvY29tbWl0LzA2Y2VkZWNiZjZhZjg4Y2FkNDBiMmFlMmNjNGE0NzRmMTQyOWRkYjYiPjxjb2RlPjA2Y2VkZWM8L2NvZGU+PC9hPiBUYWtlIHNlbXZlci1jb21wYXRpYmxlIGRlcHM8L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3J1c3Rscy93ZWJwa2kvY29tbWl0LzZiYzk5MzFkM2I2M2QyNmNmZjk0NTFlYzU5YWM3ZWZmZjczZWJiYzUiPjxjb2RlPjZiYzk5MzE8L2NvZGU+PC9hPiBCdW1wIHZlcnNpb24gdG8gMC4xMDMuOTwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9jb21taXQvOTJkYmZjNmVlOGJhNjk4OWQ5OTYwZWM0ZTEwZGNjZjUzODIwZjc3MSI+PGNvZGU+OTJkYmZjNjwvY29kZT48L2E+IFRpZSBsaWZldGltZSBvZiB2YWxpZF9kbnNfbmFtZXMvdmFsaWRfdXJpX25hbWVzIHRvIHN0cnVjdCBsaWZldGltZTwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcnVzdGxzL3dlYnBraS9jb21taXQvMmM0NjE2NmE1OTRjMDVhZmUxMTFmNzU2NjRjMWJiNDA4NGY2NGUzZSI+PGNvZGU+MmM0NjE2NjwvY29kZT48L2E+IGNpOiBzeW5jIGNhcmdvLWNoZWNrLWV4dGVybmFsLXR5cGVzIG5pZ2h0bHk8L2xpPgo8bGk+QWRkaXRpb25hbCBjb21taXRzIHZpZXdhYmxlIGluIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9ydXN0bHMvd2VicGtpL2NvbXBhcmUvdi8wLjEwMy40Li4udi8wLjEwMy4xMCI+Y29tcGFyZSB2aWV3PC9hPjwvbGk+CjwvdWw+CjwvZGV0YWlscz4KPGJyIC8+CgoKWyFbRGVwZW5kYWJvdCBjb21wYXRpYmlsaXR5IHNjb3JlXShodHRwczovL2RlcGVuZGFib3QtYmFkZ2VzLmdpdGh1YmFwcC5jb20vYmFkZ2VzL2NvbXBhdGliaWxpdHlfc2NvcmU/ZGVwZW5kZW5jeS1uYW1lPXJ1c3Rscy13ZWJwa2kmcGFja2FnZS1tYW5hZ2VyPWNhcmdvJnByZXZpb3VzLXZlcnNpb249MC4xMDMuNCZuZXctdmVyc2lvbj0wLjEwMy4xMCldKGh0dHBzOi8vZG9jcy5naXRodWIuY29tL2VuL2dpdGh1Yi9tYW5hZ2luZy1zZWN1cml0eS12dWxuZXJhYmlsaXRpZXMvYWJvdXQtZGVwZW5kYWJvdC1zZWN1cml0eS11cGRhdGVzI2Fib3V0LWNvbXBhdGliaWxpdHktc2NvcmVzKQoKRGVwZW5kYWJvdCB3aWxsIHJlc29sdmUgYW55IGNvbmZsaWN0cyB3aXRoIHRoaXMgUFIgYXMgbG9uZyBhcyB5b3UgZG9uJ3QgYWx0ZXIgaXQgeW91cnNlbGYuIFlvdSBjYW4gYWxzbyB0cmlnZ2VyIGEgcmViYXNlIG1hbnVhbGx5IGJ5IGNvbW1lbnRpbmcgYEBkZXBlbmRhYm90IHJlYmFzZWAuCgpbLy9dOiAjIChkZXBlbmRhYm90LWF1dG9tZXJnZS1zdGFydCkKWy8vXTogIyAoZGVwZW5kYWJvdC1hdXRvbWVyZ2UtZW5kKQoKLS0tCgo8ZGV0YWlscz4KPHN1bW1hcnk+RGVwZW5kYWJvdCBjb21tYW5kcyBhbmQgb3B0aW9uczwvc3VtbWFyeT4KPGJyIC8+CgpZb3UgY2FuIHRyaWdnZXIgRGVwZW5kYWJvdCBhY3Rpb25zIGJ5IGNvbW1lbnRpbmcgb24gdGhpcyBQUjoKLSBgQGRlcGVuZGFib3QgcmViYXNlYCB3aWxsIHJlYmFzZSB0aGlzIFBSCi0gYEBkZXBlbmRhYm90IHJlY3JlYXRlYCB3aWxsIHJlY3JlYXRlIHRoaXMgUFIsIG92ZXJ3cml0aW5nIGFueSBlZGl0cyB0aGF0IGhhdmUgYmVlbiBtYWRlIHRvIGl0Ci0gYEBkZXBlbmRhYm90IHNob3cgPGRlcGVuZGVuY3kgbmFtZT4gaWdub3JlIGNvbmRpdGlvbnNgIHdpbGwgc2hvdyBhbGwgb2YgdGhlIGlnbm9yZSBjb25kaXRpb25zIG9mIHRoZSBzcGVjaWZpZWQgZGVwZW5kZW5jeQotIGBAZGVwZW5kYWJvdCBpZ25vcmUgdGhpcyBtYWpvciB2ZXJzaW9uYCB3aWxsIGNsb3NlIHRoaXMgUFIgYW5kIHN0b3AgRGVwZW5kYWJvdCBjcmVhdGluZyBhbnkgbW9yZSBmb3IgdGhpcyBtYWpvciB2ZXJzaW9uICh1bmxlc3MgeW91IHJlb3BlbiB0aGUgUFIgb3IgdXBncmFkZSB0byBpdCB5b3Vyc2VsZikKLSBgQGRlcGVuZGFib3QgaWdub3JlIHRoaXMgbWlub3IgdmVyc2lvbmAgd2lsbCBjbG9zZSB0aGlzIFBSIGFuZCBzdG9wIERlcGVuZGFib3QgY3JlYXRpbmcgYW55IG1vcmUgZm9yIHRoaXMgbWlub3IgdmVyc2lvbiAodW5sZXNzIHlvdSByZW9wZW4gdGhlIFBSIG9yIHVwZ3JhZGUgdG8gaXQgeW91cnNlbGYpCi0gYEBkZXBlbmRhYm90IGlnbm9yZSB0aGlzIGRlcGVuZGVuY3lgIHdpbGwgY2xvc2UgdGhpcyBQUiBhbmQgc3RvcCBEZXBlbmRhYm90IGNyZWF0aW5nIGFueSBtb3JlIGZvciB0aGlzIGRlcGVuZGVuY3kgKHVubGVzcyB5b3UgcmVvcGVuIHRoZSBQUiBvciB1cGdyYWRlIHRvIGl0IHlvdXJzZWxmKQpZb3UgY2FuIGRpc2FibGUgYXV0b21hdGVkIHNlY3VyaXR5IGZpeCBQUnMgZm9yIHRoaXMgcmVwbyBmcm9tIHRoZSBbU2VjdXJpdHkgQWxlcnRzIHBhZ2VdKGh0dHBzOi8vZ2l0aHViLmNvbS92ZXh4aG9zdC9tYWdudW0tY2x1c3Rlci1hcGkvbmV0d29yay9hbGVydHMpLgoKPC9kZXRhaWxzPg==
      override_checkout: master
      patchset: 83008d8f96665c883d33c3864e6338d165b12c59
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 9052b5a7781b3346e4cffd452a54448cbff54d8b
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: c75fe6ef19c05b98349573c971950c51bbf24758
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_0/opendev.org/openstack/devstack:
            canonical_name: opendev.org/openstack/devstack
            checkout: master
            commit: 416d27e89e0c1891921fee2a692086eb8fcd0307
          untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs:
            canonical_name: opendev.org/openstack/openstack-zuul-jobs
            checkout: master
            commit: 66d74bbbd6770c9ee1f9179cf69c1687197f2a5a
          untrusted/project_2/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 9052b5a7781b3346e4cffd452a54448cbff54d8b
          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: 83008d8f96665c883d33c3864e6338d165b12c59
        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: 83008d8f96665c883d33c3864e6338d165b12c59
          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: fcdecce8b40ee46e7197dba25aa095900baa26a0
          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: 416d27e89e0c1891921fee2a692086eb8fcd0307
          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: 8c43caaefd8820e3e45b3c95b60bc6e1c668c55b
          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: 3526925ae34a66e626bec985628a421a7694168e
          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: 75ca7d532cd6894ac79a4633bfa19842547d372c
          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: cea701dbd13a4e84c2b6d4ad771de0f1425ca2ea
          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: 5ee55180808fb41f1ce867b1313f8b2c8153a2f2
          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: 1bc4e8c1717681957ab5d249783dc39f27bfc880
          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: 79cf1f787fa9c03adba8575dc94324b97963f84e
          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: 732466071706ef5c3e651ece1bbb16380ed4da0f
          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: 754ae37e67ba08c1695698ea7a8ebe52efa711d9
          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: eb1c6890cb263d7754d2223fb6f509a317a07303
          name: openstack/swift
          required: true
          short_name: swift
          src_dir: src/opendev.org/openstack/swift
      ref: refs/pull/904/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
