all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:febe:aa5b
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 0276062a-d3f8-424e-bd34-495ea25bf40a
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:febe:aa5b
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.151
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.48
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:febe:aa5b
        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 yamllint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#59>'
      - '<Job yamllint explicit: None implied: None source: osism/testbed/.zuul.yaml@main#325>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: b9c753b5e2fd43ecba3c2bb71823202f
      build_refs:
      - branch: main
        change: '2928'
        change_message: "deploy: purge stale manager ssh host key\n\n## Problem\n\nA
          midnight `testbed-deploy-*` build failed after ~11 min at the pre-flight
          task **\"Wait until ssh public key authentication to the manager works\"**
          with:\n\n```\n@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED @@@\nHost
          key for 81.163.193.194 has changed and you have requested strict checking.\nHost
          key verification failed.\n```\n\nThe manager VM was healthy (port 22 open,
          clean serial-console boot). The abort came from a **stale host-key entry**
          in the orchestrator's persistent `~/.ssh/known_hosts`.\n\n## Root cause\n\n-
          Managers get an ephemeral floating IP from a pool of ~512 addresses (two
          /24s) that is **recycled** across builds.\n- `Fetch manager ssh hostkey`
          appended the scanned key blindly (`ssh-keyscan >> ~/.ssh/known_hosts`) and
          never purged; the orchestrator's `known_hosts` is persistent and never cleaned,
          so it accumulates (the offending entry was at line 1194).\n- Manager host
          keys are otherwise **stable** across builds, so ordinary IP reuse re-appends
          an identical entry and passes \u2014 reuse alone does not fail. The failure
          additionally needs a **\"fossil\"**: an entry recorded with a key that no
          longer matches what the manager now presents (the manager's key changed
          at some point after the fossil was written).\n- The strict-check probe that
          turns a stale entry into a hard failure was added 2026-05-08 in 909f2804
          (`StrictHostKeyChecking=yes`). Before that, a stale entry was harmless.\n\nThis
          is rare \u2014 the failing signature appears in exactly **1 of 10,000+**
          analyzed builds \u2014 but inevitable given the never-pruned file. Other
          fossils likely still sit in the six orchestrators' `known_hosts` files.\n\n##
          Fix\n\nRun `ssh-keygen -R <ip>` before `ssh-keyscan` so any stale entry
          for the IP is removed first. Every manager SSH invocation reads this same
          default `known_hosts`, so purging it fixes the entire chain (the strict
          probe, the post-reboot wait, and the bare `ssh` deploy-script tasks) without
          changing their host-key policy. The compound command's rc is the `ssh-keyscan`
          result, preserving the existing `until`/`retry` semantics.\n\n## Notes\n\n-
          Detailed analysis: `~/issues/testbed/deploy-manager-hostkey-fossil-collision.md`.\n-
          zuul-analyzer signature `manager-hostkey-fossil-collision` recognizes future
          occurrences (kept unlinked so any post-fix recurrence stays visible in triage).\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2928
        commit_id: ca066300055f6561fda258111260247aa0bcded4
        patchset: ca066300055f6561fda258111260247aa0bcded4
        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: ae4361d26f3a46f086168086a54ecdcc
      buildset_refs:
      - branch: main
        change: '2928'
        change_message: "deploy: purge stale manager ssh host key\n\n## Problem\n\nA
          midnight `testbed-deploy-*` build failed after ~11 min at the pre-flight
          task **\"Wait until ssh public key authentication to the manager works\"**
          with:\n\n```\n@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED @@@\nHost
          key for 81.163.193.194 has changed and you have requested strict checking.\nHost
          key verification failed.\n```\n\nThe manager VM was healthy (port 22 open,
          clean serial-console boot). The abort came from a **stale host-key entry**
          in the orchestrator's persistent `~/.ssh/known_hosts`.\n\n## Root cause\n\n-
          Managers get an ephemeral floating IP from a pool of ~512 addresses (two
          /24s) that is **recycled** across builds.\n- `Fetch manager ssh hostkey`
          appended the scanned key blindly (`ssh-keyscan >> ~/.ssh/known_hosts`) and
          never purged; the orchestrator's `known_hosts` is persistent and never cleaned,
          so it accumulates (the offending entry was at line 1194).\n- Manager host
          keys are otherwise **stable** across builds, so ordinary IP reuse re-appends
          an identical entry and passes \u2014 reuse alone does not fail. The failure
          additionally needs a **\"fossil\"**: an entry recorded with a key that no
          longer matches what the manager now presents (the manager's key changed
          at some point after the fossil was written).\n- The strict-check probe that
          turns a stale entry into a hard failure was added 2026-05-08 in 909f2804
          (`StrictHostKeyChecking=yes`). Before that, a stale entry was harmless.\n\nThis
          is rare \u2014 the failing signature appears in exactly **1 of 10,000+**
          analyzed builds \u2014 but inevitable given the never-pruned file. Other
          fossils likely still sit in the six orchestrators' `known_hosts` files.\n\n##
          Fix\n\nRun `ssh-keygen -R <ip>` before `ssh-keyscan` so any stale entry
          for the IP is removed first. Every manager SSH invocation reads this same
          default `known_hosts`, so purging it fixes the entire chain (the strict
          probe, the post-reboot wait, and the bare `ssh` deploy-script tasks) without
          changing their host-key policy. The compound command's rc is the `ssh-keyscan`
          result, preserving the existing `until`/`retry` semantics.\n\n## Notes\n\n-
          Detailed analysis: `~/issues/testbed/deploy-manager-hostkey-fossil-collision.md`.\n-
          zuul-analyzer signature `manager-hostkey-fossil-collision` recognizes future
          occurrences (kept unlinked so any post-fix recurrence stays visible in triage).\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2928
        commit_id: ca066300055f6561fda258111260247aa0bcded4
        patchset: ca066300055f6561fda258111260247aa0bcded4
        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: '2928'
      change_message: "deploy: purge stale manager ssh host key\n\n## Problem\n\nA
        midnight `testbed-deploy-*` build failed after ~11 min at the pre-flight task
        **\"Wait until ssh public key authentication to the manager works\"** with:\n\n```\n@@@
        WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED @@@\nHost key for 81.163.193.194
        has changed and you have requested strict checking.\nHost key verification
        failed.\n```\n\nThe manager VM was healthy (port 22 open, clean serial-console
        boot). The abort came from a **stale host-key entry** in the orchestrator's
        persistent `~/.ssh/known_hosts`.\n\n## Root cause\n\n- Managers get an ephemeral
        floating IP from a pool of ~512 addresses (two /24s) that is **recycled**
        across builds.\n- `Fetch manager ssh hostkey` appended the scanned key blindly
        (`ssh-keyscan >> ~/.ssh/known_hosts`) and never purged; the orchestrator's
        `known_hosts` is persistent and never cleaned, so it accumulates (the offending
        entry was at line 1194).\n- Manager host keys are otherwise **stable** across
        builds, so ordinary IP reuse re-appends an identical entry and passes \u2014
        reuse alone does not fail. The failure additionally needs a **\"fossil\"**:
        an entry recorded with a key that no longer matches what the manager now presents
        (the manager's key changed at some point after the fossil was written).\n-
        The strict-check probe that turns a stale entry into a hard failure was added
        2026-05-08 in 909f2804 (`StrictHostKeyChecking=yes`). Before that, a stale
        entry was harmless.\n\nThis is rare \u2014 the failing signature appears in
        exactly **1 of 10,000+** analyzed builds \u2014 but inevitable given the never-pruned
        file. Other fossils likely still sit in the six orchestrators' `known_hosts`
        files.\n\n## Fix\n\nRun `ssh-keygen -R <ip>` before `ssh-keyscan` so any stale
        entry for the IP is removed first. Every manager SSH invocation reads this
        same default `known_hosts`, so purging it fixes the entire chain (the strict
        probe, the post-reboot wait, and the bare `ssh` deploy-script tasks) without
        changing their host-key policy. The compound command's rc is the `ssh-keyscan`
        result, preserving the existing `until`/`retry` semantics.\n\n## Notes\n\n-
        Detailed analysis: `~/issues/testbed/deploy-manager-hostkey-fossil-collision.md`.\n-
        zuul-analyzer signature `manager-hostkey-fossil-collision` recognizes future
        occurrences (kept unlinked so any post-fix recurrence stays visible in triage).\n\n\U0001F916
        Generated with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/testbed/pull/2928
      child_jobs: []
      commit_id: ca066300055f6561fda258111260247aa0bcded4
      event_id: 1db6ccc0-7e87-11f1-863c-1efc870dd679
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/b9c753b5e2fd43ecba3c2bb71823202f/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/b9c753b5e2fd43ecba3c2bb71823202f/work/logs
        result_data_file: /var/lib/zuul/builds/b9c753b5e2fd43ecba3c2bb71823202f/work/results.json
        src_root: /var/lib/zuul/builds/b9c753b5e2fd43ecba3c2bb71823202f/work/src
        work_root: /var/lib/zuul/builds/b9c753b5e2fd43ecba3c2bb71823202f/work
      include_vars: []
      items:
      - branch: main
        change: '2928'
        change_message: "deploy: purge stale manager ssh host key\n\n## Problem\n\nA
          midnight `testbed-deploy-*` build failed after ~11 min at the pre-flight
          task **\"Wait until ssh public key authentication to the manager works\"**
          with:\n\n```\n@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED @@@\nHost
          key for 81.163.193.194 has changed and you have requested strict checking.\nHost
          key verification failed.\n```\n\nThe manager VM was healthy (port 22 open,
          clean serial-console boot). The abort came from a **stale host-key entry**
          in the orchestrator's persistent `~/.ssh/known_hosts`.\n\n## Root cause\n\n-
          Managers get an ephemeral floating IP from a pool of ~512 addresses (two
          /24s) that is **recycled** across builds.\n- `Fetch manager ssh hostkey`
          appended the scanned key blindly (`ssh-keyscan >> ~/.ssh/known_hosts`) and
          never purged; the orchestrator's `known_hosts` is persistent and never cleaned,
          so it accumulates (the offending entry was at line 1194).\n- Manager host
          keys are otherwise **stable** across builds, so ordinary IP reuse re-appends
          an identical entry and passes \u2014 reuse alone does not fail. The failure
          additionally needs a **\"fossil\"**: an entry recorded with a key that no
          longer matches what the manager now presents (the manager's key changed
          at some point after the fossil was written).\n- The strict-check probe that
          turns a stale entry into a hard failure was added 2026-05-08 in 909f2804
          (`StrictHostKeyChecking=yes`). Before that, a stale entry was harmless.\n\nThis
          is rare \u2014 the failing signature appears in exactly **1 of 10,000+**
          analyzed builds \u2014 but inevitable given the never-pruned file. Other
          fossils likely still sit in the six orchestrators' `known_hosts` files.\n\n##
          Fix\n\nRun `ssh-keygen -R <ip>` before `ssh-keyscan` so any stale entry
          for the IP is removed first. Every manager SSH invocation reads this same
          default `known_hosts`, so purging it fixes the entire chain (the strict
          probe, the post-reboot wait, and the bare `ssh` deploy-script tasks) without
          changing their host-key policy. The compound command's rc is the `ssh-keyscan`
          result, preserving the existing `until`/`retry` semantics.\n\n## Notes\n\n-
          Detailed analysis: `~/issues/testbed/deploy-manager-hostkey-fossil-collision.md`.\n-
          zuul-analyzer signature `manager-hostkey-fossil-collision` recognizes future
          occurrences (kept unlinked so any post-fix recurrence stays visible in triage).\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2928
        commit_id: ca066300055f6561fda258111260247aa0bcded4
        patchset: ca066300055f6561fda258111260247aa0bcded4
        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: yamllint
      jobtags: []
      max_attempts: 3
      message: ZGVwbG95OiBwdXJnZSBzdGFsZSBtYW5hZ2VyIHNzaCBob3N0IGtleQoKIyMgUHJvYmxlbQoKQSBtaWRuaWdodCBgdGVzdGJlZC1kZXBsb3ktKmAgYnVpbGQgZmFpbGVkIGFmdGVyIH4xMSBtaW4gYXQgdGhlIHByZS1mbGlnaHQgdGFzayAqKiJXYWl0IHVudGlsIHNzaCBwdWJsaWMga2V5IGF1dGhlbnRpY2F0aW9uIHRvIHRoZSBtYW5hZ2VyIHdvcmtzIioqIHdpdGg6CgpgYGAKQEBAIFdBUk5JTkc6IFJFTU9URSBIT1NUIElERU5USUZJQ0FUSU9OIEhBUyBDSEFOR0VEIEBAQApIb3N0IGtleSBmb3IgODEuMTYzLjE5My4xOTQgaGFzIGNoYW5nZWQgYW5kIHlvdSBoYXZlIHJlcXVlc3RlZCBzdHJpY3QgY2hlY2tpbmcuCkhvc3Qga2V5IHZlcmlmaWNhdGlvbiBmYWlsZWQuCmBgYAoKVGhlIG1hbmFnZXIgVk0gd2FzIGhlYWx0aHkgKHBvcnQgMjIgb3BlbiwgY2xlYW4gc2VyaWFsLWNvbnNvbGUgYm9vdCkuIFRoZSBhYm9ydCBjYW1lIGZyb20gYSAqKnN0YWxlIGhvc3Qta2V5IGVudHJ5KiogaW4gdGhlIG9yY2hlc3RyYXRvcidzIHBlcnNpc3RlbnQgYH4vLnNzaC9rbm93bl9ob3N0c2AuCgojIyBSb290IGNhdXNlCgotIE1hbmFnZXJzIGdldCBhbiBlcGhlbWVyYWwgZmxvYXRpbmcgSVAgZnJvbSBhIHBvb2wgb2YgfjUxMiBhZGRyZXNzZXMgKHR3byAvMjRzKSB0aGF0IGlzICoqcmVjeWNsZWQqKiBhY3Jvc3MgYnVpbGRzLgotIGBGZXRjaCBtYW5hZ2VyIHNzaCBob3N0a2V5YCBhcHBlbmRlZCB0aGUgc2Nhbm5lZCBrZXkgYmxpbmRseSAoYHNzaC1rZXlzY2FuID4+IH4vLnNzaC9rbm93bl9ob3N0c2ApIGFuZCBuZXZlciBwdXJnZWQ7IHRoZSBvcmNoZXN0cmF0b3IncyBga25vd25faG9zdHNgIGlzIHBlcnNpc3RlbnQgYW5kIG5ldmVyIGNsZWFuZWQsIHNvIGl0IGFjY3VtdWxhdGVzICh0aGUgb2ZmZW5kaW5nIGVudHJ5IHdhcyBhdCBsaW5lIDExOTQpLgotIE1hbmFnZXIgaG9zdCBrZXlzIGFyZSBvdGhlcndpc2UgKipzdGFibGUqKiBhY3Jvc3MgYnVpbGRzLCBzbyBvcmRpbmFyeSBJUCByZXVzZSByZS1hcHBlbmRzIGFuIGlkZW50aWNhbCBlbnRyeSBhbmQgcGFzc2VzIOKAlCByZXVzZSBhbG9uZSBkb2VzIG5vdCBmYWlsLiBUaGUgZmFpbHVyZSBhZGRpdGlvbmFsbHkgbmVlZHMgYSAqKiJmb3NzaWwiKio6IGFuIGVudHJ5IHJlY29yZGVkIHdpdGggYSBrZXkgdGhhdCBubyBsb25nZXIgbWF0Y2hlcyB3aGF0IHRoZSBtYW5hZ2VyIG5vdyBwcmVzZW50cyAodGhlIG1hbmFnZXIncyBrZXkgY2hhbmdlZCBhdCBzb21lIHBvaW50IGFmdGVyIHRoZSBmb3NzaWwgd2FzIHdyaXR0ZW4pLgotIFRoZSBzdHJpY3QtY2hlY2sgcHJvYmUgdGhhdCB0dXJucyBhIHN0YWxlIGVudHJ5IGludG8gYSBoYXJkIGZhaWx1cmUgd2FzIGFkZGVkIDIwMjYtMDUtMDggaW4gOTA5ZjI4MDQgKGBTdHJpY3RIb3N0S2V5Q2hlY2tpbmc9eWVzYCkuIEJlZm9yZSB0aGF0LCBhIHN0YWxlIGVudHJ5IHdhcyBoYXJtbGVzcy4KClRoaXMgaXMgcmFyZSDigJQgdGhlIGZhaWxpbmcgc2lnbmF0dXJlIGFwcGVhcnMgaW4gZXhhY3RseSAqKjEgb2YgMTAsMDAwKyoqIGFuYWx5emVkIGJ1aWxkcyDigJQgYnV0IGluZXZpdGFibGUgZ2l2ZW4gdGhlIG5ldmVyLXBydW5lZCBmaWxlLiBPdGhlciBmb3NzaWxzIGxpa2VseSBzdGlsbCBzaXQgaW4gdGhlIHNpeCBvcmNoZXN0cmF0b3JzJyBga25vd25faG9zdHNgIGZpbGVzLgoKIyMgRml4CgpSdW4gYHNzaC1rZXlnZW4gLVIgPGlwPmAgYmVmb3JlIGBzc2gta2V5c2NhbmAgc28gYW55IHN0YWxlIGVudHJ5IGZvciB0aGUgSVAgaXMgcmVtb3ZlZCBmaXJzdC4gRXZlcnkgbWFuYWdlciBTU0ggaW52b2NhdGlvbiByZWFkcyB0aGlzIHNhbWUgZGVmYXVsdCBga25vd25faG9zdHNgLCBzbyBwdXJnaW5nIGl0IGZpeGVzIHRoZSBlbnRpcmUgY2hhaW4gKHRoZSBzdHJpY3QgcHJvYmUsIHRoZSBwb3N0LXJlYm9vdCB3YWl0LCBhbmQgdGhlIGJhcmUgYHNzaGAgZGVwbG95LXNjcmlwdCB0YXNrcykgd2l0aG91dCBjaGFuZ2luZyB0aGVpciBob3N0LWtleSBwb2xpY3kuIFRoZSBjb21wb3VuZCBjb21tYW5kJ3MgcmMgaXMgdGhlIGBzc2gta2V5c2NhbmAgcmVzdWx0LCBwcmVzZXJ2aW5nIHRoZSBleGlzdGluZyBgdW50aWxgL2ByZXRyeWAgc2VtYW50aWNzLgoKIyMgTm90ZXMKCi0gRGV0YWlsZWQgYW5hbHlzaXM6IGB+L2lzc3Vlcy90ZXN0YmVkL2RlcGxveS1tYW5hZ2VyLWhvc3RrZXktZm9zc2lsLWNvbGxpc2lvbi5tZGAuCi0genV1bC1hbmFseXplciBzaWduYXR1cmUgYG1hbmFnZXItaG9zdGtleS1mb3NzaWwtY29sbGlzaW9uYCByZWNvZ25pemVzIGZ1dHVyZSBvY2N1cnJlbmNlcyAoa2VwdCB1bmxpbmtlZCBzbyBhbnkgcG9zdC1maXggcmVjdXJyZW5jZSBzdGF5cyB2aXNpYmxlIGluIHRyaWFnZSkuCgrwn6SWIEdlbmVyYXRlZCB3aXRoIFtDbGF1ZGUgQ29kZV0oaHR0cHM6Ly9jbGF1ZGUuY29tL2NsYXVkZS1jb2RlKQ==
      patchset: ca066300055f6561fda258111260247aa0bcded4
      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: 1d71e58c93442038e695a5d883d57a603182c7ae
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 1d71e58c93442038e695a5d883d57a603182c7ae
          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/yamllint/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: 8745091ea6b0507f7ea08ebcc1943fdafaae92ff
          name: osism/testbed
          required: false
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2928/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
