Commit Graph

14 Commits

Author SHA1 Message Date
Ed Bartosh
ee0340a828 e2e_node: add tests for 2 Kubelet plugins 2024-06-07 22:53:35 +03:00
Ed Bartosh
ce6faef8d8 e2e_node: change DRA test APIs to work with multiple plugins 2024-06-07 22:53:31 +03:00
Ed Bartosh
118158d8df e2e_node: DRA: test plugin failures 2024-06-07 22:51:53 +03:00
Ed Bartosh
ffc407b4dd e2e_node: DRA: reimplement call blocking 2024-06-07 22:47:20 +03:00
Ed Bartosh
d6c78f853a e2e_node: add deferPodDeletion parameter 2024-05-25 01:02:31 +03:00
Ed Bartosh
f609aa8310 e2e: test-driver: add new matchers 2024-05-25 01:02:25 +03:00
Patrick Ohly
d59676a545 dra kubelet: publish NodeResourceSlices
The information is received from the DRA driver plugin through a new gRPC
streaming interface. This is backwards compatible with old DRA driver kubelet
plugins, their gRPC server will return "not implemented" and that can be
handled by kubelet. Therefore no API break is needed.

However, DRA drivers need to be updated because the Go API changed. They can
return
    status.New(codes.Unimplemented, "no node resource support").Err()
if they don't support the new ListAndWatchResources method and
structured parameters.

The controller in kubelet then synchronizes this information from the driver
with NodeResourceSlice objects, creating, updating and deleting them as needed.
2024-03-07 22:22:13 +01:00
Patrick Ohly
f2cfbf44b1 e2e: use framework labels
This changes the text registration so that tags for which the framework has a
dedicated API (features, feature gates, slow, serial, etc.) those APIs are
used.

Arbitrary, custom tags are still left in place for now.
2023-11-01 15:17:34 +01:00
Patrick Ohly
d743c50bb9 kubelet: support batched prepare/unprepare in v1alpha3 DRA plugin API
Combining all prepare/unprepare operations for a pod enables plugins to
optimize the execution. Plugins can continue to use the v1beta2 API for now,
but should switch. The new API is designed so that plugins which want to work
on each claim one-by-one can do so and then report errors for each claim
separately, i.e. partial success is supported.
2023-07-12 14:50:30 +02:00
Stanislav Laznicka
7f532891c9 e2e tests: set all PSa labels instead of just enforcing 2023-06-21 15:05:13 +02:00
Ed Bartosh
a1e0aa0e50 DRA Node E2E: add NodeAlphaFeature to fix CI
Added NodeAlphaFeature:DynamicResourceAllocation to the Node DRA test
to fix failing containerd serial jobs. Those jobs skip tests labeled
with NodeAlphaFeature.
2023-06-17 13:12:40 +03:00
Ed Bartosh
a83edd35c4 DRA Node E2E: relabel test suite to fix CI
Removed NodeFeature:DynamicResourceAllocation label from the
tests to fix cos-cgroupv1/v2-containerd-node-e2e-serial CI jobs.

It turned out that labeling DRA Node tests as NodeFeature was
a mistake. Re-labeling with NodeAlphaFeature would not work either.
It would fail certain containerd jobs as DRA requires containerd >= 1.7
2023-06-14 20:46:24 +03:00
Ed Bartosh
4960207b31 DRA Node E2E: test NodePrepareResource timeout 2023-06-13 12:42:05 +03:00
Ed Bartosh
58162ffd63 DRA: add node tests
- Setup overall test structure
- Tested Kubelet plugin re-registration on plugin and Kubelet restarts
- Tested pod processing on Kubelet start
2023-06-06 23:03:50 +03:00