all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fece:f0c1
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 096c734f-2d4c-4a85-869d-98e17d7f92ab
        host_id: 7f2607eceb24f4583c6f9496c53c64b51afe50de5eacda4379b21c42
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fece:f0c1
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.102
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.44
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fece:f0c1
        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 hadolint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#37>'
      - '<Job hadolint explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#143>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: e34b0ab071104632b00b2e8cfc20d87f
      build_refs:
      - branch: main
        change: '2564'
        change_message: "Add the SONiC golden-test harness\n\nPart of the series tracked
          in #2562, which explains the ordering and what each PR covers. Based on
          the preceding PR in the stack, so review only the top commits here.\n\nThe
          comparison and generation logic, as plain Python with no infrastructure\nattached
          \u2014 `compare.py` (diff an export against the goldens, or rewrite them)\nand
          `generate.py` (drive `sync_sonic()` and capture ERROR-level records).\n\nReviewable
          in isolation: **33 unit tests** cover both modules and pass with no\ncompose
          file, no fixtures and no goldens in the tree. Nothing here can run the\nend-to-end
          test yet \u2014 that arrives two PRs later.\n\nThe second commit adds the
          regeneration coverage guard, which is the\nnon-obvious part. Regeneration
          is the only path by which coverage can silently\ndrop: in a normal comparison
          an emptied table changes the golden and fails the\ndiff, but inside a several-hundred-line
          regenerated JSON diff the same loss is\ninvisible. `--regenerate` therefore
          reports lost coverage and exits non-zero\nunless `--allow-coverage-loss`
          is passed.\n"
        change_url: https://github.com/osism/python-osism/pull/2564
        commit_id: 6e2542a8419f9f466d9d9010085b83c592516a7c
        patchset: 6e2542a8419f9f466d9d9010085b83c592516a7c
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      buildset: 7a180dcdef264f14bfc60b7064e4183c
      buildset_refs:
      - branch: main
        change: '2564'
        change_message: "Add the SONiC golden-test harness\n\nPart of the series tracked
          in #2562, which explains the ordering and what each PR covers. Based on
          the preceding PR in the stack, so review only the top commits here.\n\nThe
          comparison and generation logic, as plain Python with no infrastructure\nattached
          \u2014 `compare.py` (diff an export against the goldens, or rewrite them)\nand
          `generate.py` (drive `sync_sonic()` and capture ERROR-level records).\n\nReviewable
          in isolation: **33 unit tests** cover both modules and pass with no\ncompose
          file, no fixtures and no goldens in the tree. Nothing here can run the\nend-to-end
          test yet \u2014 that arrives two PRs later.\n\nThe second commit adds the
          regeneration coverage guard, which is the\nnon-obvious part. Regeneration
          is the only path by which coverage can silently\ndrop: in a normal comparison
          an emptied table changes the golden and fails the\ndiff, but inside a several-hundred-line
          regenerated JSON diff the same loss is\ninvisible. `--regenerate` therefore
          reports lost coverage and exits non-zero\nunless `--allow-coverage-loss`
          is passed.\n"
        change_url: https://github.com/osism/python-osism/pull/2564
        commit_id: 6e2542a8419f9f466d9d9010085b83c592516a7c
        patchset: 6e2542a8419f9f466d9d9010085b83c592516a7c
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      change: '2564'
      change_message: "Add the SONiC golden-test harness\n\nPart of the series tracked
        in #2562, which explains the ordering and what each PR covers. Based on the
        preceding PR in the stack, so review only the top commits here.\n\nThe comparison
        and generation logic, as plain Python with no infrastructure\nattached \u2014
        `compare.py` (diff an export against the goldens, or rewrite them)\nand `generate.py`
        (drive `sync_sonic()` and capture ERROR-level records).\n\nReviewable in isolation:
        **33 unit tests** cover both modules and pass with no\ncompose file, no fixtures
        and no goldens in the tree. Nothing here can run the\nend-to-end test yet
        \u2014 that arrives two PRs later.\n\nThe second commit adds the regeneration
        coverage guard, which is the\nnon-obvious part. Regeneration is the only path
        by which coverage can silently\ndrop: in a normal comparison an emptied table
        changes the golden and fails the\ndiff, but inside a several-hundred-line
        regenerated JSON diff the same loss is\ninvisible. `--regenerate` therefore
        reports lost coverage and exits non-zero\nunless `--allow-coverage-loss` is
        passed.\n"
      change_url: https://github.com/osism/python-osism/pull/2564
      child_jobs: []
      commit_id: 6e2542a8419f9f466d9d9010085b83c592516a7c
      event_id: 08841af0-9107-11f1-8e45-edc03dbd7804
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/e34b0ab071104632b00b2e8cfc20d87f/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/e34b0ab071104632b00b2e8cfc20d87f/work/logs
        result_data_file: /var/lib/zuul/builds/e34b0ab071104632b00b2e8cfc20d87f/work/results.json
        src_root: /var/lib/zuul/builds/e34b0ab071104632b00b2e8cfc20d87f/work/src
        work_root: /var/lib/zuul/builds/e34b0ab071104632b00b2e8cfc20d87f/work
      include_vars: []
      items:
      - branch: main
        change: '2564'
        change_message: "Add the SONiC golden-test harness\n\nPart of the series tracked
          in #2562, which explains the ordering and what each PR covers. Based on
          the preceding PR in the stack, so review only the top commits here.\n\nThe
          comparison and generation logic, as plain Python with no infrastructure\nattached
          \u2014 `compare.py` (diff an export against the goldens, or rewrite them)\nand
          `generate.py` (drive `sync_sonic()` and capture ERROR-level records).\n\nReviewable
          in isolation: **33 unit tests** cover both modules and pass with no\ncompose
          file, no fixtures and no goldens in the tree. Nothing here can run the\nend-to-end
          test yet \u2014 that arrives two PRs later.\n\nThe second commit adds the
          regeneration coverage guard, which is the\nnon-obvious part. Regeneration
          is the only path by which coverage can silently\ndrop: in a normal comparison
          an emptied table changes the golden and fails the\ndiff, but inside a several-hundred-line
          regenerated JSON diff the same loss is\ninvisible. `--regenerate` therefore
          reports lost coverage and exits non-zero\nunless `--allow-coverage-loss`
          is passed.\n"
        change_url: https://github.com/osism/python-osism/pull/2564
        commit_id: 6e2542a8419f9f466d9d9010085b83c592516a7c
        patchset: 6e2542a8419f9f466d9d9010085b83c592516a7c
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
        topic: null
      job: hadolint
      jobtags: []
      max_attempts: 3
      message: QWRkIHRoZSBTT05pQyBnb2xkZW4tdGVzdCBoYXJuZXNzCgpQYXJ0IG9mIHRoZSBzZXJpZXMgdHJhY2tlZCBpbiAjMjU2Miwgd2hpY2ggZXhwbGFpbnMgdGhlIG9yZGVyaW5nIGFuZCB3aGF0IGVhY2ggUFIgY292ZXJzLiBCYXNlZCBvbiB0aGUgcHJlY2VkaW5nIFBSIGluIHRoZSBzdGFjaywgc28gcmV2aWV3IG9ubHkgdGhlIHRvcCBjb21taXRzIGhlcmUuCgpUaGUgY29tcGFyaXNvbiBhbmQgZ2VuZXJhdGlvbiBsb2dpYywgYXMgcGxhaW4gUHl0aG9uIHdpdGggbm8gaW5mcmFzdHJ1Y3R1cmUKYXR0YWNoZWQg4oCUIGBjb21wYXJlLnB5YCAoZGlmZiBhbiBleHBvcnQgYWdhaW5zdCB0aGUgZ29sZGVucywgb3IgcmV3cml0ZSB0aGVtKQphbmQgYGdlbmVyYXRlLnB5YCAoZHJpdmUgYHN5bmNfc29uaWMoKWAgYW5kIGNhcHR1cmUgRVJST1ItbGV2ZWwgcmVjb3JkcykuCgpSZXZpZXdhYmxlIGluIGlzb2xhdGlvbjogKiozMyB1bml0IHRlc3RzKiogY292ZXIgYm90aCBtb2R1bGVzIGFuZCBwYXNzIHdpdGggbm8KY29tcG9zZSBmaWxlLCBubyBmaXh0dXJlcyBhbmQgbm8gZ29sZGVucyBpbiB0aGUgdHJlZS4gTm90aGluZyBoZXJlIGNhbiBydW4gdGhlCmVuZC10by1lbmQgdGVzdCB5ZXQg4oCUIHRoYXQgYXJyaXZlcyB0d28gUFJzIGxhdGVyLgoKVGhlIHNlY29uZCBjb21taXQgYWRkcyB0aGUgcmVnZW5lcmF0aW9uIGNvdmVyYWdlIGd1YXJkLCB3aGljaCBpcyB0aGUKbm9uLW9idmlvdXMgcGFydC4gUmVnZW5lcmF0aW9uIGlzIHRoZSBvbmx5IHBhdGggYnkgd2hpY2ggY292ZXJhZ2UgY2FuIHNpbGVudGx5CmRyb3A6IGluIGEgbm9ybWFsIGNvbXBhcmlzb24gYW4gZW1wdGllZCB0YWJsZSBjaGFuZ2VzIHRoZSBnb2xkZW4gYW5kIGZhaWxzIHRoZQpkaWZmLCBidXQgaW5zaWRlIGEgc2V2ZXJhbC1odW5kcmVkLWxpbmUgcmVnZW5lcmF0ZWQgSlNPTiBkaWZmIHRoZSBzYW1lIGxvc3MgaXMKaW52aXNpYmxlLiBgLS1yZWdlbmVyYXRlYCB0aGVyZWZvcmUgcmVwb3J0cyBsb3N0IGNvdmVyYWdlIGFuZCBleGl0cyBub24temVybwp1bmxlc3MgYC0tYWxsb3ctY292ZXJhZ2UtbG9zc2AgaXMgcGFzc2VkLgo=
      patchset: 6e2542a8419f9f466d9d9010085b83c592516a7c
      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: dcb06ea8a3ad422cc9d98b376216617b2daa6a02
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: dcb06ea8a3ad422cc9d98b376216617b2daa6a02
          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/hadolint/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/python-osism
        name: osism/python-osism
        short_name: python-osism
        src_dir: src/github.com/osism/python-osism
      projects:
        github.com/osism/python-osism:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          checkout: main
          checkout_description: zuul branch
          commit: 9714e3d68f8f106a7fcde597ebc9abecf535ef35
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/2564/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
