all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe16:933f
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: f3b23965-60c9-407b-a78e-7606336a8b14
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe16:933f
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.215
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.236
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe16:933f
        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#324>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: d4d43c7171e543cdaa8b5eaad13cf938
      build_refs:
      - branch: main
        change: '2887'
        change_message: "deploy: replace fixed delays with event-driven waits for
          SSH auth and docker\n\nBootstrap used two fixed 60-second delays as timing
          guards: one after detecting port 22 open, and one after the manager reboot.
          Fixed sleeps are neither reliable nor efficient \u2014 they can still be
          beaten by a slow VM and always add latency to a fast one.\n\nThis replaces
          both delays with active polls:\n\n- **SSH auth** (`wait for manager ssh
          auth`): polls `ssh -o BatchMode=yes \u2026 true` with the Terraform key
          and image user until it succeeds. Also adds retry to `ssh-keyscan` to handle
          early sshd startup. The race this addresses was observed twice in testing
          against an OpenStack deployment (once at the keyscan step, once at the first
          Ansible connection), confirming the fixed delay was not sufficient protection.\n-
          **Docker** (`wait for docker after manager reboot`): polls `docker info`
          over SSH as the `dragon` user after the manager reboot.\n\nThe second guard
          in particular may be incomplete \u2014 the original delay could have been
          covering more than docker readiness, but the old code gives no indication
          of what else it was waiting for. A probabilistic race cannot be proven correct
          by any finite number of successful runs, but these guards target concrete,
          observable conditions rather than guessing at timing. Local testing confirms
          both conditions resolve promptly with no failures observed."
        change_url: https://github.com/osism/testbed/pull/2887
        commit_id: 6425ac4da04308e83fcd1028f6ae9b238b9d1c90
        patchset: 6425ac4da04308e83fcd1028f6ae9b238b9d1c90
        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: 99c61b74b11944ff93e081ae7042efc2
      buildset_refs:
      - branch: main
        change: '2887'
        change_message: "deploy: replace fixed delays with event-driven waits for
          SSH auth and docker\n\nBootstrap used two fixed 60-second delays as timing
          guards: one after detecting port 22 open, and one after the manager reboot.
          Fixed sleeps are neither reliable nor efficient \u2014 they can still be
          beaten by a slow VM and always add latency to a fast one.\n\nThis replaces
          both delays with active polls:\n\n- **SSH auth** (`wait for manager ssh
          auth`): polls `ssh -o BatchMode=yes \u2026 true` with the Terraform key
          and image user until it succeeds. Also adds retry to `ssh-keyscan` to handle
          early sshd startup. The race this addresses was observed twice in testing
          against an OpenStack deployment (once at the keyscan step, once at the first
          Ansible connection), confirming the fixed delay was not sufficient protection.\n-
          **Docker** (`wait for docker after manager reboot`): polls `docker info`
          over SSH as the `dragon` user after the manager reboot.\n\nThe second guard
          in particular may be incomplete \u2014 the original delay could have been
          covering more than docker readiness, but the old code gives no indication
          of what else it was waiting for. A probabilistic race cannot be proven correct
          by any finite number of successful runs, but these guards target concrete,
          observable conditions rather than guessing at timing. Local testing confirms
          both conditions resolve promptly with no failures observed."
        change_url: https://github.com/osism/testbed/pull/2887
        commit_id: 6425ac4da04308e83fcd1028f6ae9b238b9d1c90
        patchset: 6425ac4da04308e83fcd1028f6ae9b238b9d1c90
        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: '2887'
      change_message: "deploy: replace fixed delays with event-driven waits for SSH
        auth and docker\n\nBootstrap used two fixed 60-second delays as timing guards:
        one after detecting port 22 open, and one after the manager reboot. Fixed
        sleeps are neither reliable nor efficient \u2014 they can still be beaten
        by a slow VM and always add latency to a fast one.\n\nThis replaces both delays
        with active polls:\n\n- **SSH auth** (`wait for manager ssh auth`): polls
        `ssh -o BatchMode=yes \u2026 true` with the Terraform key and image user until
        it succeeds. Also adds retry to `ssh-keyscan` to handle early sshd startup.
        The race this addresses was observed twice in testing against an OpenStack
        deployment (once at the keyscan step, once at the first Ansible connection),
        confirming the fixed delay was not sufficient protection.\n- **Docker** (`wait
        for docker after manager reboot`): polls `docker info` over SSH as the `dragon`
        user after the manager reboot.\n\nThe second guard in particular may be incomplete
        \u2014 the original delay could have been covering more than docker readiness,
        but the old code gives no indication of what else it was waiting for. A probabilistic
        race cannot be proven correct by any finite number of successful runs, but
        these guards target concrete, observable conditions rather than guessing at
        timing. Local testing confirms both conditions resolve promptly with no failures
        observed."
      change_url: https://github.com/osism/testbed/pull/2887
      child_jobs: []
      commit_id: 6425ac4da04308e83fcd1028f6ae9b238b9d1c90
      event_id: df43d6e0-495c-11f1-8038-84cd991b27f9
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/d4d43c7171e543cdaa8b5eaad13cf938/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/d4d43c7171e543cdaa8b5eaad13cf938/work/logs
        result_data_file: /var/lib/zuul/builds/d4d43c7171e543cdaa8b5eaad13cf938/work/results.json
        src_root: /var/lib/zuul/builds/d4d43c7171e543cdaa8b5eaad13cf938/work/src
        work_root: /var/lib/zuul/builds/d4d43c7171e543cdaa8b5eaad13cf938/work
      include_vars: []
      items:
      - branch: main
        change: '2887'
        change_message: "deploy: replace fixed delays with event-driven waits for
          SSH auth and docker\n\nBootstrap used two fixed 60-second delays as timing
          guards: one after detecting port 22 open, and one after the manager reboot.
          Fixed sleeps are neither reliable nor efficient \u2014 they can still be
          beaten by a slow VM and always add latency to a fast one.\n\nThis replaces
          both delays with active polls:\n\n- **SSH auth** (`wait for manager ssh
          auth`): polls `ssh -o BatchMode=yes \u2026 true` with the Terraform key
          and image user until it succeeds. Also adds retry to `ssh-keyscan` to handle
          early sshd startup. The race this addresses was observed twice in testing
          against an OpenStack deployment (once at the keyscan step, once at the first
          Ansible connection), confirming the fixed delay was not sufficient protection.\n-
          **Docker** (`wait for docker after manager reboot`): polls `docker info`
          over SSH as the `dragon` user after the manager reboot.\n\nThe second guard
          in particular may be incomplete \u2014 the original delay could have been
          covering more than docker readiness, but the old code gives no indication
          of what else it was waiting for. A probabilistic race cannot be proven correct
          by any finite number of successful runs, but these guards target concrete,
          observable conditions rather than guessing at timing. Local testing confirms
          both conditions resolve promptly with no failures observed."
        change_url: https://github.com/osism/testbed/pull/2887
        commit_id: 6425ac4da04308e83fcd1028f6ae9b238b9d1c90
        patchset: 6425ac4da04308e83fcd1028f6ae9b238b9d1c90
        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: ZGVwbG95OiByZXBsYWNlIGZpeGVkIGRlbGF5cyB3aXRoIGV2ZW50LWRyaXZlbiB3YWl0cyBmb3IgU1NIIGF1dGggYW5kIGRvY2tlcgoKQm9vdHN0cmFwIHVzZWQgdHdvIGZpeGVkIDYwLXNlY29uZCBkZWxheXMgYXMgdGltaW5nIGd1YXJkczogb25lIGFmdGVyIGRldGVjdGluZyBwb3J0IDIyIG9wZW4sIGFuZCBvbmUgYWZ0ZXIgdGhlIG1hbmFnZXIgcmVib290LiBGaXhlZCBzbGVlcHMgYXJlIG5laXRoZXIgcmVsaWFibGUgbm9yIGVmZmljaWVudCDigJQgdGhleSBjYW4gc3RpbGwgYmUgYmVhdGVuIGJ5IGEgc2xvdyBWTSBhbmQgYWx3YXlzIGFkZCBsYXRlbmN5IHRvIGEgZmFzdCBvbmUuCgpUaGlzIHJlcGxhY2VzIGJvdGggZGVsYXlzIHdpdGggYWN0aXZlIHBvbGxzOgoKLSAqKlNTSCBhdXRoKiogKGB3YWl0IGZvciBtYW5hZ2VyIHNzaCBhdXRoYCk6IHBvbGxzIGBzc2ggLW8gQmF0Y2hNb2RlPXllcyDigKYgdHJ1ZWAgd2l0aCB0aGUgVGVycmFmb3JtIGtleSBhbmQgaW1hZ2UgdXNlciB1bnRpbCBpdCBzdWNjZWVkcy4gQWxzbyBhZGRzIHJldHJ5IHRvIGBzc2gta2V5c2NhbmAgdG8gaGFuZGxlIGVhcmx5IHNzaGQgc3RhcnR1cC4gVGhlIHJhY2UgdGhpcyBhZGRyZXNzZXMgd2FzIG9ic2VydmVkIHR3aWNlIGluIHRlc3RpbmcgYWdhaW5zdCBhbiBPcGVuU3RhY2sgZGVwbG95bWVudCAob25jZSBhdCB0aGUga2V5c2NhbiBzdGVwLCBvbmNlIGF0IHRoZSBmaXJzdCBBbnNpYmxlIGNvbm5lY3Rpb24pLCBjb25maXJtaW5nIHRoZSBmaXhlZCBkZWxheSB3YXMgbm90IHN1ZmZpY2llbnQgcHJvdGVjdGlvbi4KLSAqKkRvY2tlcioqIChgd2FpdCBmb3IgZG9ja2VyIGFmdGVyIG1hbmFnZXIgcmVib290YCk6IHBvbGxzIGBkb2NrZXIgaW5mb2Agb3ZlciBTU0ggYXMgdGhlIGBkcmFnb25gIHVzZXIgYWZ0ZXIgdGhlIG1hbmFnZXIgcmVib290LgoKVGhlIHNlY29uZCBndWFyZCBpbiBwYXJ0aWN1bGFyIG1heSBiZSBpbmNvbXBsZXRlIOKAlCB0aGUgb3JpZ2luYWwgZGVsYXkgY291bGQgaGF2ZSBiZWVuIGNvdmVyaW5nIG1vcmUgdGhhbiBkb2NrZXIgcmVhZGluZXNzLCBidXQgdGhlIG9sZCBjb2RlIGdpdmVzIG5vIGluZGljYXRpb24gb2Ygd2hhdCBlbHNlIGl0IHdhcyB3YWl0aW5nIGZvci4gQSBwcm9iYWJpbGlzdGljIHJhY2UgY2Fubm90IGJlIHByb3ZlbiBjb3JyZWN0IGJ5IGFueSBmaW5pdGUgbnVtYmVyIG9mIHN1Y2Nlc3NmdWwgcnVucywgYnV0IHRoZXNlIGd1YXJkcyB0YXJnZXQgY29uY3JldGUsIG9ic2VydmFibGUgY29uZGl0aW9ucyByYXRoZXIgdGhhbiBndWVzc2luZyBhdCB0aW1pbmcuIExvY2FsIHRlc3RpbmcgY29uZmlybXMgYm90aCBjb25kaXRpb25zIHJlc29sdmUgcHJvbXB0bHkgd2l0aCBubyBmYWlsdXJlcyBvYnNlcnZlZC4=
      patchset: 6425ac4da04308e83fcd1028f6ae9b238b9d1c90
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: eccebec50be4a8993ddb027ca6772245e2c7b996
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 257da0b79211e162f2dab810e23b4d503052443b
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: eccebec50be4a8993ddb027ca6772245e2c7b996
          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/ansible-lint/run.yaml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/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
      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: cfae6fbe4faa13f5e4f82ef14e4db075b6bb5014
          name: osism/testbed
          required: false
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2887/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
