`framework.WithLabel("[FeatureGate:ResourceHealthStatus:Disabled]")` has no
effect unless a job explicitly uses it in a --label-filter, which is not what
"generic" alpha/beta jobs are meant to do. The test therefore ran in the new
dra-alpha-beta job and failed because it expected the feature to be off.
In addition, the square brackets got added twice (once via the string
parameter, once by `framework.WithLabel`).
There is no generic way to filter out tests in advance which depend on feature
gates to be turned off. In e2e_node tests the active feature gates can be
checked at runtime, so this is what the test now does.
keep only the test stub, as all the code was already
removed by PR in the series because superseded by
code in cpumanager_test.go,
which will be moved in cpu_manager_test.go at the
end of this series.
Split to make the review easier.
Signed-off-by: Francesco Romani <fromani@redhat.com>
superseded by code in cpumanager_test.go,
which will be moved in cpu_manager_test.go at the
end of this series.
Split to make the review easier.
Signed-off-by: Francesco Romani <fromani@redhat.com>
superseded by code in cpumanager_test.go,
which will be moved in cpu_manager_test.go at the
end of this series.
Split to make the review easier.
Signed-off-by: Francesco Romani <fromani@redhat.com>
superseded by code in cpumanager_test.go,
which will be moved in cpu_manager_test.go at the
end of this series.
Split to make the review easier.
Signed-off-by: Francesco Romani <fromani@redhat.com>
superseded by code in cpumanager_test.go,
which will be moved in cpu_manager_test.go at the
end of this series.
Split to make the review easier.
Signed-off-by: Francesco Romani <fromani@redhat.com>
superseded by code in cpumanager_test.go,
which will be moved in cpu_manager_test.go at the
end of this series.
Split to make the review easier.
Signed-off-by: Francesco Romani <fromani@redhat.com>
The test was panicking when trying to assign to a nil map in
initialConfig.FeatureGates["KubeletPodResourcesListUseActivePods"] = false.
Added nil check and map initialization to match the pattern used
elsewhere in the same file.
Fixes panic: internal/runtime/maps/runtime_faststr_swiss.go:265
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The topology manager tests wants to run a subset of cpumanager tests
while checking numa alignment. We should eventually rewrite
these bits to reuse the new and cleaner rewritten cpu manager tests.
For the time being, we move the shared bits in the topology manager
tests, so we are now enabled to remove the remaining obsolete
cpu manager tests with the rewritten ones.
Trivial code movement, no intended behavioral changes.
Signed-off-by: Francesco Romani <fromani@redhat.com>
We're nearing the planned replacement of old cpumanager
tests with new ones, so move the remaining utilities
which we will keep using with the new codebase.
Trivial code movement, no intended behavioral changes.
Signed-off-by: Francesco Romani <fromani@redhat.com>
Since is now all about criprozy, rename utils_linux.go
to better express the purpose.
Trivial code movement, no intended behavioral changes.
Signed-off-by: Francesco Romani <fromani@redhat.com>
Push more utilities from cpu manager tests to util.go.
This time there is not a clear (or big enough)
them for this set of shared code blocks.
Trivial code movement, no intended behavioral changes.
Signed-off-by: Francesco Romani <fromani@redhat.com>
A lot ofe2e_node tests need to re-learn machine HW
properties to check the correctness of the behavior.
Over time, we start using these utilities among different
test groups (e.g. memory manager tests use cpu manager tests
utilites). So let's de-entangle this state by moving
the shared utilities in a separate util file.
Trivial code movement, no intended behavioral changes.
Signed-off-by: Francesco Romani <fromani@redhat.com>
Is not ideal to heve utilities source file or packages,
because these tend to be unfocused and attract unstructured
code, easily leading to a kitchesink approach.
So, let's start cleaning up by splitting the utilities
we have to deal with kubelet config in its own source file,
lacking bandwidth now for deeper refactorings.
Trivial code movement, no intended behavioral changes.
Signed-off-by: Francesco Romani <fromani@redhat.com>
This change updates the Ginkgo label for the Device Plugin e2e tests for the ResourceHealthStatus feature.
By switching from `feature.ResourceHealthStatus` to `framework.WithFeatureGate(features.ResourceHealthStatus)`, these tests will now have the `[FeatureGate:ResourceHealthStatus]` label, making them consistent with the new DRA e2e tests for the same feature.
This standardization allows a single presubmit job in `test-infra` to correctly select and run all e2e tests for this feature, ensuring complete test coverage.
This change introduces the ability for the Kubelet to monitor and report
the health of devices allocated via Dynamic Resource Allocation (DRA).
This addresses a key part of KEP-4680 by providing visibility into
device failures, which helps users and controllers diagnose pod failures.
The implementation includes:
- A new `v1alpha1.NodeHealth` gRPC service with a `WatchResources`
stream that DRA plugins can optionally implement.
- A health information cache within the Kubelet's DRA manager to track
the last known health of each device and handle plugin disconnections.
- An asynchronous update mechanism that triggers a pod sync when a
device's health changes.
- A new `allocatedResourcesStatus` field in `v1.ContainerStatus` to
expose the device health information to users via the Pod API.
Update vendor
KEP-4680: Fix lint, boilerplate, and codegen issues
Add another e2e test, add TODO for KEP4680 & update test infra helpers
Add Feature Gate e2e test
Fixing presubmits
Fix var names, feature gating, and nits
Fix DRA Health gRPC API according to review feedback