all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    orchestrator:
      ansible_connection: ssh
      ansible_host: 81.163.193.140
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul-testbed05
      ceph_version: reef
      nodepool:
        az: null
        cloud: null
        external_id: 81.163.193.140
        host_id: null
        interface_ip: 81.163.193.140
        label: testbed-orchestrator
        node_properties: {}
        private_ipv4: null
        private_ipv6: null
        provider: static-testbed
        public_ipv4: 81.163.193.140
        public_ipv6: null
        region: null
        slot: 0
      nutshell: true
      openstack_version: '2025.1'
      terraform_blueprint: testbed-default
      terraform_environment: ci-ubuntu-24.04
  vars:
    ceph_version: reef
    nutshell: true
    openstack_version: '2025.1'
    terraform_blueprint: testbed-default
    terraform_environment: ci-ubuntu-24.04
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job base-extra-logs explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#24>'
      - '<Job abstract-testbed-deploy explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/testbed/.zuul.yaml@main#48>'
      - '<Job abstract-testbed-deploy-in-a-nutshell explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/testbed/.zuul.yaml@main#82>'
      - '<Job testbed-deploy-in-a-nutshell-ubuntu-24.04 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/testbed/.zuul.yaml@main#152>'
      - '<Job testbed-deploy-next-in-a-nutshell-ubuntu-24.04 explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: osism/testbed/.zuul.yaml@main#214>'
      - '<Job testbed-deploy-next-in-a-nutshell-ubuntu-24.04 explicit: None implied:
        None source: osism/testbed/.zuul.yaml@main#324>'
      ansible_version: '9'
      attempts: 3
      branch: main
      build: a779b5388ac2498db761c5acab77f03f
      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: 8d38b72e02554060919efc106e45fe53
      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: be8cfba0-5804-11f1-97b4-83ad1e8ed9e7
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/a779b5388ac2498db761c5acab77f03f/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/a779b5388ac2498db761c5acab77f03f/work/logs
        result_data_file: /var/lib/zuul/builds/a779b5388ac2498db761c5acab77f03f/work/results.json
        src_root: /var/lib/zuul/builds/a779b5388ac2498db761c5acab77f03f/work/src
        work_root: /var/lib/zuul/builds/a779b5388ac2498db761c5acab77f03f/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: testbed-deploy-next-in-a-nutshell-ubuntu-24.04
      jobtags: []
      max_attempts: 3
      message: S2lsbCBHaXRIdWItcHVsbC1vZi1zZWxmIChTUC0xKQoKIyMgU3VtbWFyeQoKLSBSZXBsYWNlIHRoZSBgbWFuYWdlci1wYXJ0LTFgIHN5bmNocm9uaXplIHRhc2sgKHdoaWNoIHB1bGxlZCBmcm9tIGEgR2l0SHViIGNsb25lIG9mIGBvc2lzbS90ZXN0YmVkYCBvbiB0aGUgb3JjaGVzdHJhdG9yKSB3aXRoIGFuIGVwaGVtZXJhbCBnaXQgd29ya3RyZWUgc3luYzogdGhlIGRlcGxveSBub3cgcHVzaGVzIHRoZSBjb21taXR0ZWQgc3RhdGUgb2Ygd2hhdGV2ZXIgdGVzdGJlZCBjaGVja291dCB0aGUgcGxheWJvb2sgd2FzIGludm9rZWQgZnJvbS4KLSBSZW1vdmUgdGhlIGB0ZXN0YmVkOmAgZW50cnkgZnJvbSBgcmVwb3NpdG9yaWVzLnltbGAgc28gYHNldHVwLXRlc3RiZWQucHkgLS1wcmVwYXJlYCBubyBsb25nZXIgY2xvbmVzIGBvc2lzbS90ZXN0YmVkYCBpbnRvIGAuc3JjL2AuCi0gRGVyaXZlIGBiYXNlcGF0aGAgZnJvbSBgcGxheWJvb2tfZGlyIHwgZGlybmFtZWAgKG5vdCBgYW5zaWJsZV91c2VyX2Rpci9zcmMvLi4uYCkgaW4gYWxsIHNldmVuIHBsYXlib29rczsgYWRkIGEgZmFzdC1mYWlsIHNhbml0eSBjaGVjayBpbXBvcnRlZCBieSBlYWNoLgotIEZpeCBgcmVwb19wYXRoYCBpbiBgZGVwbG95LnltbGAgdG8gZGVyaXZlIGZyb20gYGJhc2VwYXRoYCByYXRoZXIgdGhhbiBgYW5zaWJsZV91c2VyX2RpcmAsIHNvIGNvbGxlY3Rpb24gaW5zdGFsbHMgZmluZCBgLnNyYy9gIHJlZ2FyZGxlc3Mgb2YgY2hlY2tvdXQgbG9jYXRpb24uCi0gUmVtb3ZlIHRoZSBNYWtlZmlsZSdzIGAtZSBiYXNlcGF0aGAgYW5kIGAtZSByZXBvX3BhdGhgIG92ZXJyaWRlczsgYHBsYXlib29rX2RpciB8IGRpcm5hbWVgIGlzIG5vdyB0aGUgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aC4KCiMjIFRlc3QgcGxhbgoKRW5kLXRvLWVuZCB2ZXJpZmllZCBvbiByZWdpb2Nsb3VkIChERVBMT1lfTU9ERT1tYW5hZ2VyLCBWRVJTSU9OX01BTkFHRVI9bGF0ZXN0KToKCi0gW3hdIFNhbml0eSBjaGVjayBmaXJlcyBmb3IgYWxsIDcgcGxheWJvb2tzIHdoZW4gaW52b2tlZCB3aXRoIGBiYXNlcGF0aD0vdG1wYAotIFt4XSBgc2V0dXAtdGVzdGJlZC5weSAtLXByZXBhcmVgIG5vIGxvbmdlciBjcmVhdGVzIGAuc3JjL2dpdGh1Yi5jb20vb3Npc20vdGVzdGJlZGAKLSBbeF0gYFJ1biBtYW5hZ2VyIHBhcnQgMSArIDJgIGNvbXBsZXRlZCB3aXRob3V0IGVycm9yCi0gW3hdIFNQLTEgbWFya2VyIGNvbW1pdCBwcmVzZW50IGluIGAvb3B0L2NvbmZpZ3VyYXRpb24vZW52aXJvbm1lbnRzL21hbmFnZXIvY29uZmlndXJhdGlvbi55bWxgIG9uIG1hbmFnZXIgKGNvbmZpcm1zIHdvcmt0cmVlIHN5bmMgcHVzaGVkIGNvbW1pdHRlZCBjb250ZW50KQotIFt4XSBObyBgLmdpdC9gIGRpcmVjdG9yeSBvbiBtYW5hZ2VyIChgdGVzdCAhIC1kIC9vcHQvY29uZmlndXJhdGlvbi8uZ2l0ICYmIGVjaG8gT0tgKQotIFt4XSBObyBgY2xvbmUuKm9zaXNtL3Rlc3RiZWRgIHJlZmVyZW5jZXMgaW4gZGVwbG95IGxvZwoKU3BlYzogYGRvY3Mvc3VwZXJwb3dlcnMvc3BlY3MvMjAyNi0wNS0yNC1zcDEta2lsbC1zZWxmLWNsb25lLWRlc2lnbi5tZGAKCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUp
      patchset: 3c89c87b2ad1b15a9df3f5b8cdd936100408d603
      pipeline: label
      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/testbed:
            canonical_name: github.com/osism/testbed
            checkout: main
            commit: 7ab3788ed055d03beddcb40ea740e10378696171
          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
          untrusted/project_3/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
        playbooks:
        - path: untrusted/project_0/github.com/osism/testbed/playbooks/deploy.yml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_3/zuul-jobs
            link_target: untrusted/project_3/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_3/zuul-jobs/roles
      post_review: true
      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/ansible-collection-commons:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-commons
          checkout: main
          checkout_description: zuul branch
          commit: 28c80140fe518e0c38e906291102e8c1fba9762a
          name: osism/ansible-collection-commons
          required: true
          short_name: ansible-collection-commons
          src_dir: src/github.com/osism/ansible-collection-commons
        github.com/osism/ansible-collection-services:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          checkout: main
          checkout_description: zuul branch
          commit: 1f99c780ef56ac1cda11e7c94f83a38edd6d876f
          name: osism/ansible-collection-services
          required: true
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
        github.com/osism/terraform-base:
          canonical_hostname: github.com
          canonical_name: github.com/osism/terraform-base
          checkout: main
          checkout_description: zuul branch
          commit: 6499561f4da2b4a465cdfb12a1145d6dd3da94cc
          name: osism/terraform-base
          required: true
          short_name: terraform-base
          src_dir: src/github.com/osism/terraform-base
        github.com/osism/testbed:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          checkout: main
          checkout_description: zuul branch
          commit: 7ab3788ed055d03beddcb40ea740e10378696171
          name: osism/testbed
          required: true
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2896/head
      resources: {}
      tenant: osism
      timeout: 16200
      topic: null
      voting: true
