Skip to content

fix(deps): bump OTel SDK with knative.dev/pkg semconv alignment - #10825

Open
infernus01 wants to merge 1 commit into
tektoncd:mainfrom
infernus01:bump-knative
Open

infernus01 wants to merge 1 commit into
tektoncd:mainfrom
infernus01:bump-knative

Conversation

@infernus01

@infernus01 infernus01 commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Changes

Bumps knative.dev/pkg to v0.0.0-20260918182429-5dc1978f0042to address a startup panic caused by conflicting OpenTelemetry schema URLs.

The dependabot next dependency combination uses OTel components with different schema versions: https://opentelemetry.io/schemas/1.43.0 and https://opentelemetry.io/schemas/1.41.0. At startup, knative.dev/pkg/observability/resource.Default() calls resource.Merge(), which detects the conflicting schema URLs and panics (exit code 2, CrashLoopBackOff).

panic: conflicting Schema URL: https://opentelemetry.io/schemas/1.43.0 and https://opentelemetry.io/schemas/1.41.0

goroutine 1 [running]:
knative.dev/pkg/observability/resource.Default({0x1fe01d1, 0x18})
        knative.dev/pkg@v0.0.0-20260622140654-39ebae2ee2dc/observability/resource/default.go:66 +0x3fc
knative.dev/pkg/injection/sharedmain.SetupObservabilityOrDie({0x2129160, 0xc3b6bf9c810}, {0x1fe01d1, 0x18}, 0xc3b6bba00f0, 0xc3b6bdcc180)
        knative.dev/pkg@v0.0.0-20260622140654-39ebae2ee2dc/injection/sharedmain/main.go:400 +0xc0
knative.dev/pkg/injection/sharedmain.MainWithConfig({0x2129160, 0xc3b6be7f200}, {0x1fe01d1, 0x18}, 0xc3b6be79688, {0xc3b6be13ef8, 0x4, 0x4})
        knative.dev/pkg@v0.0.0-20260622140654-39ebae2ee2dc/injection/sharedmain/main.go:286 +0x5a4
main.main()
        github.com/tektoncd/pruner/cmd/controller/main.go:60 +0x2d4

Fix: Align the knative.dev/pkg dependency with the OTel SDK version used by the application so that observability resources use a consistent schema URL and the controller can start successfully.

Submitter Checklist

As the author of this PR, please check off the items in this checklist:

  • Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
  • Has Tests included if any functionality added or changed
  • pre-commit Passed
  • Follows the commit message standard
  • Meets the Tekton contributor standards (including functionality, content, code)
  • Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
  • Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
  • Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes

NONE

@tekton-robot tekton-robot added the release-note-none Denotes a PR that doesnt merit a release note. label Sep 28, 2026
@tekton-robot
tekton-robot requested review from dibyom and khrm September 28, 2026 07:57
@tekton-robot tekton-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Sep 28, 2026
@tekton-robot

Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign wlynch after the PR has been reviewed.
You can assign the PR to them by writing /assign @wlynch in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@codecov

codecov Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.74%. Comparing base (54474a9) to head (87b4168).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #10825   +/-   ##
=======================================
  Coverage   90.74%   90.74%           
=======================================
  Files         294      294           
  Lines       22304    22304           
=======================================
  Hits        20240    20240           
  Misses       2062     2062           
  Partials        2        2           
Flag Coverage Δ
unit-tests 90.74% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@infernus01 infernus01 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/kind misc

@tekton-robot tekton-robot added kind/misc Categorizes issue or PR as a miscellaneuous one. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Sep 28, 2026
Signed-off-by: Shubham Bhardwaj <shubbhar@redhat.com>
@tekton-robot tekton-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 29, 2026
Comment thread go.mod
go.opentelemetry.io/otel/sdk v1.44.0
go.opentelemetry.io/otel/sdk/metric v1.44.0
go.opentelemetry.io/otel/trace v1.44.0
go.opentelemetry.io/otel v1.45.0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OTel v1.45 changes WithEndpointURL so a pathless endpoint is used as / instead of receiving the signal-specific suffix. Knative still passes the HTTP tracing-endpoint and metrics-endpoint from config-observability directly to this option. I reproduced http://collector:4318 sending to /v1/traces at the merge base but / at this head; metrics changes analogously from /v1/metrics to /. Existing configurations can therefore keep running while silently failing to export telemetry. Could we preserve the existing default paths—preferably through a Knative fix followed by a bump here—and add regression coverage for pathless endpoints?

from Vibhav's Pi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/misc Categorizes issue or PR as a miscellaneuous one. release-note-none Denotes a PR that doesnt merit a release note. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants