all:
  children:
    controllers:
      hosts:
        controller: null
    zuul_unreachable:
      hosts: {}
  hosts:
    controller:
      ansible_connection: ssh
      ansible_host: 199.204.45.214
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      ci: true
      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_coredns_node_selector:
        node-role.kubernetes.io/control-plane: ''
      kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
      kubernetes_version: 1.34.0
      molecule_install_collection_siblings: true
      molecule_scenario: download-binaries
      nodepool:
        az: yul2
        cloud: public
        external_id: 94b0eba5-15e6-4aec-994a-493c10b187ce
        host_id: c4600005a1f84ec9cc26b70f8fc016fbda1ce53427a51810c81ebddd
        interface_ip: 199.204.45.214
        label: debian-trixie
        node_properties: {}
        private_ipv4: 199.204.45.214
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.214
        public_ipv6: 2604:e100:1:0:f816:3eff:fe02:aea2
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: yul2
        cloud: public
        external_id: 94b0eba5-15e6-4aec-994a-493c10b187ce
        host_id: c4600005a1f84ec9cc26b70f8fc016fbda1ce53427a51810c81ebddd
        interface_ip: 199.204.45.214
        label: debian-trixie
        node_properties: {}
        private_ipv4: 199.204.45.214
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.214
        public_ipv6: 2604:e100:1:0:f816:3eff:fe02:aea2
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    ci: true
    cilium_helm_values:
      operator:
        replicas: 1
    kubernetes_coredns_node_selector:
      node-role.kubernetes.io/control-plane: ''
    kubernetes_version: 1.34.0
    molecule_install_collection_siblings: true
    molecule_scenario: download-binaries
    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-download-binaries explicit: None
        implied: {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/ansible-collection-kubernetes/.zuul.yaml@main#162>'
      - '<Job ansible-collection-kubernetes-molecule-download-binaries explicit: None
        implied: None source: vexxhost/ansible-collection-kubernetes/.zuul.yaml@main#214>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: e939018f4d5941aabfe5f08ff04c3fce
      build_refs:
      - branch: main
        change: '325'
        change_message: "refactor(kubernetes): upgrade kubelets with tasks, one node
          at a time\n\nStacked on #324: this PR targets that PR's branch, so the diff
          shows only this change. Replaces #310, which GitHub closed as merged by
          mistake when the stack was reordered.\n\nThe kubelet upgrade ran inside
          the `kubeadm_upgrade_node` action plugin with `throttle: 1`. That plugin
          was Python which ran `kubeadm upgrade node`, restarted the kubelet and polled
          the API. This had three problems:\n\n- the steps were invisible in the play
          output and did nothing useful in check mode;\n- every new step (seeding
          resize state, migrating hashes, switching binaries) meant more Python;\n-
          the next node started as soon as the previous one reported Ready. Restarting
          a control plane kubelet restarts its static pods, so the API could drop
          again right after that and fail the next node's `kubeadm upgrade node`.
          This showed up in a 1.30 kubelet upgrade on a 3 control plane / 2 worker
          lab.\n\nThis PR replaces the plugin with `kubelet-upgrade-node.yml`, included
          for one node at a time, control plane nodes first, the same pattern #324
          uses for the control plane. For each node whose kubelet is older than `kubernetes_version`,
          it:\n\n1. runs `kubeadm upgrade node` with the kubeadm patches from #323,
          retried in case the API blips;\n2. restarts the kubelet;\n3. waits for the
          kubelet's `/healthz`, for the local API server's `/readyz` on control plane
          nodes, and for the node to be Ready;\n4. on control plane nodes, runs the
          health checks from `health-check.yml` (#324) before moving on.\n\nThe action
          plugin is removed. A code search found nothing else in vexxhost that uses
          it.\n\nValidation: pre-commit (including ansible-lint) passes. The three-node
          `cluster-upgrade` Zuul job (1.33.4 \u2192 1.34.0) runs this path, and the
          AIO jobs cover the no-upgrade path on fresh clusters.\n\nSplit out of the
          in-place upgrade work.\n\n"
        change_url: https://github.com/vexxhost/ansible-collection-kubernetes/pull/325
        commit_id: 3862a94d26ccd0d38c556f4c90c9e87d95d51a41
        patchset: 3862a94d26ccd0d38c556f4c90c9e87d95d51a41
        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: ead5a863c26e4508bf79f4852c49c0cb
      buildset_refs:
      - branch: main
        change: '325'
        change_message: "refactor(kubernetes): upgrade kubelets with tasks, one node
          at a time\n\nStacked on #324: this PR targets that PR's branch, so the diff
          shows only this change. Replaces #310, which GitHub closed as merged by
          mistake when the stack was reordered.\n\nThe kubelet upgrade ran inside
          the `kubeadm_upgrade_node` action plugin with `throttle: 1`. That plugin
          was Python which ran `kubeadm upgrade node`, restarted the kubelet and polled
          the API. This had three problems:\n\n- the steps were invisible in the play
          output and did nothing useful in check mode;\n- every new step (seeding
          resize state, migrating hashes, switching binaries) meant more Python;\n-
          the next node started as soon as the previous one reported Ready. Restarting
          a control plane kubelet restarts its static pods, so the API could drop
          again right after that and fail the next node's `kubeadm upgrade node`.
          This showed up in a 1.30 kubelet upgrade on a 3 control plane / 2 worker
          lab.\n\nThis PR replaces the plugin with `kubelet-upgrade-node.yml`, included
          for one node at a time, control plane nodes first, the same pattern #324
          uses for the control plane. For each node whose kubelet is older than `kubernetes_version`,
          it:\n\n1. runs `kubeadm upgrade node` with the kubeadm patches from #323,
          retried in case the API blips;\n2. restarts the kubelet;\n3. waits for the
          kubelet's `/healthz`, for the local API server's `/readyz` on control plane
          nodes, and for the node to be Ready;\n4. on control plane nodes, runs the
          health checks from `health-check.yml` (#324) before moving on.\n\nThe action
          plugin is removed. A code search found nothing else in vexxhost that uses
          it.\n\nValidation: pre-commit (including ansible-lint) passes. The three-node
          `cluster-upgrade` Zuul job (1.33.4 \u2192 1.34.0) runs this path, and the
          AIO jobs cover the no-upgrade path on fresh clusters.\n\nSplit out of the
          in-place upgrade work.\n\n"
        change_url: https://github.com/vexxhost/ansible-collection-kubernetes/pull/325
        commit_id: 3862a94d26ccd0d38c556f4c90c9e87d95d51a41
        patchset: 3862a94d26ccd0d38c556f4c90c9e87d95d51a41
        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: '325'
      change_message: "refactor(kubernetes): upgrade kubelets with tasks, one node
        at a time\n\nStacked on #324: this PR targets that PR's branch, so the diff
        shows only this change. Replaces #310, which GitHub closed as merged by mistake
        when the stack was reordered.\n\nThe kubelet upgrade ran inside the `kubeadm_upgrade_node`
        action plugin with `throttle: 1`. That plugin was Python which ran `kubeadm
        upgrade node`, restarted the kubelet and polled the API. This had three problems:\n\n-
        the steps were invisible in the play output and did nothing useful in check
        mode;\n- every new step (seeding resize state, migrating hashes, switching
        binaries) meant more Python;\n- the next node started as soon as the previous
        one reported Ready. Restarting a control plane kubelet restarts its static
        pods, so the API could drop again right after that and fail the next node's
        `kubeadm upgrade node`. This showed up in a 1.30 kubelet upgrade on a 3 control
        plane / 2 worker lab.\n\nThis PR replaces the plugin with `kubelet-upgrade-node.yml`,
        included for one node at a time, control plane nodes first, the same pattern
        #324 uses for the control plane. For each node whose kubelet is older than
        `kubernetes_version`, it:\n\n1. runs `kubeadm upgrade node` with the kubeadm
        patches from #323, retried in case the API blips;\n2. restarts the kubelet;\n3.
        waits for the kubelet's `/healthz`, for the local API server's `/readyz` on
        control plane nodes, and for the node to be Ready;\n4. on control plane nodes,
        runs the health checks from `health-check.yml` (#324) before moving on.\n\nThe
        action plugin is removed. A code search found nothing else in vexxhost that
        uses it.\n\nValidation: pre-commit (including ansible-lint) passes. The three-node
        `cluster-upgrade` Zuul job (1.33.4 \u2192 1.34.0) runs this path, and the
        AIO jobs cover the no-upgrade path on fresh clusters.\n\nSplit out of the
        in-place upgrade work.\n\n"
      change_url: https://github.com/vexxhost/ansible-collection-kubernetes/pull/325
      child_jobs: []
      commit_id: 3862a94d26ccd0d38c556f4c90c9e87d95d51a41
      event_id: f02af9f0-d2e8-11f1-8215-45153c1d895f
      executor:
        hostname: 2d72f0692154
        inventory_file: /var/lib/zuul/builds/e939018f4d5941aabfe5f08ff04c3fce/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/e939018f4d5941aabfe5f08ff04c3fce/work/logs
        result_data_file: /var/lib/zuul/builds/e939018f4d5941aabfe5f08ff04c3fce/work/results.json
        src_root: /var/lib/zuul/builds/e939018f4d5941aabfe5f08ff04c3fce/work/src
        work_root: /var/lib/zuul/builds/e939018f4d5941aabfe5f08ff04c3fce/work
      include_vars: []
      items:
      - branch: main
        change: '325'
        change_message: "refactor(kubernetes): upgrade kubelets with tasks, one node
          at a time\n\nStacked on #324: this PR targets that PR's branch, so the diff
          shows only this change. Replaces #310, which GitHub closed as merged by
          mistake when the stack was reordered.\n\nThe kubelet upgrade ran inside
          the `kubeadm_upgrade_node` action plugin with `throttle: 1`. That plugin
          was Python which ran `kubeadm upgrade node`, restarted the kubelet and polled
          the API. This had three problems:\n\n- the steps were invisible in the play
          output and did nothing useful in check mode;\n- every new step (seeding
          resize state, migrating hashes, switching binaries) meant more Python;\n-
          the next node started as soon as the previous one reported Ready. Restarting
          a control plane kubelet restarts its static pods, so the API could drop
          again right after that and fail the next node's `kubeadm upgrade node`.
          This showed up in a 1.30 kubelet upgrade on a 3 control plane / 2 worker
          lab.\n\nThis PR replaces the plugin with `kubelet-upgrade-node.yml`, included
          for one node at a time, control plane nodes first, the same pattern #324
          uses for the control plane. For each node whose kubelet is older than `kubernetes_version`,
          it:\n\n1. runs `kubeadm upgrade node` with the kubeadm patches from #323,
          retried in case the API blips;\n2. restarts the kubelet;\n3. waits for the
          kubelet's `/healthz`, for the local API server's `/readyz` on control plane
          nodes, and for the node to be Ready;\n4. on control plane nodes, runs the
          health checks from `health-check.yml` (#324) before moving on.\n\nThe action
          plugin is removed. A code search found nothing else in vexxhost that uses
          it.\n\nValidation: pre-commit (including ansible-lint) passes. The three-node
          `cluster-upgrade` Zuul job (1.33.4 \u2192 1.34.0) runs this path, and the
          AIO jobs cover the no-upgrade path on fresh clusters.\n\nSplit out of the
          in-place upgrade work.\n\n"
        change_url: https://github.com/vexxhost/ansible-collection-kubernetes/pull/325
        commit_id: 3862a94d26ccd0d38c556f4c90c9e87d95d51a41
        patchset: 3862a94d26ccd0d38c556f4c90c9e87d95d51a41
        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-download-binaries
      jobtags: []
      max_attempts: 3
      message: cmVmYWN0b3Ioa3ViZXJuZXRlcyk6IHVwZ3JhZGUga3ViZWxldHMgd2l0aCB0YXNrcywgb25lIG5vZGUgYXQgYSB0aW1lCgpTdGFja2VkIG9uICMzMjQ6IHRoaXMgUFIgdGFyZ2V0cyB0aGF0IFBSJ3MgYnJhbmNoLCBzbyB0aGUgZGlmZiBzaG93cyBvbmx5IHRoaXMgY2hhbmdlLiBSZXBsYWNlcyAjMzEwLCB3aGljaCBHaXRIdWIgY2xvc2VkIGFzIG1lcmdlZCBieSBtaXN0YWtlIHdoZW4gdGhlIHN0YWNrIHdhcyByZW9yZGVyZWQuCgpUaGUga3ViZWxldCB1cGdyYWRlIHJhbiBpbnNpZGUgdGhlIGBrdWJlYWRtX3VwZ3JhZGVfbm9kZWAgYWN0aW9uIHBsdWdpbiB3aXRoIGB0aHJvdHRsZTogMWAuIFRoYXQgcGx1Z2luIHdhcyBQeXRob24gd2hpY2ggcmFuIGBrdWJlYWRtIHVwZ3JhZGUgbm9kZWAsIHJlc3RhcnRlZCB0aGUga3ViZWxldCBhbmQgcG9sbGVkIHRoZSBBUEkuIFRoaXMgaGFkIHRocmVlIHByb2JsZW1zOgoKLSB0aGUgc3RlcHMgd2VyZSBpbnZpc2libGUgaW4gdGhlIHBsYXkgb3V0cHV0IGFuZCBkaWQgbm90aGluZyB1c2VmdWwgaW4gY2hlY2sgbW9kZTsKLSBldmVyeSBuZXcgc3RlcCAoc2VlZGluZyByZXNpemUgc3RhdGUsIG1pZ3JhdGluZyBoYXNoZXMsIHN3aXRjaGluZyBiaW5hcmllcykgbWVhbnQgbW9yZSBQeXRob247Ci0gdGhlIG5leHQgbm9kZSBzdGFydGVkIGFzIHNvb24gYXMgdGhlIHByZXZpb3VzIG9uZSByZXBvcnRlZCBSZWFkeS4gUmVzdGFydGluZyBhIGNvbnRyb2wgcGxhbmUga3ViZWxldCByZXN0YXJ0cyBpdHMgc3RhdGljIHBvZHMsIHNvIHRoZSBBUEkgY291bGQgZHJvcCBhZ2FpbiByaWdodCBhZnRlciB0aGF0IGFuZCBmYWlsIHRoZSBuZXh0IG5vZGUncyBga3ViZWFkbSB1cGdyYWRlIG5vZGVgLiBUaGlzIHNob3dlZCB1cCBpbiBhIDEuMzAga3ViZWxldCB1cGdyYWRlIG9uIGEgMyBjb250cm9sIHBsYW5lIC8gMiB3b3JrZXIgbGFiLgoKVGhpcyBQUiByZXBsYWNlcyB0aGUgcGx1Z2luIHdpdGggYGt1YmVsZXQtdXBncmFkZS1ub2RlLnltbGAsIGluY2x1ZGVkIGZvciBvbmUgbm9kZSBhdCBhIHRpbWUsIGNvbnRyb2wgcGxhbmUgbm9kZXMgZmlyc3QsIHRoZSBzYW1lIHBhdHRlcm4gIzMyNCB1c2VzIGZvciB0aGUgY29udHJvbCBwbGFuZS4gRm9yIGVhY2ggbm9kZSB3aG9zZSBrdWJlbGV0IGlzIG9sZGVyIHRoYW4gYGt1YmVybmV0ZXNfdmVyc2lvbmAsIGl0OgoKMS4gcnVucyBga3ViZWFkbSB1cGdyYWRlIG5vZGVgIHdpdGggdGhlIGt1YmVhZG0gcGF0Y2hlcyBmcm9tICMzMjMsIHJldHJpZWQgaW4gY2FzZSB0aGUgQVBJIGJsaXBzOwoyLiByZXN0YXJ0cyB0aGUga3ViZWxldDsKMy4gd2FpdHMgZm9yIHRoZSBrdWJlbGV0J3MgYC9oZWFsdGh6YCwgZm9yIHRoZSBsb2NhbCBBUEkgc2VydmVyJ3MgYC9yZWFkeXpgIG9uIGNvbnRyb2wgcGxhbmUgbm9kZXMsIGFuZCBmb3IgdGhlIG5vZGUgdG8gYmUgUmVhZHk7CjQuIG9uIGNvbnRyb2wgcGxhbmUgbm9kZXMsIHJ1bnMgdGhlIGhlYWx0aCBjaGVja3MgZnJvbSBgaGVhbHRoLWNoZWNrLnltbGAgKCMzMjQpIGJlZm9yZSBtb3Zpbmcgb24uCgpUaGUgYWN0aW9uIHBsdWdpbiBpcyByZW1vdmVkLiBBIGNvZGUgc2VhcmNoIGZvdW5kIG5vdGhpbmcgZWxzZSBpbiB2ZXh4aG9zdCB0aGF0IHVzZXMgaXQuCgpWYWxpZGF0aW9uOiBwcmUtY29tbWl0IChpbmNsdWRpbmcgYW5zaWJsZS1saW50KSBwYXNzZXMuIFRoZSB0aHJlZS1ub2RlIGBjbHVzdGVyLXVwZ3JhZGVgIFp1dWwgam9iICgxLjMzLjQg4oaSIDEuMzQuMCkgcnVucyB0aGlzIHBhdGgsIGFuZCB0aGUgQUlPIGpvYnMgY292ZXIgdGhlIG5vLXVwZ3JhZGUgcGF0aCBvbiBmcmVzaCBjbHVzdGVycy4KClNwbGl0IG91dCBvZiB0aGUgaW4tcGxhY2UgdXBncmFkZSB3b3JrLgoK
      patchset: 3862a94d26ccd0d38c556f4c90c9e87d95d51a41
      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: be52461cd48abccbf95b13a58b2551ac673d8ad7
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: 4fd48825891421af0774bdd500fee36e111d80a6
          untrusted/project_0/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: 4fd48825891421af0774bdd500fee36e111d80a6
          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: be52461cd48abccbf95b13a58b2551ac673d8ad7
          untrusted/project_3/github.com/vexxhost/ansible-collection-kubernetes:
            canonical_name: github.com/vexxhost/ansible-collection-kubernetes
            checkout: main
            commit: 624c9de000d7019727f44936d150362edceceae2
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 7b2a55a05dd4cbe771a8fdc9bc32bfd1e2b1ccaf
        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/ansible-collections/ansible.posix:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/ansible.posix
          checkout: main
          checkout_description: zuul branch
          commit: 0f4453f85ee993687a4cab860e3b55438144f920
          name: ansible-collections/ansible.posix
          required: true
          short_name: ansible.posix
          src_dir: src/github.com/ansible-collections/ansible.posix
        github.com/ansible-collections/community.crypto:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/community.crypto
          checkout: main
          checkout_description: zuul branch
          commit: 1bdefe5f420bb2d38cf92ea109ca39e1d4372347
          name: ansible-collections/community.crypto
          required: true
          short_name: community.crypto
          src_dir: src/github.com/ansible-collections/community.crypto
        github.com/ansible-collections/community.general:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/community.general
          checkout: main
          checkout_description: zuul branch
          commit: 395a9f6ec720fec0e036abe9667c1130b23cf2dc
          name: ansible-collections/community.general
          required: true
          short_name: community.general
          src_dir: src/github.com/ansible-collections/community.general
        github.com/ansible-collections/community.library_inventory_filtering:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/community.library_inventory_filtering
          checkout: stable-1
          checkout_description: project default branch
          commit: 90cd245b3acbab4089041f36c5e83dd8081eae4e
          name: ansible-collections/community.library_inventory_filtering
          required: true
          short_name: community.library_inventory_filtering
          src_dir: src/github.com/ansible-collections/community.library_inventory_filtering
        github.com/ansible-collections/kubernetes.core:
          canonical_hostname: github.com
          canonical_name: github.com/ansible-collections/kubernetes.core
          checkout: main
          checkout_description: zuul branch
          commit: 782672d2fdb0004d593440a3ddd4b9db014d9e4b
          name: ansible-collections/kubernetes.core
          required: true
          short_name: kubernetes.core
          src_dir: src/github.com/ansible-collections/kubernetes.core
        github.com/vexxhost/ansible-collection-containers:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          checkout: main
          checkout_description: zuul branch
          commit: d22923ebd40c0fd5a345318c1db90d125fb5140f
          name: vexxhost/ansible-collection-containers
          required: true
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        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: 624c9de000d7019727f44936d150362edceceae2
          name: vexxhost/ansible-collection-kubernetes
          required: false
          short_name: ansible-collection-kubernetes
          src_dir: src/github.com/vexxhost/ansible-collection-kubernetes
      ref: refs/pull/325/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
