all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fef7:e872
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: ba63c2df-75b3-4106-ba9f-d7a2582a3a47
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fef7:e872
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.207
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.251
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fef7:e872
        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 python-black explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#54>'
      - '<Job python-black explicit: None implied: None source: osism/testbed/.zuul.yaml@main#324>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: a62d9c762afc477bb3f34a4a4bbd6ce2
      build_refs:
      - branch: main
        change: '2896'
        change_message: "Kill GitHub-pull-of-self (SP-1)\n\n## Summary\n\n- Replace
          the `manager-part-1` synchronize task (which pulled from a GitHub clone
          of `osism/testbed` on the orchestrator) with an ephemeral git worktree sync:
          the deploy now pushes the committed state of whatever testbed checkout the
          playbook was invoked from.\n- Remove the `testbed:` entry from `repositories.yml`
          so `setup-testbed.py --prepare` no longer clones `osism/testbed` into `.src/`.\n-
          Derive `basepath` from `playbook_dir | dirname` (not `ansible_user_dir/src/...`)
          in all seven playbooks; add a fast-fail sanity check imported by each.\n-
          Fix `repo_path` in `deploy.yml` to derive from `basepath` rather than `ansible_user_dir`,
          so collection installs find `.src/` regardless of checkout location.\n-
          Remove the Makefile's `-e basepath` and `-e repo_path` overrides; `playbook_dir
          | dirname` is now the single source of truth.\n\n## Test plan\n\nEnd-to-end
          verified on regiocloud (DEPLOY_MODE=manager, VERSION_MANAGER=latest):\n\n-
          [x] Sanity check fires for all 7 playbooks when invoked with `basepath=/tmp`\n-
          [x] `setup-testbed.py --prepare` no longer creates `.src/github.com/osism/testbed`\n-
          [x] `Run manager part 1 + 2` completed without error\n- [x] SP-1 marker
          commit present in `/opt/configuration/environments/manager/configuration.yml`
          on manager (confirms worktree sync pushed committed content)\n- [x] No `.git/`
          directory on manager (`test ! -d /opt/configuration/.git && echo OK`)\n-
          [x] No `clone.*osism/testbed` references in deploy log\n\nSpec: `docs/superpowers/specs/2026-05-24-sp1-kill-self-clone-design.md`\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2896
        commit_id: 3c89c87b2ad1b15a9df3f5b8cdd936100408d603
        patchset: 3c89c87b2ad1b15a9df3f5b8cdd936100408d603
        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: 24a03372cae44f71b11509bb726ebf0a
      buildset_refs:
      - branch: main
        change: '2896'
        change_message: "Kill GitHub-pull-of-self (SP-1)\n\n## Summary\n\n- Replace
          the `manager-part-1` synchronize task (which pulled from a GitHub clone
          of `osism/testbed` on the orchestrator) with an ephemeral git worktree sync:
          the deploy now pushes the committed state of whatever testbed checkout the
          playbook was invoked from.\n- Remove the `testbed:` entry from `repositories.yml`
          so `setup-testbed.py --prepare` no longer clones `osism/testbed` into `.src/`.\n-
          Derive `basepath` from `playbook_dir | dirname` (not `ansible_user_dir/src/...`)
          in all seven playbooks; add a fast-fail sanity check imported by each.\n-
          Fix `repo_path` in `deploy.yml` to derive from `basepath` rather than `ansible_user_dir`,
          so collection installs find `.src/` regardless of checkout location.\n-
          Remove the Makefile's `-e basepath` and `-e repo_path` overrides; `playbook_dir
          | dirname` is now the single source of truth.\n\n## Test plan\n\nEnd-to-end
          verified on regiocloud (DEPLOY_MODE=manager, VERSION_MANAGER=latest):\n\n-
          [x] Sanity check fires for all 7 playbooks when invoked with `basepath=/tmp`\n-
          [x] `setup-testbed.py --prepare` no longer creates `.src/github.com/osism/testbed`\n-
          [x] `Run manager part 1 + 2` completed without error\n- [x] SP-1 marker
          commit present in `/opt/configuration/environments/manager/configuration.yml`
          on manager (confirms worktree sync pushed committed content)\n- [x] No `.git/`
          directory on manager (`test ! -d /opt/configuration/.git && echo OK`)\n-
          [x] No `clone.*osism/testbed` references in deploy log\n\nSpec: `docs/superpowers/specs/2026-05-24-sp1-kill-self-clone-design.md`\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2896
        commit_id: 3c89c87b2ad1b15a9df3f5b8cdd936100408d603
        patchset: 3c89c87b2ad1b15a9df3f5b8cdd936100408d603
        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: '2896'
      change_message: "Kill GitHub-pull-of-self (SP-1)\n\n## Summary\n\n- Replace
        the `manager-part-1` synchronize task (which pulled from a GitHub clone of
        `osism/testbed` on the orchestrator) with an ephemeral git worktree sync:
        the deploy now pushes the committed state of whatever testbed checkout the
        playbook was invoked from.\n- Remove the `testbed:` entry from `repositories.yml`
        so `setup-testbed.py --prepare` no longer clones `osism/testbed` into `.src/`.\n-
        Derive `basepath` from `playbook_dir | dirname` (not `ansible_user_dir/src/...`)
        in all seven playbooks; add a fast-fail sanity check imported by each.\n-
        Fix `repo_path` in `deploy.yml` to derive from `basepath` rather than `ansible_user_dir`,
        so collection installs find `.src/` regardless of checkout location.\n- Remove
        the Makefile's `-e basepath` and `-e repo_path` overrides; `playbook_dir |
        dirname` is now the single source of truth.\n\n## Test plan\n\nEnd-to-end
        verified on regiocloud (DEPLOY_MODE=manager, VERSION_MANAGER=latest):\n\n-
        [x] Sanity check fires for all 7 playbooks when invoked with `basepath=/tmp`\n-
        [x] `setup-testbed.py --prepare` no longer creates `.src/github.com/osism/testbed`\n-
        [x] `Run manager part 1 + 2` completed without error\n- [x] SP-1 marker commit
        present in `/opt/configuration/environments/manager/configuration.yml` on
        manager (confirms worktree sync pushed committed content)\n- [x] No `.git/`
        directory on manager (`test ! -d /opt/configuration/.git && echo OK`)\n- [x]
        No `clone.*osism/testbed` references in deploy log\n\nSpec: `docs/superpowers/specs/2026-05-24-sp1-kill-self-clone-design.md`\n\n\U0001F916
        Generated with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/testbed/pull/2896
      child_jobs: []
      commit_id: 3c89c87b2ad1b15a9df3f5b8cdd936100408d603
      event_id: 40e32ee0-5804-11f1-9311-ab2e5fbbf965
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/a62d9c762afc477bb3f34a4a4bbd6ce2/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/a62d9c762afc477bb3f34a4a4bbd6ce2/work/logs
        result_data_file: /var/lib/zuul/builds/a62d9c762afc477bb3f34a4a4bbd6ce2/work/results.json
        src_root: /var/lib/zuul/builds/a62d9c762afc477bb3f34a4a4bbd6ce2/work/src
        work_root: /var/lib/zuul/builds/a62d9c762afc477bb3f34a4a4bbd6ce2/work
      include_vars: []
      items:
      - branch: main
        change: '2896'
        change_message: "Kill GitHub-pull-of-self (SP-1)\n\n## Summary\n\n- Replace
          the `manager-part-1` synchronize task (which pulled from a GitHub clone
          of `osism/testbed` on the orchestrator) with an ephemeral git worktree sync:
          the deploy now pushes the committed state of whatever testbed checkout the
          playbook was invoked from.\n- Remove the `testbed:` entry from `repositories.yml`
          so `setup-testbed.py --prepare` no longer clones `osism/testbed` into `.src/`.\n-
          Derive `basepath` from `playbook_dir | dirname` (not `ansible_user_dir/src/...`)
          in all seven playbooks; add a fast-fail sanity check imported by each.\n-
          Fix `repo_path` in `deploy.yml` to derive from `basepath` rather than `ansible_user_dir`,
          so collection installs find `.src/` regardless of checkout location.\n-
          Remove the Makefile's `-e basepath` and `-e repo_path` overrides; `playbook_dir
          | dirname` is now the single source of truth.\n\n## Test plan\n\nEnd-to-end
          verified on regiocloud (DEPLOY_MODE=manager, VERSION_MANAGER=latest):\n\n-
          [x] Sanity check fires for all 7 playbooks when invoked with `basepath=/tmp`\n-
          [x] `setup-testbed.py --prepare` no longer creates `.src/github.com/osism/testbed`\n-
          [x] `Run manager part 1 + 2` completed without error\n- [x] SP-1 marker
          commit present in `/opt/configuration/environments/manager/configuration.yml`
          on manager (confirms worktree sync pushed committed content)\n- [x] No `.git/`
          directory on manager (`test ! -d /opt/configuration/.git && echo OK`)\n-
          [x] No `clone.*osism/testbed` references in deploy log\n\nSpec: `docs/superpowers/specs/2026-05-24-sp1-kill-self-clone-design.md`\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2896
        commit_id: 3c89c87b2ad1b15a9df3f5b8cdd936100408d603
        patchset: 3c89c87b2ad1b15a9df3f5b8cdd936100408d603
        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: python-black
      jobtags: []
      max_attempts: 3
      message: S2lsbCBHaXRIdWItcHVsbC1vZi1zZWxmIChTUC0xKQoKIyMgU3VtbWFyeQoKLSBSZXBsYWNlIHRoZSBgbWFuYWdlci1wYXJ0LTFgIHN5bmNocm9uaXplIHRhc2sgKHdoaWNoIHB1bGxlZCBmcm9tIGEgR2l0SHViIGNsb25lIG9mIGBvc2lzbS90ZXN0YmVkYCBvbiB0aGUgb3JjaGVzdHJhdG9yKSB3aXRoIGFuIGVwaGVtZXJhbCBnaXQgd29ya3RyZWUgc3luYzogdGhlIGRlcGxveSBub3cgcHVzaGVzIHRoZSBjb21taXR0ZWQgc3RhdGUgb2Ygd2hhdGV2ZXIgdGVzdGJlZCBjaGVja291dCB0aGUgcGxheWJvb2sgd2FzIGludm9rZWQgZnJvbS4KLSBSZW1vdmUgdGhlIGB0ZXN0YmVkOmAgZW50cnkgZnJvbSBgcmVwb3NpdG9yaWVzLnltbGAgc28gYHNldHVwLXRlc3RiZWQucHkgLS1wcmVwYXJlYCBubyBsb25nZXIgY2xvbmVzIGBvc2lzbS90ZXN0YmVkYCBpbnRvIGAuc3JjL2AuCi0gRGVyaXZlIGBiYXNlcGF0aGAgZnJvbSBgcGxheWJvb2tfZGlyIHwgZGlybmFtZWAgKG5vdCBgYW5zaWJsZV91c2VyX2Rpci9zcmMvLi4uYCkgaW4gYWxsIHNldmVuIHBsYXlib29rczsgYWRkIGEgZmFzdC1mYWlsIHNhbml0eSBjaGVjayBpbXBvcnRlZCBieSBlYWNoLgotIEZpeCBgcmVwb19wYXRoYCBpbiBgZGVwbG95LnltbGAgdG8gZGVyaXZlIGZyb20gYGJhc2VwYXRoYCByYXRoZXIgdGhhbiBgYW5zaWJsZV91c2VyX2RpcmAsIHNvIGNvbGxlY3Rpb24gaW5zdGFsbHMgZmluZCBgLnNyYy9gIHJlZ2FyZGxlc3Mgb2YgY2hlY2tvdXQgbG9jYXRpb24uCi0gUmVtb3ZlIHRoZSBNYWtlZmlsZSdzIGAtZSBiYXNlcGF0aGAgYW5kIGAtZSByZXBvX3BhdGhgIG92ZXJyaWRlczsgYHBsYXlib29rX2RpciB8IGRpcm5hbWVgIGlzIG5vdyB0aGUgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aC4KCiMjIFRlc3QgcGxhbgoKRW5kLXRvLWVuZCB2ZXJpZmllZCBvbiByZWdpb2Nsb3VkIChERVBMT1lfTU9ERT1tYW5hZ2VyLCBWRVJTSU9OX01BTkFHRVI9bGF0ZXN0KToKCi0gW3hdIFNhbml0eSBjaGVjayBmaXJlcyBmb3IgYWxsIDcgcGxheWJvb2tzIHdoZW4gaW52b2tlZCB3aXRoIGBiYXNlcGF0aD0vdG1wYAotIFt4XSBgc2V0dXAtdGVzdGJlZC5weSAtLXByZXBhcmVgIG5vIGxvbmdlciBjcmVhdGVzIGAuc3JjL2dpdGh1Yi5jb20vb3Npc20vdGVzdGJlZGAKLSBbeF0gYFJ1biBtYW5hZ2VyIHBhcnQgMSArIDJgIGNvbXBsZXRlZCB3aXRob3V0IGVycm9yCi0gW3hdIFNQLTEgbWFya2VyIGNvbW1pdCBwcmVzZW50IGluIGAvb3B0L2NvbmZpZ3VyYXRpb24vZW52aXJvbm1lbnRzL21hbmFnZXIvY29uZmlndXJhdGlvbi55bWxgIG9uIG1hbmFnZXIgKGNvbmZpcm1zIHdvcmt0cmVlIHN5bmMgcHVzaGVkIGNvbW1pdHRlZCBjb250ZW50KQotIFt4XSBObyBgLmdpdC9gIGRpcmVjdG9yeSBvbiBtYW5hZ2VyIChgdGVzdCAhIC1kIC9vcHQvY29uZmlndXJhdGlvbi8uZ2l0ICYmIGVjaG8gT0tgKQotIFt4XSBObyBgY2xvbmUuKm9zaXNtL3Rlc3RiZWRgIHJlZmVyZW5jZXMgaW4gZGVwbG95IGxvZwoKU3BlYzogYGRvY3Mvc3VwZXJwb3dlcnMvc3BlY3MvMjAyNi0wNS0yNC1zcDEta2lsbC1zZWxmLWNsb25lLWRlc2lnbi5tZGAKCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUp
      patchset: 3c89c87b2ad1b15a9df3f5b8cdd936100408d603
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/python-black/run.yml
          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: null
      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: 8c3cd65d58834d393cbd609955492bf8b6295f4d
          name: osism/testbed
          required: false
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2896/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
