all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe24:efa9
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: e651ff1c-dd5c-42cc-bef6-7c5a39034cc2
        host_id: 7f2607eceb24f4583c6f9496c53c64b51afe50de5eacda4379b21c42
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe24:efa9
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.173
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.159
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe24:efa9
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job flake8 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#32>'
      - '<Job flake8 explicit: None implied: None source: osism/testbed/.zuul.yaml@main#325>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: a3d8fd5454b74308860b4115b953a92e
      build_refs:
      - branch: main
        change: '2944'
        change_message: "upgrade: run the manager play via run.sh\n\n`osism update
          manager` is about to stop existing, and the testbed calls it on the\nupgrade
          path.\n\n- osism/ansible-collection-services#2154\n\nThat PR removes the
          `osism-update-manager` wrapper and the `update manager` dispatch\nfrom the
          `osism` wrapper. python-osism has no `update` command of its own, so the\ndispatch
          was the only implementation \u2014 on a manager built from that branch,\n`osism
          update manager` exits 2 with `'update manager' is not an osism command`.\n\n`scripts/upgrade-manager.sh`
          and `scripts/upgrade-ceph.sh` call it under `set -e`,\nreached from `scripts/upgrade.sh`,
          which `testbed-upgrade`, `testbed-update-stable-*`\nand `testbed-upgrade-stable-next-*`
          run over SSH. Those jobs would fail there as soon\nas the manager is built
          from a collection carrying the removal \u2014 the `latest`-tracking\njobs
          first.\n\n**The change.** Use the path the upgrade guide documents for a
          manager without a local\nAnsible venv: run the manager play from the configuration
          repository, where `run.sh`\nselects the `osism/seed` container by itself.
          `run.sh` was missing here only because\nthis repo's hand-maintained `gilt.yml`
          never synced it \u2014 the canonical `gilt.yml` in\n`osism/generics` ships
          `environments/manager/run.sh` to every cookiecutter-generated\nconfiguration
          repository. So: one gilt entry, the two call sites, and a stale comment\nin
          `scripts/deploy/000-manager.sh`.\n\n**This works with the current collection**,
          so it can merge before #2154 and be proven\ngreen while the wrapper still
          exists. That ordering is the point.\n\nChecked before opening:\n\n- gilt
          1.2.3 (the version `sync-configuration-repository.sh` installs) copies `run.sh`\n
          \ with mode 755, so the direct invocation works\n- the config sync runs
          on the manager before the play in both scripts\n  (`upgrade-manager.sh`
          43 \u2192 75, `upgrade-ceph.sh` 26 \u2192 31)\n- `environments/.vault_pass`
          and `environments/manager/hosts` are present, and\n  `deploy/000-manager.sh`
          already places the operator key where the seed container\n  looks for it\n-
          `MANAGER_VERSION` is exported and forwarded into the container, matching
          what\n  `set-manager-version.sh` wrote into the configuration repository
          moments earlier\n\nWorth a reviewer's opinion:\n\n- `run.sh` uses `--pull
          always`, and this repo does not pull `registry.osism.tech/osism/seed`\n
          \ anywhere today. That adds an image pull per upgrade lane and brings a
          rolling tag into\n  otherwise version-pinned stable lanes. `SEED_CONTAINER_PULL=missing`
          or a pinned\n  `SEED_CONTAINER_TAG` would avoid it \u2014 I did not assume
          which you want.\n- `scripts/upgrade-ceph.sh` looks unwired (the symlink
          in `deploy-manager.sh` points at\n  `scripts/upgrade/100-ceph-with-ansible.sh`),
          so that hunk may be cosmetic.\n\nDraft because CI is the actual test: the
          per-release manager play from the seed\ncontainer is exercised in another
          project, not in this one's lanes.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2944
        commit_id: 1699bfc15788c0c13fc22e3f0c931343c4646b0f
        patchset: 1699bfc15788c0c13fc22e3f0c931343c4646b0f
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      buildset: ba2926d9d4df4f68a4b91e293ec26eb2
      buildset_refs:
      - branch: main
        change: '2944'
        change_message: "upgrade: run the manager play via run.sh\n\n`osism update
          manager` is about to stop existing, and the testbed calls it on the\nupgrade
          path.\n\n- osism/ansible-collection-services#2154\n\nThat PR removes the
          `osism-update-manager` wrapper and the `update manager` dispatch\nfrom the
          `osism` wrapper. python-osism has no `update` command of its own, so the\ndispatch
          was the only implementation \u2014 on a manager built from that branch,\n`osism
          update manager` exits 2 with `'update manager' is not an osism command`.\n\n`scripts/upgrade-manager.sh`
          and `scripts/upgrade-ceph.sh` call it under `set -e`,\nreached from `scripts/upgrade.sh`,
          which `testbed-upgrade`, `testbed-update-stable-*`\nand `testbed-upgrade-stable-next-*`
          run over SSH. Those jobs would fail there as soon\nas the manager is built
          from a collection carrying the removal \u2014 the `latest`-tracking\njobs
          first.\n\n**The change.** Use the path the upgrade guide documents for a
          manager without a local\nAnsible venv: run the manager play from the configuration
          repository, where `run.sh`\nselects the `osism/seed` container by itself.
          `run.sh` was missing here only because\nthis repo's hand-maintained `gilt.yml`
          never synced it \u2014 the canonical `gilt.yml` in\n`osism/generics` ships
          `environments/manager/run.sh` to every cookiecutter-generated\nconfiguration
          repository. So: one gilt entry, the two call sites, and a stale comment\nin
          `scripts/deploy/000-manager.sh`.\n\n**This works with the current collection**,
          so it can merge before #2154 and be proven\ngreen while the wrapper still
          exists. That ordering is the point.\n\nChecked before opening:\n\n- gilt
          1.2.3 (the version `sync-configuration-repository.sh` installs) copies `run.sh`\n
          \ with mode 755, so the direct invocation works\n- the config sync runs
          on the manager before the play in both scripts\n  (`upgrade-manager.sh`
          43 \u2192 75, `upgrade-ceph.sh` 26 \u2192 31)\n- `environments/.vault_pass`
          and `environments/manager/hosts` are present, and\n  `deploy/000-manager.sh`
          already places the operator key where the seed container\n  looks for it\n-
          `MANAGER_VERSION` is exported and forwarded into the container, matching
          what\n  `set-manager-version.sh` wrote into the configuration repository
          moments earlier\n\nWorth a reviewer's opinion:\n\n- `run.sh` uses `--pull
          always`, and this repo does not pull `registry.osism.tech/osism/seed`\n
          \ anywhere today. That adds an image pull per upgrade lane and brings a
          rolling tag into\n  otherwise version-pinned stable lanes. `SEED_CONTAINER_PULL=missing`
          or a pinned\n  `SEED_CONTAINER_TAG` would avoid it \u2014 I did not assume
          which you want.\n- `scripts/upgrade-ceph.sh` looks unwired (the symlink
          in `deploy-manager.sh` points at\n  `scripts/upgrade/100-ceph-with-ansible.sh`),
          so that hunk may be cosmetic.\n\nDraft because CI is the actual test: the
          per-release manager play from the seed\ncontainer is exercised in another
          project, not in this one's lanes.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2944
        commit_id: 1699bfc15788c0c13fc22e3f0c931343c4646b0f
        patchset: 1699bfc15788c0c13fc22e3f0c931343c4646b0f
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      change: '2944'
      change_message: "upgrade: run the manager play via run.sh\n\n`osism update manager`
        is about to stop existing, and the testbed calls it on the\nupgrade path.\n\n-
        osism/ansible-collection-services#2154\n\nThat PR removes the `osism-update-manager`
        wrapper and the `update manager` dispatch\nfrom the `osism` wrapper. python-osism
        has no `update` command of its own, so the\ndispatch was the only implementation
        \u2014 on a manager built from that branch,\n`osism update manager` exits
        2 with `'update manager' is not an osism command`.\n\n`scripts/upgrade-manager.sh`
        and `scripts/upgrade-ceph.sh` call it under `set -e`,\nreached from `scripts/upgrade.sh`,
        which `testbed-upgrade`, `testbed-update-stable-*`\nand `testbed-upgrade-stable-next-*`
        run over SSH. Those jobs would fail there as soon\nas the manager is built
        from a collection carrying the removal \u2014 the `latest`-tracking\njobs
        first.\n\n**The change.** Use the path the upgrade guide documents for a manager
        without a local\nAnsible venv: run the manager play from the configuration
        repository, where `run.sh`\nselects the `osism/seed` container by itself.
        `run.sh` was missing here only because\nthis repo's hand-maintained `gilt.yml`
        never synced it \u2014 the canonical `gilt.yml` in\n`osism/generics` ships
        `environments/manager/run.sh` to every cookiecutter-generated\nconfiguration
        repository. So: one gilt entry, the two call sites, and a stale comment\nin
        `scripts/deploy/000-manager.sh`.\n\n**This works with the current collection**,
        so it can merge before #2154 and be proven\ngreen while the wrapper still
        exists. That ordering is the point.\n\nChecked before opening:\n\n- gilt 1.2.3
        (the version `sync-configuration-repository.sh` installs) copies `run.sh`\n
        \ with mode 755, so the direct invocation works\n- the config sync runs on
        the manager before the play in both scripts\n  (`upgrade-manager.sh` 43 \u2192
        75, `upgrade-ceph.sh` 26 \u2192 31)\n- `environments/.vault_pass` and `environments/manager/hosts`
        are present, and\n  `deploy/000-manager.sh` already places the operator key
        where the seed container\n  looks for it\n- `MANAGER_VERSION` is exported
        and forwarded into the container, matching what\n  `set-manager-version.sh`
        wrote into the configuration repository moments earlier\n\nWorth a reviewer's
        opinion:\n\n- `run.sh` uses `--pull always`, and this repo does not pull `registry.osism.tech/osism/seed`\n
        \ anywhere today. That adds an image pull per upgrade lane and brings a rolling
        tag into\n  otherwise version-pinned stable lanes. `SEED_CONTAINER_PULL=missing`
        or a pinned\n  `SEED_CONTAINER_TAG` would avoid it \u2014 I did not assume
        which you want.\n- `scripts/upgrade-ceph.sh` looks unwired (the symlink in
        `deploy-manager.sh` points at\n  `scripts/upgrade/100-ceph-with-ansible.sh`),
        so that hunk may be cosmetic.\n\nDraft because CI is the actual test: the
        per-release manager play from the seed\ncontainer is exercised in another
        project, not in this one's lanes.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/testbed/pull/2944
      child_jobs: []
      commit_id: 1699bfc15788c0c13fc22e3f0c931343c4646b0f
      event_id: 44fdff10-916f-11f1-88ca-9be27acb6a4d
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/a3d8fd5454b74308860b4115b953a92e/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/a3d8fd5454b74308860b4115b953a92e/work/logs
        result_data_file: /var/lib/zuul/builds/a3d8fd5454b74308860b4115b953a92e/work/results.json
        src_root: /var/lib/zuul/builds/a3d8fd5454b74308860b4115b953a92e/work/src
        work_root: /var/lib/zuul/builds/a3d8fd5454b74308860b4115b953a92e/work
      include_vars: []
      items:
      - branch: main
        change: '2944'
        change_message: "upgrade: run the manager play via run.sh\n\n`osism update
          manager` is about to stop existing, and the testbed calls it on the\nupgrade
          path.\n\n- osism/ansible-collection-services#2154\n\nThat PR removes the
          `osism-update-manager` wrapper and the `update manager` dispatch\nfrom the
          `osism` wrapper. python-osism has no `update` command of its own, so the\ndispatch
          was the only implementation \u2014 on a manager built from that branch,\n`osism
          update manager` exits 2 with `'update manager' is not an osism command`.\n\n`scripts/upgrade-manager.sh`
          and `scripts/upgrade-ceph.sh` call it under `set -e`,\nreached from `scripts/upgrade.sh`,
          which `testbed-upgrade`, `testbed-update-stable-*`\nand `testbed-upgrade-stable-next-*`
          run over SSH. Those jobs would fail there as soon\nas the manager is built
          from a collection carrying the removal \u2014 the `latest`-tracking\njobs
          first.\n\n**The change.** Use the path the upgrade guide documents for a
          manager without a local\nAnsible venv: run the manager play from the configuration
          repository, where `run.sh`\nselects the `osism/seed` container by itself.
          `run.sh` was missing here only because\nthis repo's hand-maintained `gilt.yml`
          never synced it \u2014 the canonical `gilt.yml` in\n`osism/generics` ships
          `environments/manager/run.sh` to every cookiecutter-generated\nconfiguration
          repository. So: one gilt entry, the two call sites, and a stale comment\nin
          `scripts/deploy/000-manager.sh`.\n\n**This works with the current collection**,
          so it can merge before #2154 and be proven\ngreen while the wrapper still
          exists. That ordering is the point.\n\nChecked before opening:\n\n- gilt
          1.2.3 (the version `sync-configuration-repository.sh` installs) copies `run.sh`\n
          \ with mode 755, so the direct invocation works\n- the config sync runs
          on the manager before the play in both scripts\n  (`upgrade-manager.sh`
          43 \u2192 75, `upgrade-ceph.sh` 26 \u2192 31)\n- `environments/.vault_pass`
          and `environments/manager/hosts` are present, and\n  `deploy/000-manager.sh`
          already places the operator key where the seed container\n  looks for it\n-
          `MANAGER_VERSION` is exported and forwarded into the container, matching
          what\n  `set-manager-version.sh` wrote into the configuration repository
          moments earlier\n\nWorth a reviewer's opinion:\n\n- `run.sh` uses `--pull
          always`, and this repo does not pull `registry.osism.tech/osism/seed`\n
          \ anywhere today. That adds an image pull per upgrade lane and brings a
          rolling tag into\n  otherwise version-pinned stable lanes. `SEED_CONTAINER_PULL=missing`
          or a pinned\n  `SEED_CONTAINER_TAG` would avoid it \u2014 I did not assume
          which you want.\n- `scripts/upgrade-ceph.sh` looks unwired (the symlink
          in `deploy-manager.sh` points at\n  `scripts/upgrade/100-ceph-with-ansible.sh`),
          so that hunk may be cosmetic.\n\nDraft because CI is the actual test: the
          per-release manager play from the seed\ncontainer is exercised in another
          project, not in this one's lanes.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2944
        commit_id: 1699bfc15788c0c13fc22e3f0c931343c4646b0f
        patchset: 1699bfc15788c0c13fc22e3f0c931343c4646b0f
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
          src_dir: src/github.com/osism/testbed
        topic: null
      job: flake8
      jobtags: []
      max_attempts: 3
      message: dXBncmFkZTogcnVuIHRoZSBtYW5hZ2VyIHBsYXkgdmlhIHJ1bi5zaAoKYG9zaXNtIHVwZGF0ZSBtYW5hZ2VyYCBpcyBhYm91dCB0byBzdG9wIGV4aXN0aW5nLCBhbmQgdGhlIHRlc3RiZWQgY2FsbHMgaXQgb24gdGhlCnVwZ3JhZGUgcGF0aC4KCi0gb3Npc20vYW5zaWJsZS1jb2xsZWN0aW9uLXNlcnZpY2VzIzIxNTQKClRoYXQgUFIgcmVtb3ZlcyB0aGUgYG9zaXNtLXVwZGF0ZS1tYW5hZ2VyYCB3cmFwcGVyIGFuZCB0aGUgYHVwZGF0ZSBtYW5hZ2VyYCBkaXNwYXRjaApmcm9tIHRoZSBgb3Npc21gIHdyYXBwZXIuIHB5dGhvbi1vc2lzbSBoYXMgbm8gYHVwZGF0ZWAgY29tbWFuZCBvZiBpdHMgb3duLCBzbyB0aGUKZGlzcGF0Y2ggd2FzIHRoZSBvbmx5IGltcGxlbWVudGF0aW9uIOKAlCBvbiBhIG1hbmFnZXIgYnVpbHQgZnJvbSB0aGF0IGJyYW5jaCwKYG9zaXNtIHVwZGF0ZSBtYW5hZ2VyYCBleGl0cyAyIHdpdGggYCd1cGRhdGUgbWFuYWdlcicgaXMgbm90IGFuIG9zaXNtIGNvbW1hbmRgLgoKYHNjcmlwdHMvdXBncmFkZS1tYW5hZ2VyLnNoYCBhbmQgYHNjcmlwdHMvdXBncmFkZS1jZXBoLnNoYCBjYWxsIGl0IHVuZGVyIGBzZXQgLWVgLApyZWFjaGVkIGZyb20gYHNjcmlwdHMvdXBncmFkZS5zaGAsIHdoaWNoIGB0ZXN0YmVkLXVwZ3JhZGVgLCBgdGVzdGJlZC11cGRhdGUtc3RhYmxlLSpgCmFuZCBgdGVzdGJlZC11cGdyYWRlLXN0YWJsZS1uZXh0LSpgIHJ1biBvdmVyIFNTSC4gVGhvc2Ugam9icyB3b3VsZCBmYWlsIHRoZXJlIGFzIHNvb24KYXMgdGhlIG1hbmFnZXIgaXMgYnVpbHQgZnJvbSBhIGNvbGxlY3Rpb24gY2FycnlpbmcgdGhlIHJlbW92YWwg4oCUIHRoZSBgbGF0ZXN0YC10cmFja2luZwpqb2JzIGZpcnN0LgoKKipUaGUgY2hhbmdlLioqIFVzZSB0aGUgcGF0aCB0aGUgdXBncmFkZSBndWlkZSBkb2N1bWVudHMgZm9yIGEgbWFuYWdlciB3aXRob3V0IGEgbG9jYWwKQW5zaWJsZSB2ZW52OiBydW4gdGhlIG1hbmFnZXIgcGxheSBmcm9tIHRoZSBjb25maWd1cmF0aW9uIHJlcG9zaXRvcnksIHdoZXJlIGBydW4uc2hgCnNlbGVjdHMgdGhlIGBvc2lzbS9zZWVkYCBjb250YWluZXIgYnkgaXRzZWxmLiBgcnVuLnNoYCB3YXMgbWlzc2luZyBoZXJlIG9ubHkgYmVjYXVzZQp0aGlzIHJlcG8ncyBoYW5kLW1haW50YWluZWQgYGdpbHQueW1sYCBuZXZlciBzeW5jZWQgaXQg4oCUIHRoZSBjYW5vbmljYWwgYGdpbHQueW1sYCBpbgpgb3Npc20vZ2VuZXJpY3NgIHNoaXBzIGBlbnZpcm9ubWVudHMvbWFuYWdlci9ydW4uc2hgIHRvIGV2ZXJ5IGNvb2tpZWN1dHRlci1nZW5lcmF0ZWQKY29uZmlndXJhdGlvbiByZXBvc2l0b3J5LiBTbzogb25lIGdpbHQgZW50cnksIHRoZSB0d28gY2FsbCBzaXRlcywgYW5kIGEgc3RhbGUgY29tbWVudAppbiBgc2NyaXB0cy9kZXBsb3kvMDAwLW1hbmFnZXIuc2hgLgoKKipUaGlzIHdvcmtzIHdpdGggdGhlIGN1cnJlbnQgY29sbGVjdGlvbioqLCBzbyBpdCBjYW4gbWVyZ2UgYmVmb3JlICMyMTU0IGFuZCBiZSBwcm92ZW4KZ3JlZW4gd2hpbGUgdGhlIHdyYXBwZXIgc3RpbGwgZXhpc3RzLiBUaGF0IG9yZGVyaW5nIGlzIHRoZSBwb2ludC4KCkNoZWNrZWQgYmVmb3JlIG9wZW5pbmc6CgotIGdpbHQgMS4yLjMgKHRoZSB2ZXJzaW9uIGBzeW5jLWNvbmZpZ3VyYXRpb24tcmVwb3NpdG9yeS5zaGAgaW5zdGFsbHMpIGNvcGllcyBgcnVuLnNoYAogIHdpdGggbW9kZSA3NTUsIHNvIHRoZSBkaXJlY3QgaW52b2NhdGlvbiB3b3JrcwotIHRoZSBjb25maWcgc3luYyBydW5zIG9uIHRoZSBtYW5hZ2VyIGJlZm9yZSB0aGUgcGxheSBpbiBib3RoIHNjcmlwdHMKICAoYHVwZ3JhZGUtbWFuYWdlci5zaGAgNDMg4oaSIDc1LCBgdXBncmFkZS1jZXBoLnNoYCAyNiDihpIgMzEpCi0gYGVudmlyb25tZW50cy8udmF1bHRfcGFzc2AgYW5kIGBlbnZpcm9ubWVudHMvbWFuYWdlci9ob3N0c2AgYXJlIHByZXNlbnQsIGFuZAogIGBkZXBsb3kvMDAwLW1hbmFnZXIuc2hgIGFscmVhZHkgcGxhY2VzIHRoZSBvcGVyYXRvciBrZXkgd2hlcmUgdGhlIHNlZWQgY29udGFpbmVyCiAgbG9va3MgZm9yIGl0Ci0gYE1BTkFHRVJfVkVSU0lPTmAgaXMgZXhwb3J0ZWQgYW5kIGZvcndhcmRlZCBpbnRvIHRoZSBjb250YWluZXIsIG1hdGNoaW5nIHdoYXQKICBgc2V0LW1hbmFnZXItdmVyc2lvbi5zaGAgd3JvdGUgaW50byB0aGUgY29uZmlndXJhdGlvbiByZXBvc2l0b3J5IG1vbWVudHMgZWFybGllcgoKV29ydGggYSByZXZpZXdlcidzIG9waW5pb246CgotIGBydW4uc2hgIHVzZXMgYC0tcHVsbCBhbHdheXNgLCBhbmQgdGhpcyByZXBvIGRvZXMgbm90IHB1bGwgYHJlZ2lzdHJ5Lm9zaXNtLnRlY2gvb3Npc20vc2VlZGAKICBhbnl3aGVyZSB0b2RheS4gVGhhdCBhZGRzIGFuIGltYWdlIHB1bGwgcGVyIHVwZ3JhZGUgbGFuZSBhbmQgYnJpbmdzIGEgcm9sbGluZyB0YWcgaW50bwogIG90aGVyd2lzZSB2ZXJzaW9uLXBpbm5lZCBzdGFibGUgbGFuZXMuIGBTRUVEX0NPTlRBSU5FUl9QVUxMPW1pc3NpbmdgIG9yIGEgcGlubmVkCiAgYFNFRURfQ09OVEFJTkVSX1RBR2Agd291bGQgYXZvaWQgaXQg4oCUIEkgZGlkIG5vdCBhc3N1bWUgd2hpY2ggeW91IHdhbnQuCi0gYHNjcmlwdHMvdXBncmFkZS1jZXBoLnNoYCBsb29rcyB1bndpcmVkICh0aGUgc3ltbGluayBpbiBgZGVwbG95LW1hbmFnZXIuc2hgIHBvaW50cyBhdAogIGBzY3JpcHRzL3VwZ3JhZGUvMTAwLWNlcGgtd2l0aC1hbnNpYmxlLnNoYCksIHNvIHRoYXQgaHVuayBtYXkgYmUgY29zbWV0aWMuCgpEcmFmdCBiZWNhdXNlIENJIGlzIHRoZSBhY3R1YWwgdGVzdDogdGhlIHBlci1yZWxlYXNlIG1hbmFnZXIgcGxheSBmcm9tIHRoZSBzZWVkCmNvbnRhaW5lciBpcyBleGVyY2lzZWQgaW4gYW5vdGhlciBwcm9qZWN0LCBub3QgaW4gdGhpcyBvbmUncyBsYW5lcy4KCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUp
      patchset: 1699bfc15788c0c13fc22e3f0c931343c4646b0f
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: dcb06ea8a3ad422cc9d98b376216617b2daa6a02
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: dcb06ea8a3ad422cc9d98b376216617b2daa6a02
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/flake8/run.yaml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_0/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-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/osism/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: 1800
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/testbed
        name: osism/testbed
        short_name: testbed
        src_dir: src/github.com/osism/testbed
      projects:
        github.com/osism/testbed:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          checkout: main
          checkout_description: zuul branch
          commit: 3e573cd756f020c9a6c6cb95756258840f7dc49d
          name: osism/testbed
          required: false
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2944/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
