all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:feab:aba2
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: a0ac86eb-8816-435f-b72a-b92615f7556e
        host_id: 7f2607eceb24f4583c6f9496c53c64b51afe50de5eacda4379b21c42
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:feab:aba2
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.106
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.141
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:feab:aba2
        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 ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/testbed/.zuul.yaml@main#325>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 83e86933acdb43629292cb2eba7c8c9e
      build_refs:
      - branch: main
        change: '2931'
        change_message: "Retry apt deb: package downloads on transient failures\n\n##
          What\n\nAdd `register`/`until`/`retries`/`delay` to the two `ansible.builtin.apt`\ntasks
          that install a `.deb` directly from a GitHub URL, so a single\ntransient
          network stall retries instead of failing the whole run:\n\n- `environments/custom/playbook-workarounds.yml`
          \u2014 `Install python3-docker`\n  (from `github.com/osism/deb-packaging`)\n-
          `environments/custom/playbook-northwatch.yml` \u2014 `Install the Northwatch\n
          \ package` (from a `github.com/B42Labs/northwatch` release)\n\nEach retries
          up to 5 times with a 10s delay.\n\n## Why\n\nThe `python3-docker` install
          has failed repeatedly in CI (osism/testbed\ndeploy and upgrade jobs \u2014
          Jan, Feb, May and Jul 2026), each time as a\ntransient GitHub transfer stall:
          `The read operation timed out`, a\nurlopen timeout, or a TLS handshake timeout.
          The task had no retry, so\none stalled connection failed the whole deploy
          even though the resource\nwas fine.\n\nIn the 2026-07-17 midnight build
          the identical URL succeeded on 6 of 7\nhosts at the exact moment one host
          timed out, and on all hosts minutes\nearlier \u2014 clear evidence a retry
          would have succeeded.\n\nThe northwatch task is the identical `apt deb:`
          construct; it has not\nbeen observed failing, so that change is preventive/consistency\nhardening.\n\nThis
          matches the `until`/`retries` idiom already used elsewhere in the\nrepo
          (manager ssh waits in `playbooks/deploy.yml`, galaxy install in\n`ansible/manager-part-0.yml`).\n\n##
          Testing\n\n`ansible-lint` (production profile) and `yamllint` pass on both
          files.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2931
        commit_id: ea7a6c6439f7ce900a551530e37b8b46fa2f1256
        patchset: ea7a6c6439f7ce900a551530e37b8b46fa2f1256
        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: 0d199f9ca96c4f1491077dd2993dd3a0
      buildset_refs:
      - branch: main
        change: '2931'
        change_message: "Retry apt deb: package downloads on transient failures\n\n##
          What\n\nAdd `register`/`until`/`retries`/`delay` to the two `ansible.builtin.apt`\ntasks
          that install a `.deb` directly from a GitHub URL, so a single\ntransient
          network stall retries instead of failing the whole run:\n\n- `environments/custom/playbook-workarounds.yml`
          \u2014 `Install python3-docker`\n  (from `github.com/osism/deb-packaging`)\n-
          `environments/custom/playbook-northwatch.yml` \u2014 `Install the Northwatch\n
          \ package` (from a `github.com/B42Labs/northwatch` release)\n\nEach retries
          up to 5 times with a 10s delay.\n\n## Why\n\nThe `python3-docker` install
          has failed repeatedly in CI (osism/testbed\ndeploy and upgrade jobs \u2014
          Jan, Feb, May and Jul 2026), each time as a\ntransient GitHub transfer stall:
          `The read operation timed out`, a\nurlopen timeout, or a TLS handshake timeout.
          The task had no retry, so\none stalled connection failed the whole deploy
          even though the resource\nwas fine.\n\nIn the 2026-07-17 midnight build
          the identical URL succeeded on 6 of 7\nhosts at the exact moment one host
          timed out, and on all hosts minutes\nearlier \u2014 clear evidence a retry
          would have succeeded.\n\nThe northwatch task is the identical `apt deb:`
          construct; it has not\nbeen observed failing, so that change is preventive/consistency\nhardening.\n\nThis
          matches the `until`/`retries` idiom already used elsewhere in the\nrepo
          (manager ssh waits in `playbooks/deploy.yml`, galaxy install in\n`ansible/manager-part-0.yml`).\n\n##
          Testing\n\n`ansible-lint` (production profile) and `yamllint` pass on both
          files.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2931
        commit_id: ea7a6c6439f7ce900a551530e37b8b46fa2f1256
        patchset: ea7a6c6439f7ce900a551530e37b8b46fa2f1256
        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: '2931'
      change_message: "Retry apt deb: package downloads on transient failures\n\n##
        What\n\nAdd `register`/`until`/`retries`/`delay` to the two `ansible.builtin.apt`\ntasks
        that install a `.deb` directly from a GitHub URL, so a single\ntransient network
        stall retries instead of failing the whole run:\n\n- `environments/custom/playbook-workarounds.yml`
        \u2014 `Install python3-docker`\n  (from `github.com/osism/deb-packaging`)\n-
        `environments/custom/playbook-northwatch.yml` \u2014 `Install the Northwatch\n
        \ package` (from a `github.com/B42Labs/northwatch` release)\n\nEach retries
        up to 5 times with a 10s delay.\n\n## Why\n\nThe `python3-docker` install
        has failed repeatedly in CI (osism/testbed\ndeploy and upgrade jobs \u2014
        Jan, Feb, May and Jul 2026), each time as a\ntransient GitHub transfer stall:
        `The read operation timed out`, a\nurlopen timeout, or a TLS handshake timeout.
        The task had no retry, so\none stalled connection failed the whole deploy
        even though the resource\nwas fine.\n\nIn the 2026-07-17 midnight build the
        identical URL succeeded on 6 of 7\nhosts at the exact moment one host timed
        out, and on all hosts minutes\nearlier \u2014 clear evidence a retry would
        have succeeded.\n\nThe northwatch task is the identical `apt deb:` construct;
        it has not\nbeen observed failing, so that change is preventive/consistency\nhardening.\n\nThis
        matches the `until`/`retries` idiom already used elsewhere in the\nrepo (manager
        ssh waits in `playbooks/deploy.yml`, galaxy install in\n`ansible/manager-part-0.yml`).\n\n##
        Testing\n\n`ansible-lint` (production profile) and `yamllint` pass on both
        files.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/testbed/pull/2931
      child_jobs: []
      commit_id: ea7a6c6439f7ce900a551530e37b8b46fa2f1256
      event_id: 84ee7d90-81d7-11f1-9945-2b6357c58d11
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/83e86933acdb43629292cb2eba7c8c9e/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/83e86933acdb43629292cb2eba7c8c9e/work/logs
        result_data_file: /var/lib/zuul/builds/83e86933acdb43629292cb2eba7c8c9e/work/results.json
        src_root: /var/lib/zuul/builds/83e86933acdb43629292cb2eba7c8c9e/work/src
        work_root: /var/lib/zuul/builds/83e86933acdb43629292cb2eba7c8c9e/work
      include_vars: []
      items:
      - branch: main
        change: '2931'
        change_message: "Retry apt deb: package downloads on transient failures\n\n##
          What\n\nAdd `register`/`until`/`retries`/`delay` to the two `ansible.builtin.apt`\ntasks
          that install a `.deb` directly from a GitHub URL, so a single\ntransient
          network stall retries instead of failing the whole run:\n\n- `environments/custom/playbook-workarounds.yml`
          \u2014 `Install python3-docker`\n  (from `github.com/osism/deb-packaging`)\n-
          `environments/custom/playbook-northwatch.yml` \u2014 `Install the Northwatch\n
          \ package` (from a `github.com/B42Labs/northwatch` release)\n\nEach retries
          up to 5 times with a 10s delay.\n\n## Why\n\nThe `python3-docker` install
          has failed repeatedly in CI (osism/testbed\ndeploy and upgrade jobs \u2014
          Jan, Feb, May and Jul 2026), each time as a\ntransient GitHub transfer stall:
          `The read operation timed out`, a\nurlopen timeout, or a TLS handshake timeout.
          The task had no retry, so\none stalled connection failed the whole deploy
          even though the resource\nwas fine.\n\nIn the 2026-07-17 midnight build
          the identical URL succeeded on 6 of 7\nhosts at the exact moment one host
          timed out, and on all hosts minutes\nearlier \u2014 clear evidence a retry
          would have succeeded.\n\nThe northwatch task is the identical `apt deb:`
          construct; it has not\nbeen observed failing, so that change is preventive/consistency\nhardening.\n\nThis
          matches the `until`/`retries` idiom already used elsewhere in the\nrepo
          (manager ssh waits in `playbooks/deploy.yml`, galaxy install in\n`ansible/manager-part-0.yml`).\n\n##
          Testing\n\n`ansible-lint` (production profile) and `yamllint` pass on both
          files.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2931
        commit_id: ea7a6c6439f7ce900a551530e37b8b46fa2f1256
        patchset: ea7a6c6439f7ce900a551530e37b8b46fa2f1256
        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: ansible-lint
      jobtags: []
      max_attempts: 3
      message: UmV0cnkgYXB0IGRlYjogcGFja2FnZSBkb3dubG9hZHMgb24gdHJhbnNpZW50IGZhaWx1cmVzCgojIyBXaGF0CgpBZGQgYHJlZ2lzdGVyYC9gdW50aWxgL2ByZXRyaWVzYC9gZGVsYXlgIHRvIHRoZSB0d28gYGFuc2libGUuYnVpbHRpbi5hcHRgCnRhc2tzIHRoYXQgaW5zdGFsbCBhIGAuZGViYCBkaXJlY3RseSBmcm9tIGEgR2l0SHViIFVSTCwgc28gYSBzaW5nbGUKdHJhbnNpZW50IG5ldHdvcmsgc3RhbGwgcmV0cmllcyBpbnN0ZWFkIG9mIGZhaWxpbmcgdGhlIHdob2xlIHJ1bjoKCi0gYGVudmlyb25tZW50cy9jdXN0b20vcGxheWJvb2std29ya2Fyb3VuZHMueW1sYCDigJQgYEluc3RhbGwgcHl0aG9uMy1kb2NrZXJgCiAgKGZyb20gYGdpdGh1Yi5jb20vb3Npc20vZGViLXBhY2thZ2luZ2ApCi0gYGVudmlyb25tZW50cy9jdXN0b20vcGxheWJvb2stbm9ydGh3YXRjaC55bWxgIOKAlCBgSW5zdGFsbCB0aGUgTm9ydGh3YXRjaAogIHBhY2thZ2VgIChmcm9tIGEgYGdpdGh1Yi5jb20vQjQyTGFicy9ub3J0aHdhdGNoYCByZWxlYXNlKQoKRWFjaCByZXRyaWVzIHVwIHRvIDUgdGltZXMgd2l0aCBhIDEwcyBkZWxheS4KCiMjIFdoeQoKVGhlIGBweXRob24zLWRvY2tlcmAgaW5zdGFsbCBoYXMgZmFpbGVkIHJlcGVhdGVkbHkgaW4gQ0kgKG9zaXNtL3Rlc3RiZWQKZGVwbG95IGFuZCB1cGdyYWRlIGpvYnMg4oCUIEphbiwgRmViLCBNYXkgYW5kIEp1bCAyMDI2KSwgZWFjaCB0aW1lIGFzIGEKdHJhbnNpZW50IEdpdEh1YiB0cmFuc2ZlciBzdGFsbDogYFRoZSByZWFkIG9wZXJhdGlvbiB0aW1lZCBvdXRgLCBhCnVybG9wZW4gdGltZW91dCwgb3IgYSBUTFMgaGFuZHNoYWtlIHRpbWVvdXQuIFRoZSB0YXNrIGhhZCBubyByZXRyeSwgc28Kb25lIHN0YWxsZWQgY29ubmVjdGlvbiBmYWlsZWQgdGhlIHdob2xlIGRlcGxveSBldmVuIHRob3VnaCB0aGUgcmVzb3VyY2UKd2FzIGZpbmUuCgpJbiB0aGUgMjAyNi0wNy0xNyBtaWRuaWdodCBidWlsZCB0aGUgaWRlbnRpY2FsIFVSTCBzdWNjZWVkZWQgb24gNiBvZiA3Cmhvc3RzIGF0IHRoZSBleGFjdCBtb21lbnQgb25lIGhvc3QgdGltZWQgb3V0LCBhbmQgb24gYWxsIGhvc3RzIG1pbnV0ZXMKZWFybGllciDigJQgY2xlYXIgZXZpZGVuY2UgYSByZXRyeSB3b3VsZCBoYXZlIHN1Y2NlZWRlZC4KClRoZSBub3J0aHdhdGNoIHRhc2sgaXMgdGhlIGlkZW50aWNhbCBgYXB0IGRlYjpgIGNvbnN0cnVjdDsgaXQgaGFzIG5vdApiZWVuIG9ic2VydmVkIGZhaWxpbmcsIHNvIHRoYXQgY2hhbmdlIGlzIHByZXZlbnRpdmUvY29uc2lzdGVuY3kKaGFyZGVuaW5nLgoKVGhpcyBtYXRjaGVzIHRoZSBgdW50aWxgL2ByZXRyaWVzYCBpZGlvbSBhbHJlYWR5IHVzZWQgZWxzZXdoZXJlIGluIHRoZQpyZXBvIChtYW5hZ2VyIHNzaCB3YWl0cyBpbiBgcGxheWJvb2tzL2RlcGxveS55bWxgLCBnYWxheHkgaW5zdGFsbCBpbgpgYW5zaWJsZS9tYW5hZ2VyLXBhcnQtMC55bWxgKS4KCiMjIFRlc3RpbmcKCmBhbnNpYmxlLWxpbnRgIChwcm9kdWN0aW9uIHByb2ZpbGUpIGFuZCBgeWFtbGxpbnRgIHBhc3Mgb24gYm90aCBmaWxlcy4KCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUp
      patchset: ea7a6c6439f7ce900a551530e37b8b46fa2f1256
      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/ansible-lint/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: 69b97e17a1ce1fcf55532c301085c70ab40e39c2
          name: osism/testbed
          required: false
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2931/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
