all:
  children:
    controllers:
      hosts:
        controller-1: null
        controller-2: null
        controller-3: null
    zuul_unreachable:
      hosts: {}
  hosts:
    controller-1:
      ansible_connection: ssh
      ansible_host: 199.204.45.44
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      cilium_helm_values:
        operator:
          replicas: 1
      cilium_ipv4_cidr: 172.24.0.0/16
      kube_vip_address: 172.17.0.100
      kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
      kubernetes_hostname: '{{ hostvars[''controller-1''].ansible_facts[''default_ipv4''].address
        }}'
      kubernetes_version: 1.34.0
      molecule_scenario: cluster-upgrade
      nodepool:
        az: nova
        cloud: public
        external_id: 679c86ac-1a53-4986-92a7-801255184547
        host_id: 41a201ef72a259be12e3756e510383f2b77edc2ac36483fdab96a683
        interface_ip: 199.204.45.44
        label: debian-trixie
        node_properties: {}
        private_ipv4: 199.204.45.44
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.44
        public_ipv6: 2604:e100:1:0:f816:3eff:fe92:d18f
        region: ca-ymq-1
        slot: null
      old_kubernetes_version: 1.33.4
      zuul_node:
        az: nova
        cloud: public
        external_id: 679c86ac-1a53-4986-92a7-801255184547
        host_id: 41a201ef72a259be12e3756e510383f2b77edc2ac36483fdab96a683
        interface_ip: 199.204.45.44
        label: debian-trixie
        node_properties: {}
        private_ipv4: 199.204.45.44
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.44
        public_ipv6: 2604:e100:1:0:f816:3eff:fe92:d18f
        region: ca-ymq-1
        slot: null
        uuid: null
    controller-2:
      ansible_connection: ssh
      ansible_host: 199.204.45.115
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      cilium_helm_values:
        operator:
          replicas: 1
      cilium_ipv4_cidr: 172.24.0.0/16
      kube_vip_address: 172.17.0.100
      kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
      kubernetes_hostname: '{{ hostvars[''controller-1''].ansible_facts[''default_ipv4''].address
        }}'
      kubernetes_version: 1.34.0
      molecule_scenario: cluster-upgrade
      nodepool:
        az: nova
        cloud: public
        external_id: e95afc16-3700-4d15-b5b2-a0dbf2484266
        host_id: b3056f425dc12eb7c2b177d04ce92ce8e9d8895ce2af8682a7cd0f26
        interface_ip: 199.204.45.115
        label: debian-trixie
        node_properties: {}
        private_ipv4: 199.204.45.115
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.115
        public_ipv6: 2604:e100:1:0:f816:3eff:fef8:83bb
        region: ca-ymq-1
        slot: null
      old_kubernetes_version: 1.33.4
      zuul_node:
        az: nova
        cloud: public
        external_id: e95afc16-3700-4d15-b5b2-a0dbf2484266
        host_id: b3056f425dc12eb7c2b177d04ce92ce8e9d8895ce2af8682a7cd0f26
        interface_ip: 199.204.45.115
        label: debian-trixie
        node_properties: {}
        private_ipv4: 199.204.45.115
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.115
        public_ipv6: 2604:e100:1:0:f816:3eff:fef8:83bb
        region: ca-ymq-1
        slot: null
        uuid: null
    controller-3:
      ansible_connection: ssh
      ansible_host: 199.204.45.209
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      cilium_helm_values:
        operator:
          replicas: 1
      cilium_ipv4_cidr: 172.24.0.0/16
      kube_vip_address: 172.17.0.100
      kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
      kubernetes_hostname: '{{ hostvars[''controller-1''].ansible_facts[''default_ipv4''].address
        }}'
      kubernetes_version: 1.34.0
      molecule_scenario: cluster-upgrade
      nodepool:
        az: nova
        cloud: public
        external_id: 53444633-9e6d-4b3b-97bf-13e6007ef559
        host_id: 41a201ef72a259be12e3756e510383f2b77edc2ac36483fdab96a683
        interface_ip: 199.204.45.209
        label: debian-trixie
        node_properties: {}
        private_ipv4: 199.204.45.209
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.209
        public_ipv6: 2604:e100:1:0:f816:3eff:fe95:1181
        region: ca-ymq-1
        slot: null
      old_kubernetes_version: 1.33.4
      zuul_node:
        az: nova
        cloud: public
        external_id: 53444633-9e6d-4b3b-97bf-13e6007ef559
        host_id: 41a201ef72a259be12e3756e510383f2b77edc2ac36483fdab96a683
        interface_ip: 199.204.45.209
        label: debian-trixie
        node_properties: {}
        private_ipv4: 199.204.45.209
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.209
        public_ipv6: 2604:e100:1:0:f816:3eff:fe95:1181
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    cilium_helm_values:
      operator:
        replicas: 1
    kubernetes_version: 1.34.0
    molecule_scenario: cluster-upgrade
    old_kubernetes_version: 1.33.4
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-config/zuul.d/jobs.yaml@main#1>'
      - '<Job molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-jobs/zuul.d/ansible-jobs.yaml@main#1>'
      - '<Job ansible-collection-kubernetes-molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/ansible-collection-kubernetes/.zuul.yaml@main#49>'
      - '<Job ansible-collection-kubernetes-molecule-cluster-upgrade explicit: None
        implied: {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/ansible-collection-kubernetes/.zuul.yaml@main#128>'
      - '<Job ansible-collection-kubernetes-molecule-cluster-upgrade explicit: None
        implied: None source: vexxhost/ansible-collection-kubernetes/.zuul.yaml@main#176>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: ed8d1a32852e47b2b8be127061eaec50
      build_refs:
      - branch: main
        change: '264'
        change_message: 'chore(deps-dev): bump pytest from 9.0.2 to 9.0.3


          Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.2 to 9.0.3.

          <details>

          <summary>Release notes</summary>

          <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest''s
          releases</a>.</em></p>

          <blockquote>

          <h2>9.0.3</h2>

          <h1>pytest 9.0.3 (2026-04-07)</h1>

          <h2>Bug fixes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12444">#12444</a>:
          Fixed <code>pytest.approx</code> which now correctly takes into account
          <code>~collections.abc.Mapping</code> keys order to compare them.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13634">#13634</a>:
          Blocking a <code>conftest.py</code> file using the <code>-p no:</code> option
          is now explicitly disallowed.</p>

          <p>Previously this resulted in an internal assertion failure during plugin
          loading.</p>

          <p>Pytest now raises a clear <code>UsageError</code> explaining that conftest
          files are not plugins and cannot be disabled via <code>-p</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13734">#13734</a>:
          Fixed crash when a test raises an exceptiongroup with <code>__tracebackhide__
          = True</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14195">#14195</a>:
          Fixed an issue where non-string messages passed to <!-- raw HTML omitted
          -->unittest.TestCase.subTest()<!-- raw HTML omitted --> were not printed.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>:
          Fixed use of insecure temporary directory (CVE-2025-71176).</p>

          </li>

          </ul>

          <h2>Improved documentation</h2>

          <ul>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13388">#13388</a>:
          Clarified documentation for <code>-p</code> vs <code>PYTEST_PLUGINS</code>
          plugin loading and fixed an incorrect <code>-p</code> example.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13731">#13731</a>:
          Clarified that capture fixtures (e.g. <code>capsys</code> and <code>capfd</code>)
          take precedence over the <code>-s</code> / <code>--capture=no</code> command-line
          options in <code>Accessing captured output from a test function &lt;accessing-captured-output&gt;</code>.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14088">#14088</a>:
          Clarified that the default <code>pytest_collection</code> hook sets <code>session.items</code>
          before it calls <code>pytest_collection_finish</code>, not after.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14255">#14255</a>:
          TOML integer log levels must be quoted: Updating reference documentation.</li>

          </ul>

          <h2>Contributor-facing changes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12689">#12689</a>:
          The test reports are now published to Codecov from GitHub Actions.

          The test statistics is visible <a href="https://app.codecov.io/gh/pytest-dev/pytest/tests">on
          the web interface</a>.</p>

          <p>-- by <code>aleguy02</code></p>

          </li>

          </ul>

          </blockquote>

          </details>

          <details>

          <summary>Commits</summary>

          <ul>

          <li><a href="https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e"><code>a7d58d7</code></a>
          Prepare release version 9.0.3</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22"><code>089d981</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14366">#14366</a>
          from bluetech/revert-14193-backport</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac"><code>8127eaf</code></a>
          Revert &quot;Fix: assertrepr_compare respects dict insertion order (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14050">#14050</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14193">#14193</a>)&quot;</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241"><code>99a7e60</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14363">#14363</a>
          from pytest-dev/patchback/backports/9.0.x/95d8423bd...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95"><code>ddee02a</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>
          from bluetech/cve-2025-71176-simple</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619"><code>74eac69</code></a>
          doc: Update training info (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14298">#14298</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14301">#14301</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869"><code>f92dee7</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14267">#14267</a>
          from pytest-dev/patchback/backports/9.0.x/d6fa26c62...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439"><code>7ee58ac</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12378">#12378</a>
          from Pierre-Sassoulas/fix-implicit-str-concat-and-d...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8"><code>37da870</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14259">#14259</a>
          from mitre88/patch-4 (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14268">#14268</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed"><code>c34bfa3</code></a>
          Add explanation for string context diffs (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14257">#14257</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14266">#14266</a>)</li>

          <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3">compare
          view</a></li>

          </ul>

          </details>

          <br />



          [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=uv&previous-version=9.0.2&new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)


          Dependabot 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`.


          [//]: # (dependabot-automerge-start)

          [//]: # (dependabot-automerge-end)


          ---


          <details>

          <summary>Dependabot commands and options</summary>

          <br />


          You can trigger Dependabot actions by commenting on this PR:

          - `@dependabot rebase` will rebase this PR

          - `@dependabot recreate` will recreate this PR, overwriting any edits that
          have been made to it

          - `@dependabot show <dependency name> ignore conditions` will show all of
          the ignore conditions of the specified dependency

          - `@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)

          - `@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)

          - `@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)

          You can disable automated security fix PRs for this repo from the [Security
          Alerts page](https://github.com/vexxhost/ansible-collection-kubernetes/network/alerts).


          </details>'
        change_url: https://github.com/vexxhost/ansible-collection-kubernetes/pull/264
        commit_id: 77139fbe4e255ec1f5b0ddec5257d28c0d5c08bc
        patchset: 77139fbe4e255ec1f5b0ddec5257d28c0d5c08bc
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-kubernetes
          name: vexxhost/ansible-collection-kubernetes
          short_name: ansible-collection-kubernetes
          src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
        src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
        topic: null
      buildset: 94a53d68c8904bff87c5f771e9cb9d18
      buildset_refs:
      - branch: main
        change: '264'
        change_message: 'chore(deps-dev): bump pytest from 9.0.2 to 9.0.3


          Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.2 to 9.0.3.

          <details>

          <summary>Release notes</summary>

          <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest''s
          releases</a>.</em></p>

          <blockquote>

          <h2>9.0.3</h2>

          <h1>pytest 9.0.3 (2026-04-07)</h1>

          <h2>Bug fixes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12444">#12444</a>:
          Fixed <code>pytest.approx</code> which now correctly takes into account
          <code>~collections.abc.Mapping</code> keys order to compare them.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13634">#13634</a>:
          Blocking a <code>conftest.py</code> file using the <code>-p no:</code> option
          is now explicitly disallowed.</p>

          <p>Previously this resulted in an internal assertion failure during plugin
          loading.</p>

          <p>Pytest now raises a clear <code>UsageError</code> explaining that conftest
          files are not plugins and cannot be disabled via <code>-p</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13734">#13734</a>:
          Fixed crash when a test raises an exceptiongroup with <code>__tracebackhide__
          = True</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14195">#14195</a>:
          Fixed an issue where non-string messages passed to <!-- raw HTML omitted
          -->unittest.TestCase.subTest()<!-- raw HTML omitted --> were not printed.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>:
          Fixed use of insecure temporary directory (CVE-2025-71176).</p>

          </li>

          </ul>

          <h2>Improved documentation</h2>

          <ul>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13388">#13388</a>:
          Clarified documentation for <code>-p</code> vs <code>PYTEST_PLUGINS</code>
          plugin loading and fixed an incorrect <code>-p</code> example.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13731">#13731</a>:
          Clarified that capture fixtures (e.g. <code>capsys</code> and <code>capfd</code>)
          take precedence over the <code>-s</code> / <code>--capture=no</code> command-line
          options in <code>Accessing captured output from a test function &lt;accessing-captured-output&gt;</code>.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14088">#14088</a>:
          Clarified that the default <code>pytest_collection</code> hook sets <code>session.items</code>
          before it calls <code>pytest_collection_finish</code>, not after.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14255">#14255</a>:
          TOML integer log levels must be quoted: Updating reference documentation.</li>

          </ul>

          <h2>Contributor-facing changes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12689">#12689</a>:
          The test reports are now published to Codecov from GitHub Actions.

          The test statistics is visible <a href="https://app.codecov.io/gh/pytest-dev/pytest/tests">on
          the web interface</a>.</p>

          <p>-- by <code>aleguy02</code></p>

          </li>

          </ul>

          </blockquote>

          </details>

          <details>

          <summary>Commits</summary>

          <ul>

          <li><a href="https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e"><code>a7d58d7</code></a>
          Prepare release version 9.0.3</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22"><code>089d981</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14366">#14366</a>
          from bluetech/revert-14193-backport</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac"><code>8127eaf</code></a>
          Revert &quot;Fix: assertrepr_compare respects dict insertion order (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14050">#14050</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14193">#14193</a>)&quot;</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241"><code>99a7e60</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14363">#14363</a>
          from pytest-dev/patchback/backports/9.0.x/95d8423bd...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95"><code>ddee02a</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>
          from bluetech/cve-2025-71176-simple</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619"><code>74eac69</code></a>
          doc: Update training info (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14298">#14298</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14301">#14301</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869"><code>f92dee7</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14267">#14267</a>
          from pytest-dev/patchback/backports/9.0.x/d6fa26c62...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439"><code>7ee58ac</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12378">#12378</a>
          from Pierre-Sassoulas/fix-implicit-str-concat-and-d...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8"><code>37da870</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14259">#14259</a>
          from mitre88/patch-4 (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14268">#14268</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed"><code>c34bfa3</code></a>
          Add explanation for string context diffs (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14257">#14257</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14266">#14266</a>)</li>

          <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3">compare
          view</a></li>

          </ul>

          </details>

          <br />



          [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=uv&previous-version=9.0.2&new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)


          Dependabot 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`.


          [//]: # (dependabot-automerge-start)

          [//]: # (dependabot-automerge-end)


          ---


          <details>

          <summary>Dependabot commands and options</summary>

          <br />


          You can trigger Dependabot actions by commenting on this PR:

          - `@dependabot rebase` will rebase this PR

          - `@dependabot recreate` will recreate this PR, overwriting any edits that
          have been made to it

          - `@dependabot show <dependency name> ignore conditions` will show all of
          the ignore conditions of the specified dependency

          - `@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)

          - `@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)

          - `@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)

          You can disable automated security fix PRs for this repo from the [Security
          Alerts page](https://github.com/vexxhost/ansible-collection-kubernetes/network/alerts).


          </details>'
        change_url: https://github.com/vexxhost/ansible-collection-kubernetes/pull/264
        commit_id: 77139fbe4e255ec1f5b0ddec5257d28c0d5c08bc
        patchset: 77139fbe4e255ec1f5b0ddec5257d28c0d5c08bc
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-kubernetes
          name: vexxhost/ansible-collection-kubernetes
          short_name: ansible-collection-kubernetes
          src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
        src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
        topic: null
      change: '264'
      change_message: 'chore(deps-dev): bump pytest from 9.0.2 to 9.0.3


        Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.2 to 9.0.3.

        <details>

        <summary>Release notes</summary>

        <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest''s
        releases</a>.</em></p>

        <blockquote>

        <h2>9.0.3</h2>

        <h1>pytest 9.0.3 (2026-04-07)</h1>

        <h2>Bug fixes</h2>

        <ul>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12444">#12444</a>:
        Fixed <code>pytest.approx</code> which now correctly takes into account <code>~collections.abc.Mapping</code>
        keys order to compare them.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13634">#13634</a>:
        Blocking a <code>conftest.py</code> file using the <code>-p no:</code> option
        is now explicitly disallowed.</p>

        <p>Previously this resulted in an internal assertion failure during plugin
        loading.</p>

        <p>Pytest now raises a clear <code>UsageError</code> explaining that conftest
        files are not plugins and cannot be disabled via <code>-p</code>.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13734">#13734</a>:
        Fixed crash when a test raises an exceptiongroup with <code>__tracebackhide__
        = True</code>.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14195">#14195</a>:
        Fixed an issue where non-string messages passed to <!-- raw HTML omitted -->unittest.TestCase.subTest()<!--
        raw HTML omitted --> were not printed.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>:
        Fixed use of insecure temporary directory (CVE-2025-71176).</p>

        </li>

        </ul>

        <h2>Improved documentation</h2>

        <ul>

        <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13388">#13388</a>:
        Clarified documentation for <code>-p</code> vs <code>PYTEST_PLUGINS</code>
        plugin loading and fixed an incorrect <code>-p</code> example.</li>

        <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13731">#13731</a>:
        Clarified that capture fixtures (e.g. <code>capsys</code> and <code>capfd</code>)
        take precedence over the <code>-s</code> / <code>--capture=no</code> command-line
        options in <code>Accessing captured output from a test function &lt;accessing-captured-output&gt;</code>.</li>

        <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14088">#14088</a>:
        Clarified that the default <code>pytest_collection</code> hook sets <code>session.items</code>
        before it calls <code>pytest_collection_finish</code>, not after.</li>

        <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14255">#14255</a>:
        TOML integer log levels must be quoted: Updating reference documentation.</li>

        </ul>

        <h2>Contributor-facing changes</h2>

        <ul>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12689">#12689</a>:
        The test reports are now published to Codecov from GitHub Actions.

        The test statistics is visible <a href="https://app.codecov.io/gh/pytest-dev/pytest/tests">on
        the web interface</a>.</p>

        <p>-- by <code>aleguy02</code></p>

        </li>

        </ul>

        </blockquote>

        </details>

        <details>

        <summary>Commits</summary>

        <ul>

        <li><a href="https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e"><code>a7d58d7</code></a>
        Prepare release version 9.0.3</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22"><code>089d981</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14366">#14366</a>
        from bluetech/revert-14193-backport</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac"><code>8127eaf</code></a>
        Revert &quot;Fix: assertrepr_compare respects dict insertion order (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14050">#14050</a>)
        (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14193">#14193</a>)&quot;</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241"><code>99a7e60</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14363">#14363</a>
        from pytest-dev/patchback/backports/9.0.x/95d8423bd...</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95"><code>ddee02a</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>
        from bluetech/cve-2025-71176-simple</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619"><code>74eac69</code></a>
        doc: Update training info (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14298">#14298</a>)
        (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14301">#14301</a>)</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869"><code>f92dee7</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14267">#14267</a>
        from pytest-dev/patchback/backports/9.0.x/d6fa26c62...</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439"><code>7ee58ac</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12378">#12378</a>
        from Pierre-Sassoulas/fix-implicit-str-concat-and-d...</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8"><code>37da870</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14259">#14259</a>
        from mitre88/patch-4 (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14268">#14268</a>)</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed"><code>c34bfa3</code></a>
        Add explanation for string context diffs (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14257">#14257</a>)
        (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14266">#14266</a>)</li>

        <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3">compare
        view</a></li>

        </ul>

        </details>

        <br />



        [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=uv&previous-version=9.0.2&new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)


        Dependabot 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`.


        [//]: # (dependabot-automerge-start)

        [//]: # (dependabot-automerge-end)


        ---


        <details>

        <summary>Dependabot commands and options</summary>

        <br />


        You can trigger Dependabot actions by commenting on this PR:

        - `@dependabot rebase` will rebase this PR

        - `@dependabot recreate` will recreate this PR, overwriting any edits that
        have been made to it

        - `@dependabot show <dependency name> ignore conditions` will show all of
        the ignore conditions of the specified dependency

        - `@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)

        - `@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)

        - `@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)

        You can disable automated security fix PRs for this repo from the [Security
        Alerts page](https://github.com/vexxhost/ansible-collection-kubernetes/network/alerts).


        </details>'
      change_url: https://github.com/vexxhost/ansible-collection-kubernetes/pull/264
      child_jobs: []
      commit_id: 77139fbe4e255ec1f5b0ddec5257d28c0d5c08bc
      event_id: 4b91b6b0-3b4c-11f1-854e-6828c01faebc
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/ed8d1a32852e47b2b8be127061eaec50/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/ed8d1a32852e47b2b8be127061eaec50/work/logs
        result_data_file: /var/lib/zuul/builds/ed8d1a32852e47b2b8be127061eaec50/work/results.json
        src_root: /var/lib/zuul/builds/ed8d1a32852e47b2b8be127061eaec50/work/src
        work_root: /var/lib/zuul/builds/ed8d1a32852e47b2b8be127061eaec50/work
      include_vars: []
      items:
      - branch: main
        change: '264'
        change_message: 'chore(deps-dev): bump pytest from 9.0.2 to 9.0.3


          Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.2 to 9.0.3.

          <details>

          <summary>Release notes</summary>

          <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest''s
          releases</a>.</em></p>

          <blockquote>

          <h2>9.0.3</h2>

          <h1>pytest 9.0.3 (2026-04-07)</h1>

          <h2>Bug fixes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12444">#12444</a>:
          Fixed <code>pytest.approx</code> which now correctly takes into account
          <code>~collections.abc.Mapping</code> keys order to compare them.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13634">#13634</a>:
          Blocking a <code>conftest.py</code> file using the <code>-p no:</code> option
          is now explicitly disallowed.</p>

          <p>Previously this resulted in an internal assertion failure during plugin
          loading.</p>

          <p>Pytest now raises a clear <code>UsageError</code> explaining that conftest
          files are not plugins and cannot be disabled via <code>-p</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13734">#13734</a>:
          Fixed crash when a test raises an exceptiongroup with <code>__tracebackhide__
          = True</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14195">#14195</a>:
          Fixed an issue where non-string messages passed to <!-- raw HTML omitted
          -->unittest.TestCase.subTest()<!-- raw HTML omitted --> were not printed.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>:
          Fixed use of insecure temporary directory (CVE-2025-71176).</p>

          </li>

          </ul>

          <h2>Improved documentation</h2>

          <ul>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13388">#13388</a>:
          Clarified documentation for <code>-p</code> vs <code>PYTEST_PLUGINS</code>
          plugin loading and fixed an incorrect <code>-p</code> example.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13731">#13731</a>:
          Clarified that capture fixtures (e.g. <code>capsys</code> and <code>capfd</code>)
          take precedence over the <code>-s</code> / <code>--capture=no</code> command-line
          options in <code>Accessing captured output from a test function &lt;accessing-captured-output&gt;</code>.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14088">#14088</a>:
          Clarified that the default <code>pytest_collection</code> hook sets <code>session.items</code>
          before it calls <code>pytest_collection_finish</code>, not after.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14255">#14255</a>:
          TOML integer log levels must be quoted: Updating reference documentation.</li>

          </ul>

          <h2>Contributor-facing changes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12689">#12689</a>:
          The test reports are now published to Codecov from GitHub Actions.

          The test statistics is visible <a href="https://app.codecov.io/gh/pytest-dev/pytest/tests">on
          the web interface</a>.</p>

          <p>-- by <code>aleguy02</code></p>

          </li>

          </ul>

          </blockquote>

          </details>

          <details>

          <summary>Commits</summary>

          <ul>

          <li><a href="https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e"><code>a7d58d7</code></a>
          Prepare release version 9.0.3</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22"><code>089d981</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14366">#14366</a>
          from bluetech/revert-14193-backport</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac"><code>8127eaf</code></a>
          Revert &quot;Fix: assertrepr_compare respects dict insertion order (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14050">#14050</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14193">#14193</a>)&quot;</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241"><code>99a7e60</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14363">#14363</a>
          from pytest-dev/patchback/backports/9.0.x/95d8423bd...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95"><code>ddee02a</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>
          from bluetech/cve-2025-71176-simple</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619"><code>74eac69</code></a>
          doc: Update training info (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14298">#14298</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14301">#14301</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869"><code>f92dee7</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14267">#14267</a>
          from pytest-dev/patchback/backports/9.0.x/d6fa26c62...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439"><code>7ee58ac</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12378">#12378</a>
          from Pierre-Sassoulas/fix-implicit-str-concat-and-d...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8"><code>37da870</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14259">#14259</a>
          from mitre88/patch-4 (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14268">#14268</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed"><code>c34bfa3</code></a>
          Add explanation for string context diffs (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14257">#14257</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14266">#14266</a>)</li>

          <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/9.0.2...9.0.3">compare
          view</a></li>

          </ul>

          </details>

          <br />



          [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=uv&previous-version=9.0.2&new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)


          Dependabot 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`.


          [//]: # (dependabot-automerge-start)

          [//]: # (dependabot-automerge-end)


          ---


          <details>

          <summary>Dependabot commands and options</summary>

          <br />


          You can trigger Dependabot actions by commenting on this PR:

          - `@dependabot rebase` will rebase this PR

          - `@dependabot recreate` will recreate this PR, overwriting any edits that
          have been made to it

          - `@dependabot show <dependency name> ignore conditions` will show all of
          the ignore conditions of the specified dependency

          - `@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)

          - `@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)

          - `@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)

          You can disable automated security fix PRs for this repo from the [Security
          Alerts page](https://github.com/vexxhost/ansible-collection-kubernetes/network/alerts).


          </details>'
        change_url: https://github.com/vexxhost/ansible-collection-kubernetes/pull/264
        commit_id: 77139fbe4e255ec1f5b0ddec5257d28c0d5c08bc
        patchset: 77139fbe4e255ec1f5b0ddec5257d28c0d5c08bc
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-kubernetes
          name: vexxhost/ansible-collection-kubernetes
          short_name: ansible-collection-kubernetes
          src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
        topic: null
      job: ansible-collection-kubernetes-molecule-cluster-upgrade
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcy1kZXYpOiBidW1wIHB5dGVzdCBmcm9tIDkuMC4yIHRvIDkuMC4zCgpCdW1wcyBbcHl0ZXN0XShodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QpIGZyb20gOS4wLjIgdG8gOS4wLjMuCjxkZXRhaWxzPgo8c3VtbWFyeT5SZWxlYXNlIG5vdGVzPC9zdW1tYXJ5Pgo8cD48ZW0+U291cmNlZCBmcm9tIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9yZWxlYXNlcyI+cHl0ZXN0J3MgcmVsZWFzZXM8L2E+LjwvZW0+PC9wPgo8YmxvY2txdW90ZT4KPGgyPjkuMC4zPC9oMj4KPGgxPnB5dGVzdCA5LjAuMyAoMjAyNi0wNC0wNyk8L2gxPgo8aDI+QnVnIGZpeGVzPC9oMj4KPHVsPgo8bGk+CjxwPjxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTI0NDQiPiMxMjQ0NDwvYT46IEZpeGVkIDxjb2RlPnB5dGVzdC5hcHByb3g8L2NvZGU+IHdoaWNoIG5vdyBjb3JyZWN0bHkgdGFrZXMgaW50byBhY2NvdW50IDxjb2RlPn5jb2xsZWN0aW9ucy5hYmMuTWFwcGluZzwvY29kZT4ga2V5cyBvcmRlciB0byBjb21wYXJlIHRoZW0uPC9wPgo8L2xpPgo8bGk+CjxwPjxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTM2MzQiPiMxMzYzNDwvYT46IEJsb2NraW5nIGEgPGNvZGU+Y29uZnRlc3QucHk8L2NvZGU+IGZpbGUgdXNpbmcgdGhlIDxjb2RlPi1wIG5vOjwvY29kZT4gb3B0aW9uIGlzIG5vdyBleHBsaWNpdGx5IGRpc2FsbG93ZWQuPC9wPgo8cD5QcmV2aW91c2x5IHRoaXMgcmVzdWx0ZWQgaW4gYW4gaW50ZXJuYWwgYXNzZXJ0aW9uIGZhaWx1cmUgZHVyaW5nIHBsdWdpbiBsb2FkaW5nLjwvcD4KPHA+UHl0ZXN0IG5vdyByYWlzZXMgYSBjbGVhciA8Y29kZT5Vc2FnZUVycm9yPC9jb2RlPiBleHBsYWluaW5nIHRoYXQgY29uZnRlc3QgZmlsZXMgYXJlIG5vdCBwbHVnaW5zIGFuZCBjYW5ub3QgYmUgZGlzYWJsZWQgdmlhIDxjb2RlPi1wPC9jb2RlPi48L3A+CjwvbGk+CjxsaT4KPHA+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xMzczNCI+IzEzNzM0PC9hPjogRml4ZWQgY3Jhc2ggd2hlbiBhIHRlc3QgcmFpc2VzIGFuIGV4Y2VwdGlvbmdyb3VwIHdpdGggPGNvZGU+X190cmFjZWJhY2toaWRlX18gPSBUcnVlPC9jb2RlPi48L3A+CjwvbGk+CjxsaT4KPHA+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDE5NSI+IzE0MTk1PC9hPjogRml4ZWQgYW4gaXNzdWUgd2hlcmUgbm9uLXN0cmluZyBtZXNzYWdlcyBwYXNzZWQgdG8gPCEtLSByYXcgSFRNTCBvbWl0dGVkIC0tPnVuaXR0ZXN0LlRlc3RDYXNlLnN1YlRlc3QoKTwhLS0gcmF3IEhUTUwgb21pdHRlZCAtLT4gd2VyZSBub3QgcHJpbnRlZC48L3A+CjwvbGk+CjxsaT4KPHA+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDM0MyI+IzE0MzQzPC9hPjogRml4ZWQgdXNlIG9mIGluc2VjdXJlIHRlbXBvcmFyeSBkaXJlY3RvcnkgKENWRS0yMDI1LTcxMTc2KS48L3A+CjwvbGk+CjwvdWw+CjxoMj5JbXByb3ZlZCBkb2N1bWVudGF0aW9uPC9oMj4KPHVsPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xMzM4OCI+IzEzMzg4PC9hPjogQ2xhcmlmaWVkIGRvY3VtZW50YXRpb24gZm9yIDxjb2RlPi1wPC9jb2RlPiB2cyA8Y29kZT5QWVRFU1RfUExVR0lOUzwvY29kZT4gcGx1Z2luIGxvYWRpbmcgYW5kIGZpeGVkIGFuIGluY29ycmVjdCA8Y29kZT4tcDwvY29kZT4gZXhhbXBsZS48L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xMzczMSI+IzEzNzMxPC9hPjogQ2xhcmlmaWVkIHRoYXQgY2FwdHVyZSBmaXh0dXJlcyAoZS5nLiA8Y29kZT5jYXBzeXM8L2NvZGU+IGFuZCA8Y29kZT5jYXBmZDwvY29kZT4pIHRha2UgcHJlY2VkZW5jZSBvdmVyIHRoZSA8Y29kZT4tczwvY29kZT4gLyA8Y29kZT4tLWNhcHR1cmU9bm88L2NvZGU+IGNvbW1hbmQtbGluZSBvcHRpb25zIGluIDxjb2RlPkFjY2Vzc2luZyBjYXB0dXJlZCBvdXRwdXQgZnJvbSBhIHRlc3QgZnVuY3Rpb24gJmx0O2FjY2Vzc2luZy1jYXB0dXJlZC1vdXRwdXQmZ3Q7PC9jb2RlPi48L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDA4OCI+IzE0MDg4PC9hPjogQ2xhcmlmaWVkIHRoYXQgdGhlIGRlZmF1bHQgPGNvZGU+cHl0ZXN0X2NvbGxlY3Rpb248L2NvZGU+IGhvb2sgc2V0cyA8Y29kZT5zZXNzaW9uLml0ZW1zPC9jb2RlPiBiZWZvcmUgaXQgY2FsbHMgPGNvZGU+cHl0ZXN0X2NvbGxlY3Rpb25fZmluaXNoPC9jb2RlPiwgbm90IGFmdGVyLjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzE0MjU1Ij4jMTQyNTU8L2E+OiBUT01MIGludGVnZXIgbG9nIGxldmVscyBtdXN0IGJlIHF1b3RlZDogVXBkYXRpbmcgcmVmZXJlbmNlIGRvY3VtZW50YXRpb24uPC9saT4KPC91bD4KPGgyPkNvbnRyaWJ1dG9yLWZhY2luZyBjaGFuZ2VzPC9oMj4KPHVsPgo8bGk+CjxwPjxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTI2ODkiPiMxMjY4OTwvYT46IFRoZSB0ZXN0IHJlcG9ydHMgYXJlIG5vdyBwdWJsaXNoZWQgdG8gQ29kZWNvdiBmcm9tIEdpdEh1YiBBY3Rpb25zLgpUaGUgdGVzdCBzdGF0aXN0aWNzIGlzIHZpc2libGUgPGEgaHJlZj0iaHR0cHM6Ly9hcHAuY29kZWNvdi5pby9naC9weXRlc3QtZGV2L3B5dGVzdC90ZXN0cyI+b24gdGhlIHdlYiBpbnRlcmZhY2U8L2E+LjwvcD4KPHA+LS0gYnkgPGNvZGU+YWxlZ3V5MDI8L2NvZGU+PC9wPgo8L2xpPgo8L3VsPgo8L2Jsb2NrcXVvdGU+CjwvZGV0YWlscz4KPGRldGFpbHM+CjxzdW1tYXJ5PkNvbW1pdHM8L3N1bW1hcnk+Cjx1bD4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvYTdkNThkN2EyMWI3ODU4MWU2MzZiYmJkZWExM2M2NmFkMTY1N2MxZSI+PGNvZGU+YTdkNThkNzwvY29kZT48L2E+IFByZXBhcmUgcmVsZWFzZSB2ZXJzaW9uIDkuMC4zPC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvMDg5ZDk4MTk5YzI1M2Q4Zjg5YTA0MDI0M2JjNGYyYWE2Y2Q1YWIyMiI+PGNvZGU+MDg5ZDk4MTwvY29kZT48L2E+IE1lcmdlIHB1bGwgcmVxdWVzdCA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzE0MzY2Ij4jMTQzNjY8L2E+IGZyb20gYmx1ZXRlY2gvcmV2ZXJ0LTE0MTkzLWJhY2twb3J0PC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvODEyN2VhZjRhYjdmNmIyZmRkMGRjMWIzODM0M2VjOTdhZWVmMDVhYyI+PGNvZGU+ODEyN2VhZjwvY29kZT48L2E+IFJldmVydCAmcXVvdDtGaXg6IGFzc2VydHJlcHJfY29tcGFyZSByZXNwZWN0cyBkaWN0IGluc2VydGlvbiBvcmRlciAoPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDA1MCI+IzE0MDUwPC9hPikgKDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTQxOTMiPiMxNDE5MzwvYT4pJnF1b3Q7PC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvOTlhN2U2MDI5ZTdhNmU4ZDUzZTVkZjExNGIxMzQ2ZTAzNTM3MDI0MSI+PGNvZGU+OTlhN2U2MDwvY29kZT48L2E+IE1lcmdlIHB1bGwgcmVxdWVzdCA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzE0MzYzIj4jMTQzNjM8L2E+IGZyb20gcHl0ZXN0LWRldi9wYXRjaGJhY2svYmFja3BvcnRzLzkuMC54Lzk1ZDg0MjNiZC4uLjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvY29tbWl0L2RkZWUwMmE1NzhkYTMwZGQ0M2FlZGMzOWMxYzFmMWFhYWRmY2VlOTUiPjxjb2RlPmRkZWUwMmE8L2NvZGU+PC9hPiBNZXJnZSBwdWxsIHJlcXVlc3QgPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDM0MyI+IzE0MzQzPC9hPiBmcm9tIGJsdWV0ZWNoL2N2ZS0yMDI1LTcxMTc2LXNpbXBsZTwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvY29tbWl0Lzc0ZWFjNjkxNmZlZTM0NzI2Y2IxOTRmMTZjNTE2ZTk2ZmJkMjk2MTkiPjxjb2RlPjc0ZWFjNjk8L2NvZGU+PC9hPiBkb2M6IFVwZGF0ZSB0cmFpbmluZyBpbmZvICg8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzE0Mjk4Ij4jMTQyOTg8L2E+KSAoPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDMwMSI+IzE0MzAxPC9hPik8L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2NvbW1pdC9mOTJkZWU3NzdjZmRiNzdkMWM0MzYzM2QwMjc2NmRkZjFmMDdjODY5Ij48Y29kZT5mOTJkZWU3PC9jb2RlPjwvYT4gTWVyZ2UgcHVsbCByZXF1ZXN0IDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTQyNjciPiMxNDI2NzwvYT4gZnJvbSBweXRlc3QtZGV2L3BhdGNoYmFjay9iYWNrcG9ydHMvOS4wLngvZDZmYTI2YzYyLi4uPC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvN2VlNThhY2M4Nzc3YzMxYWM2Y2YzODhkMDFhZGRmNWE0MTRhNzQzOSI+PGNvZGU+N2VlNThhYzwvY29kZT48L2E+IE1lcmdlIHB1bGwgcmVxdWVzdCA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzEyMzc4Ij4jMTIzNzg8L2E+IGZyb20gUGllcnJlLVNhc3NvdWxhcy9maXgtaW1wbGljaXQtc3RyLWNvbmNhdC1hbmQtZC4uLjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvY29tbWl0LzM3ZGE4NzBkMzdlM2EyZjUxNzdjYWUwNzVjN2I5YWUyNzk0MzJiZjgiPjxjb2RlPjM3ZGE4NzA8L2NvZGU+PC9hPiBNZXJnZSBwdWxsIHJlcXVlc3QgPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDI1OSI+IzE0MjU5PC9hPiBmcm9tIG1pdHJlODgvcGF0Y2gtNCAoPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDI2OCI+IzE0MjY4PC9hPik8L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2NvbW1pdC9jMzRiZmEzYjdhY2I2NWI1OTQ3MDdjNzE0ZjFkODQ2MWIwMzA0ZWVkIj48Y29kZT5jMzRiZmEzPC9jb2RlPjwvYT4gQWRkIGV4cGxhbmF0aW9uIGZvciBzdHJpbmcgY29udGV4dCBkaWZmcyAoPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDI1NyI+IzE0MjU3PC9hPikgKDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTQyNjYiPiMxNDI2NjwvYT4pPC9saT4KPGxpPkFkZGl0aW9uYWwgY29tbWl0cyB2aWV3YWJsZSBpbiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvY29tcGFyZS85LjAuMi4uLjkuMC4zIj5jb21wYXJlIHZpZXc8L2E+PC9saT4KPC91bD4KPC9kZXRhaWxzPgo8YnIgLz4KCgpbIVtEZXBlbmRhYm90IGNvbXBhdGliaWxpdHkgc2NvcmVdKGh0dHBzOi8vZGVwZW5kYWJvdC1iYWRnZXMuZ2l0aHViYXBwLmNvbS9iYWRnZXMvY29tcGF0aWJpbGl0eV9zY29yZT9kZXBlbmRlbmN5LW5hbWU9cHl0ZXN0JnBhY2thZ2UtbWFuYWdlcj11diZwcmV2aW91cy12ZXJzaW9uPTkuMC4yJm5ldy12ZXJzaW9uPTkuMC4zKV0oaHR0cHM6Ly9kb2NzLmdpdGh1Yi5jb20vZW4vZ2l0aHViL21hbmFnaW5nLXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy9hYm91dC1kZXBlbmRhYm90LXNlY3VyaXR5LXVwZGF0ZXMjYWJvdXQtY29tcGF0aWJpbGl0eS1zY29yZXMpCgpEZXBlbmRhYm90IHdpbGwgcmVzb2x2ZSBhbnkgY29uZmxpY3RzIHdpdGggdGhpcyBQUiBhcyBsb25nIGFzIHlvdSBkb24ndCBhbHRlciBpdCB5b3Vyc2VsZi4gWW91IGNhbiBhbHNvIHRyaWdnZXIgYSByZWJhc2UgbWFudWFsbHkgYnkgY29tbWVudGluZyBgQGRlcGVuZGFib3QgcmViYXNlYC4KClsvL106ICMgKGRlcGVuZGFib3QtYXV0b21lcmdlLXN0YXJ0KQpbLy9dOiAjIChkZXBlbmRhYm90LWF1dG9tZXJnZS1lbmQpCgotLS0KCjxkZXRhaWxzPgo8c3VtbWFyeT5EZXBlbmRhYm90IGNvbW1hbmRzIGFuZCBvcHRpb25zPC9zdW1tYXJ5Pgo8YnIgLz4KCllvdSBjYW4gdHJpZ2dlciBEZXBlbmRhYm90IGFjdGlvbnMgYnkgY29tbWVudGluZyBvbiB0aGlzIFBSOgotIGBAZGVwZW5kYWJvdCByZWJhc2VgIHdpbGwgcmViYXNlIHRoaXMgUFIKLSBgQGRlcGVuZGFib3QgcmVjcmVhdGVgIHdpbGwgcmVjcmVhdGUgdGhpcyBQUiwgb3ZlcndyaXRpbmcgYW55IGVkaXRzIHRoYXQgaGF2ZSBiZWVuIG1hZGUgdG8gaXQKLSBgQGRlcGVuZGFib3Qgc2hvdyA8ZGVwZW5kZW5jeSBuYW1lPiBpZ25vcmUgY29uZGl0aW9uc2Agd2lsbCBzaG93IGFsbCBvZiB0aGUgaWdub3JlIGNvbmRpdGlvbnMgb2YgdGhlIHNwZWNpZmllZCBkZXBlbmRlbmN5Ci0gYEBkZXBlbmRhYm90IGlnbm9yZSB0aGlzIG1ham9yIHZlcnNpb25gIHdpbGwgY2xvc2UgdGhpcyBQUiBhbmQgc3RvcCBEZXBlbmRhYm90IGNyZWF0aW5nIGFueSBtb3JlIGZvciB0aGlzIG1ham9yIHZlcnNpb24gKHVubGVzcyB5b3UgcmVvcGVuIHRoZSBQUiBvciB1cGdyYWRlIHRvIGl0IHlvdXJzZWxmKQotIGBAZGVwZW5kYWJvdCBpZ25vcmUgdGhpcyBtaW5vciB2ZXJzaW9uYCB3aWxsIGNsb3NlIHRoaXMgUFIgYW5kIHN0b3AgRGVwZW5kYWJvdCBjcmVhdGluZyBhbnkgbW9yZSBmb3IgdGhpcyBtaW5vciB2ZXJzaW9uICh1bmxlc3MgeW91IHJlb3BlbiB0aGUgUFIgb3IgdXBncmFkZSB0byBpdCB5b3Vyc2VsZikKLSBgQGRlcGVuZGFib3QgaWdub3JlIHRoaXMgZGVwZW5kZW5jeWAgd2lsbCBjbG9zZSB0aGlzIFBSIGFuZCBzdG9wIERlcGVuZGFib3QgY3JlYXRpbmcgYW55IG1vcmUgZm9yIHRoaXMgZGVwZW5kZW5jeSAodW5sZXNzIHlvdSByZW9wZW4gdGhlIFBSIG9yIHVwZ3JhZGUgdG8gaXQgeW91cnNlbGYpCllvdSBjYW4gZGlzYWJsZSBhdXRvbWF0ZWQgc2VjdXJpdHkgZml4IFBScyBmb3IgdGhpcyByZXBvIGZyb20gdGhlIFtTZWN1cml0eSBBbGVydHMgcGFnZV0oaHR0cHM6Ly9naXRodWIuY29tL3ZleHhob3N0L2Fuc2libGUtY29sbGVjdGlvbi1rdWJlcm5ldGVzL25ldHdvcmsvYWxlcnRzKS4KCjwvZGV0YWlscz4=
      patchset: 77139fbe4e255ec1f5b0ddec5257d28c0d5c08bc
      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: fc4af6d44718d2e648cf6396f3e96bb46a55117a
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_0/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_1/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: fc4af6d44718d2e648cf6396f3e96bb46a55117a
          untrusted/project_3/github.com/vexxhost/ansible-collection-kubernetes:
            canonical_name: github.com/vexxhost/ansible-collection-kubernetes
            checkout: main
            commit: 2d1008ba975b4784f309ee1c2777e5a71ffd6cd1
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 0494b8d8afbbc333a5651fce0c6e44e6aa8fbee1
        playbooks:
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
        post_playbooks:
        - path: untrusted/project_3/github.com/vexxhost/ansible-collection-kubernetes/test-playbooks/molecule/post.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/post_playbook_0/role_0/collection-kubernetes
            link_target: untrusted/project_3/github.com/vexxhost/ansible-collection-kubernetes
            role_path: ansible/post_playbook_0/role_0/collection-kubernetes/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_1/openstack-helm
            link_target: untrusted/project_4/opendev.org/openstack/openstack-helm
            role_path: ansible/post_playbook_0/role_1/openstack-helm/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_3/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_0/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_4/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_0/role_4/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_1/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_2/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_2/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_2/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_2/role_2/zuul-jobs/roles
        pre_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_0/role_2/zuul-jobs/roles
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_1/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_1/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles
        - path: untrusted/project_3/github.com/vexxhost/ansible-collection-kubernetes/test-playbooks/molecule/pre.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_2/role_0/collection-kubernetes
            link_target: untrusted/project_3/github.com/vexxhost/ansible-collection-kubernetes
            role_path: ansible/pre_playbook_2/role_0/collection-kubernetes/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_2/role_1/openstack-helm
            link_target: untrusted/project_4/opendev.org/openstack/openstack-helm
            role_path: ansible/pre_playbook_2/role_1/openstack-helm/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_2/role_3/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_2/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_2/role_4/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_2/role_4/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/vexxhost/ansible-collection-kubernetes
        name: vexxhost/ansible-collection-kubernetes
        short_name: ansible-collection-kubernetes
        src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
      projects:
        github.com/vexxhost/ansible-collection-kubernetes:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-kubernetes
          checkout: main
          checkout_description: zuul branch
          commit: 2d1008ba975b4784f309ee1c2777e5a71ffd6cd1
          name: vexxhost/ansible-collection-kubernetes
          required: false
          short_name: ansible-collection-kubernetes
          src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
      ref: refs/pull/264/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: false
