all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:feba:f017
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 9ea0e35d-e0e8-4549-b641-fa0876066c1b
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:feba:f017
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.204
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.71
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:feba:f017
        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 python-osism-unit-tests explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/python-osism/.zuul.yaml@main#133>'
      - '<Job python-osism-unit-tests explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#138>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: d8e044aa44904512a2d1cde36a395c4d
      build_refs:
      - branch: main
        change: '2277'
        change_message: "build: add cosign 409 diagnostic message\n\n## Summary\n\nWhen
          `cosign sign` fails with HTTP 409 `createLogEntryConflict`, the raw Rekor
          error gives no indication of the cause or when it will self-resolve. This
          adds a diagnostic NOTE after the error that points to the upstream bug and
          explains that the next build will succeed.\n\n- Build still fails with the
          original non-zero exit code \u2014 no behaviour change for any other error\n-
          Upstream bug: https://github.com/sigstore/cosign/issues/4711 (cosign v3.0.6,
          unfixed)\n- Root cause: Rekor accepts the signing bundle, the OCI `.sig`
          push then fails transiently, and any retry of the full `cosign sign` command
          hits a duplicate Rekor entry permanently\n\n## Test plan\n\n- [ ] Verify
          CI passes on this branch\n- [ ] Confirm the wrapper does not affect the
          success path (no `createLogEntryConflict` \u2192 no change in output or
          exit code)\n- [ ] When the upstream bug is fixed in cosign, the wrapper
          can be removed\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/python-osism/pull/2277
        commit_id: 5c2f95437e589e5db1aa5cbdd3dea523572703b1
        patchset: 5c2f95437e589e5db1aa5cbdd3dea523572703b1
        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: 5fa8401f174c411e938f4837d0bd0ce0
      buildset_refs:
      - branch: main
        change: '2277'
        change_message: "build: add cosign 409 diagnostic message\n\n## Summary\n\nWhen
          `cosign sign` fails with HTTP 409 `createLogEntryConflict`, the raw Rekor
          error gives no indication of the cause or when it will self-resolve. This
          adds a diagnostic NOTE after the error that points to the upstream bug and
          explains that the next build will succeed.\n\n- Build still fails with the
          original non-zero exit code \u2014 no behaviour change for any other error\n-
          Upstream bug: https://github.com/sigstore/cosign/issues/4711 (cosign v3.0.6,
          unfixed)\n- Root cause: Rekor accepts the signing bundle, the OCI `.sig`
          push then fails transiently, and any retry of the full `cosign sign` command
          hits a duplicate Rekor entry permanently\n\n## Test plan\n\n- [ ] Verify
          CI passes on this branch\n- [ ] Confirm the wrapper does not affect the
          success path (no `createLogEntryConflict` \u2192 no change in output or
          exit code)\n- [ ] When the upstream bug is fixed in cosign, the wrapper
          can be removed\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/python-osism/pull/2277
        commit_id: 5c2f95437e589e5db1aa5cbdd3dea523572703b1
        patchset: 5c2f95437e589e5db1aa5cbdd3dea523572703b1
        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: '2277'
      change_message: "build: add cosign 409 diagnostic message\n\n## Summary\n\nWhen
        `cosign sign` fails with HTTP 409 `createLogEntryConflict`, the raw Rekor
        error gives no indication of the cause or when it will self-resolve. This
        adds a diagnostic NOTE after the error that points to the upstream bug and
        explains that the next build will succeed.\n\n- Build still fails with the
        original non-zero exit code \u2014 no behaviour change for any other error\n-
        Upstream bug: https://github.com/sigstore/cosign/issues/4711 (cosign v3.0.6,
        unfixed)\n- Root cause: Rekor accepts the signing bundle, the OCI `.sig` push
        then fails transiently, and any retry of the full `cosign sign` command hits
        a duplicate Rekor entry permanently\n\n## Test plan\n\n- [ ] Verify CI passes
        on this branch\n- [ ] Confirm the wrapper does not affect the success path
        (no `createLogEntryConflict` \u2192 no change in output or exit code)\n- [
        ] When the upstream bug is fixed in cosign, the wrapper can be removed\n\n\U0001F916
        Generated with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/python-osism/pull/2277
      child_jobs: []
      commit_id: 5c2f95437e589e5db1aa5cbdd3dea523572703b1
      event_id: e41f6320-52b0-11f1-87be-c400eabc7784
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/d8e044aa44904512a2d1cde36a395c4d/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/d8e044aa44904512a2d1cde36a395c4d/work/logs
        result_data_file: /var/lib/zuul/builds/d8e044aa44904512a2d1cde36a395c4d/work/results.json
        src_root: /var/lib/zuul/builds/d8e044aa44904512a2d1cde36a395c4d/work/src
        work_root: /var/lib/zuul/builds/d8e044aa44904512a2d1cde36a395c4d/work
      include_vars: []
      items:
      - branch: main
        change: '2277'
        change_message: "build: add cosign 409 diagnostic message\n\n## Summary\n\nWhen
          `cosign sign` fails with HTTP 409 `createLogEntryConflict`, the raw Rekor
          error gives no indication of the cause or when it will self-resolve. This
          adds a diagnostic NOTE after the error that points to the upstream bug and
          explains that the next build will succeed.\n\n- Build still fails with the
          original non-zero exit code \u2014 no behaviour change for any other error\n-
          Upstream bug: https://github.com/sigstore/cosign/issues/4711 (cosign v3.0.6,
          unfixed)\n- Root cause: Rekor accepts the signing bundle, the OCI `.sig`
          push then fails transiently, and any retry of the full `cosign sign` command
          hits a duplicate Rekor entry permanently\n\n## Test plan\n\n- [ ] Verify
          CI passes on this branch\n- [ ] Confirm the wrapper does not affect the
          success path (no `createLogEntryConflict` \u2192 no change in output or
          exit code)\n- [ ] When the upstream bug is fixed in cosign, the wrapper
          can be removed\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/python-osism/pull/2277
        commit_id: 5c2f95437e589e5db1aa5cbdd3dea523572703b1
        patchset: 5c2f95437e589e5db1aa5cbdd3dea523572703b1
        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: python-osism-unit-tests
      jobtags: []
      max_attempts: 3
      message: YnVpbGQ6IGFkZCBjb3NpZ24gNDA5IGRpYWdub3N0aWMgbWVzc2FnZQoKIyMgU3VtbWFyeQoKV2hlbiBgY29zaWduIHNpZ25gIGZhaWxzIHdpdGggSFRUUCA0MDkgYGNyZWF0ZUxvZ0VudHJ5Q29uZmxpY3RgLCB0aGUgcmF3IFJla29yIGVycm9yIGdpdmVzIG5vIGluZGljYXRpb24gb2YgdGhlIGNhdXNlIG9yIHdoZW4gaXQgd2lsbCBzZWxmLXJlc29sdmUuIFRoaXMgYWRkcyBhIGRpYWdub3N0aWMgTk9URSBhZnRlciB0aGUgZXJyb3IgdGhhdCBwb2ludHMgdG8gdGhlIHVwc3RyZWFtIGJ1ZyBhbmQgZXhwbGFpbnMgdGhhdCB0aGUgbmV4dCBidWlsZCB3aWxsIHN1Y2NlZWQuCgotIEJ1aWxkIHN0aWxsIGZhaWxzIHdpdGggdGhlIG9yaWdpbmFsIG5vbi16ZXJvIGV4aXQgY29kZSDigJQgbm8gYmVoYXZpb3VyIGNoYW5nZSBmb3IgYW55IG90aGVyIGVycm9yCi0gVXBzdHJlYW0gYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2lnc3RvcmUvY29zaWduL2lzc3Vlcy80NzExIChjb3NpZ24gdjMuMC42LCB1bmZpeGVkKQotIFJvb3QgY2F1c2U6IFJla29yIGFjY2VwdHMgdGhlIHNpZ25pbmcgYnVuZGxlLCB0aGUgT0NJIGAuc2lnYCBwdXNoIHRoZW4gZmFpbHMgdHJhbnNpZW50bHksIGFuZCBhbnkgcmV0cnkgb2YgdGhlIGZ1bGwgYGNvc2lnbiBzaWduYCBjb21tYW5kIGhpdHMgYSBkdXBsaWNhdGUgUmVrb3IgZW50cnkgcGVybWFuZW50bHkKCiMjIFRlc3QgcGxhbgoKLSBbIF0gVmVyaWZ5IENJIHBhc3NlcyBvbiB0aGlzIGJyYW5jaAotIFsgXSBDb25maXJtIHRoZSB3cmFwcGVyIGRvZXMgbm90IGFmZmVjdCB0aGUgc3VjY2VzcyBwYXRoIChubyBgY3JlYXRlTG9nRW50cnlDb25mbGljdGAg4oaSIG5vIGNoYW5nZSBpbiBvdXRwdXQgb3IgZXhpdCBjb2RlKQotIFsgXSBXaGVuIHRoZSB1cHN0cmVhbSBidWcgaXMgZml4ZWQgaW4gY29zaWduLCB0aGUgd3JhcHBlciBjYW4gYmUgcmVtb3ZlZAoK8J+kliBHZW5lcmF0ZWQgd2l0aCBbQ2xhdWRlIENvZGVdKGh0dHBzOi8vY2xhdWRlLmNvbS9jbGF1ZGUtY29kZSk=
      patchset: 5c2f95437e589e5db1aa5cbdd3dea523572703b1
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 58f24f5b479e15eb2d520850d27e3b1b6fc66aa6
          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/python-osism:
            canonical_name: github.com/osism/python-osism
            checkout: main
            commit: 30058065a73bb8a7c420144d4d4ef009a78317a7
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 58f24f5b479e15eb2d520850d27e3b1b6fc66aa6
          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/python-osism/playbooks/test-unit.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: false
      post_timeout: null
      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: 30058065a73bb8a7c420144d4d4ef009a78317a7
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/2277/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
