Repository navigation
Conversation
No Kubernetes lane exported traces to a collector it could inspect, so regressions in gateway or compute-driver span export, trace propagation, or resource attributes went unnoticed. Add an e2e:kubernetes:tracing lane. OPENSHELL_E2E_KUBE_JAEGER=1 deploys a Jaeger collector, points gateway OTLP export at it, and port-forwards its query API. The kubernetes_tracing test creates a sandbox and fails unless Jaeger reports the driver's provision span, the gateway's driver client span in the same trace, and the gateway's CreateSandbox request span, each without error status and with a service version and Kubernetes resource attributes. The lane sets the new OPENSHELL_E2E_KUBE_CONFORMANCE=0 so it does not repeat the conformance suites other Kubernetes lanes already run. Closes #3767 Signed-off-by: Kris Hicks <khicks@nvidia.com>
krishicks
requested review from
a team,
derekwaynecarr,
mrunalp and
sjenning
as code owners
November 12, 2026 14:22
6 tasks done
|
🌿 Preview your docs: https://nvidia-preview-pr-5517.docs.buildwithfern.com/openshell |
|
Label |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
No Kubernetes lane exported traces to a collector it could inspect, so regressions in gateway or compute-driver span export, trace propagation, or resource attributes went unnoticed. This adds an
e2e:kubernetes:tracinglane that deploys Jaeger, points gateway OTLP export at it, and fails unless Jaeger reports the expected spans.Related Issue
Closes #3767
Changes
e2e/kubernetes/jaeger-fixture.yaml: a Jaeger 2.22.0 Deployment and Service, pulled frommirror.gcr.ioand pinned by digest.e2e/with-kube-gateway.sh:OPENSHELL_E2E_KUBE_JAEGER=1deploys the fixture, layers a values file that pointsopenshell.gateway.otlpat it, port-forwards the query API, exportsOPENSHELL_E2E_JAEGER_QUERY_URL, and removes the fixture on exit.e2e/rust/tests/kubernetes_tracing.rs: creates a sandbox and polls Jaeger's/api/v3API for three spans:kubernetes.provisionspan for that sandboxComputeDriver/CreateSandboxclient span in the same trace, showing context reached the driverOpenShell/CreateSandboxrequest spanEach span must have a non-error status, a
service.version,openshell.gateway.compute_driver=kubernetes, and a gateway name. A missing span fails after 90 seconds and lists the services Jaeger did receive.e2e/rust/e2e-kubernetes.sh:OPENSHELL_E2E_KUBE_CONFORMANCE=0skips the conformance suites. The tracing lane sets it because other Kubernetes lanes already run them.branch-e2e.yml: aKubernetes E2E (trace export)job in the core E2E gate.TESTING.md: the new task and environment variables.Testing
OPENSHELL_E2E_KUBE_CONTEXT=kind-… IMAGE_TAG=dev mise run e2e:kubernetes:tracingpassed on a local kind cluster, with conformance skipped.cargo fmt --checkandcargo clippy --locked -D warningspass for the e2e crate, both with default features and forkubernetes_tracingwith the tracing features.actionlint passes on
branch-e2e.yml.Checks appropriate to the affected code and behavior pass
Unit tests added/updated (if applicable)
E2E tests added/updated (if applicable)
Checklist