Repository navigation
test(otel): run the every-series checks on every node - #794
Open
petruanica wants to merge 1 commit into
Open
petruanica wants to merge 1 commit into
petruanica wants to merge 1 commit into
Conversation
This was referenced Oct 29, 2026
Closed
petruanica
force-pushed
the
otel-ci-every-node-label-filters
branch
from
November 5, 2026 18:09
aec71e8 to
e073d82
Compare
This was referenced Nov 9, 2026
petruanica
force-pushed
the
otel-ci-every-node-label-filters
branch
from
November 9, 2026 18:28
e073d82 to
b8ad6e0
Compare
petruanica
force-pushed
the
otel-ci-every-node-label-filters
branch
from
November 9, 2026 19:07
b8ad6e0 to
e9262e6
Compare
9 of 10 tasks
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.
Description of the issue
Several gaps remain in which series the OTel suites test.
host.typematcher. The matcher names the instance types that the suite expects, for examplet3.mediumin the standard suite. So the tests that must hold on every series never see GPU, Neuron or Karpenter nodes.host.typematcher, so they can look absent.Description of changes
OTEL_HOST_TYPES(util/otelmetrics/host_types.go) is a comma-separated list that replaces a suite's host types. Ten suites use it, and eachTestMainprints the host types and the variable.source_registry.go,query_cache.go).allNodesCache, a cache with no host types. The tests that must hold on every series read through it. The presence tests keep the host-type pin.TallySchemareads throughGet, so the schema rows reuse the cached reads. It fails for a cache that pins host types.WithSharedConcurrencylets two caches share one concurrency limit, soallNodesCachedoes not double the parallel load on the endpoint.util/otelmetrics/gpu_roles.go). The idle node has nok8s.pod.name. The busy node runsmulti-gpu-burn. A multi-GPU node has annvidia.com/gpuallocatable above 1 in kube-state-metrics.TestDCGMGPUCountMatchesAllocatablecompares the DCGM GPU count of every GPU node with its allocatable. With anOTEL_HOST_TYPESoverride and no multi-GPU node, the multi-GPU tests skip. With the default host types, they fail.This is PR 3 of 4. It builds on PR 2.
License
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Tests
The unit tests in
util/otelmetricsrun without a cluster and pass with-race. They cover these areas:TallySchemathroughGet, which fails for a cache that pins host types and shares its read with the other tests that read every seriesgo vet -tags integrationpasses onutil/otelmetricsand on every package undertest/otel.gofmtreports nothing, andmake compilepasses. These commands also pass on PR 1 and PR 2 alone.The standard and gpu suites ran against an EKS test cluster at the top of this stack (PR 4), with the chart from aws-observability/helm-charts main. The run set
otelContainerInsights.enableDRACorrelation=false.TestKarpenterGroupingLabelsRetainedfails because Karpenter 1.0.11 sets noinstance-tenancylabel.TestKSM_PodBucket_JobPodNameandTestKSM_WorkloadBucket_Job_HasNamefail because the cluster has noksm-test-job.OTEL_HOST_TYPES=g5.xlarge, on two single-GPU nodes: 25 tests pass. The 9 multi-GPU tests skip, because no node has more than one GPU.PR Checklist
makepasses locally (build, unit tests, lint):make compileandmake simple-lint, the targets that the build-check workflow runs, pass on this commit, and so do theutil/otelmetricsunit tests with-race.