Lalit Chauhan
13c801305a
Migrate ResourceSlice map key validation to declarative validation
...
This commit migrates the validation of map keys for CounterSet.Counters and
DeviceCounterConsumption.Counters in the ResourceSlice API from handwritten
validation to declarative validation using +k8s:eachKey=+k8s:format=k8s-short-name.
This simplifies the handwritten validation logic and leverages the shared
declarative validation machinery.
2026-01-07 17:53:45 +00:00
yongruilin
016e821718
run codegen
2026-01-06 20:18:06 +00:00
Lalit Chauhan
630a2a7c35
Add origins for the union validtions errors
2025-12-18 19:07:47 +00:00
Lalit Chauhan
79b414dc8f
Add k8s:optional on Device.Basic
2025-11-19 19:51:32 +00:00
Morten Torkildsen
93fc7422ee
DRA: Update validation for Partitionable Devices
2025-11-06 21:13:33 +00:00
Morten Torkildsen
ef3f6a2507
Run make update
2025-11-06 21:13:33 +00:00
Morten Torkildsen
e73fd4204d
DRA: Update types for Partitionable Devices
2025-11-06 21:13:32 +00:00
yongruilin
47fb373c31
run update-codegen.sh
2025-11-06 00:54:52 +00:00
Lalit Chauhan
0aea256ef9
revert of 8f0a6583ca
2025-11-05 00:13:26 +00:00
Kubernetes Prow Robot
c1a6a3ca71
Merge pull request #134152 from pohly/dra-device-taints-1.35
...
DRA: device taints: new ResourceSlice API, new features
2025-11-04 15:32:07 -08:00
Aaron Prindle
0631a66d52
address feedback - refactor validateSlice and validateSet to use validateItems
2025-11-04 04:15:56 +00:00
Aaron Prindle
39ad8278e2
feat: update DRA to short-circuit on maxSize checks, add a declarative validation test related to this case
2025-11-03 21:16:45 +00:00
Patrick Ohly
75c9186792
generated files
2025-10-31 18:11:18 +01:00
Patrick Ohly
e4dda7b282
DRA device taints: fix DeviceTaintRule + missing slice case
...
When the ResourceSlice no longer exists, the ResourceSlice tracker didn't and
couldn't report the tainted devices even if they are allocated and in use. The
controller must keep track of DeviceTaintRules itself and handle this scenario.
In this scenario it is impossible to evaluation CEL expressions because the
necessary device attributes aren't available. We could:
- Copy them in the allocation result: too large, big change.
- Limit usage of CEL expressions to rules with no eviction: inconsistent.
- Remove the fields which cannot be supported well.
The last option is chosen.
The tracker is now no longer needed by the eviction controller. Reading
directly from the informer means that we cannot assume that pointers are
consistent. We have to track ResourceSlices by their name, not their pointer.
2025-10-31 18:11:18 +01:00
Patrick Ohly
fee14ffca2
DRA API: device taints 1.35
...
This raises the number of allowed taints per device to 16 by lowering
the number of allowed devices to 64 per ResourceSlice if (and only if!)
taints are used.
"effect: None" and DeviceTaintRule status with conditions get added
to support giving feedback to admins.
Instead of merely adding the new effect value, this also changes validation of
the enum so that unknown values are valid if they were already stored. This
will simplify adding new effects in the future because validation won't fail
for them after a downgrade. Consumers must treat them like this new None
effect, i.e. ignore them.
2025-10-31 18:11:18 +01:00
yongruilin
d80ac77d98
feat(dra): add k8s:optional for all DV migrated optional fields
2025-10-30 23:31:01 +00:00
yongruilin
2713803c78
feat(dra): migrate NetworkDeviceData.IPs maxItems to declarative validation
2025-10-30 07:14:06 +00:00
yongruilin
0d6d2aa6a5
feat(dra): migrate DeviceAllocationConfiguration.Requests maxItems to declarative validation
2025-10-30 07:14:06 +00:00
yongruilin
a553ac0e92
feat(dra): migrate DeviceAllocationConfiguration.Requests uniqueness to declarative validation
2025-10-30 07:06:35 +00:00
yongruilin
a4e8b54dee
test(validation): add case for handling duplicate request names in ResourceClaim status update
2025-10-30 07:06:35 +00:00
yongruilin
9bbf28e2f4
feat(dra): migrate NetworkDeviceData.IPs uniqueness to declarative validation
2025-10-30 07:06:35 +00:00
Lalit Chauhan
37ba7bb454
Address feedbacks
2025-10-29 04:41:10 +00:00
Lalit Chauhan
ec8c2246b2
Use k8s-resource-fully-qualified-name format to validate MatchAttribute
2025-10-29 04:41:07 +00:00
Lalit Chauhan
8f0a6583ca
Use eachKey DV in DRA resources.
2025-10-28 20:09:09 +00:00
Kubernetes Prow Robot
bdcff90855
Merge pull request #134805 from aaron-prindle/dv-deviceclaim-subfield
...
feat: add subfield +k8s:format=k8s-long-name validation for DeviceClass ObjeMeta.Name field
2025-10-28 12:10:03 -07:00
Kubernetes Prow Robot
ffdfc17ebc
Merge pull request #134824 from lalitc375/union
...
use union member DV in the DRA
2025-10-27 10:29:35 -07:00
Lalit Chauhan
8a6b3caaa0
use union member DV in the DRA
2025-10-24 23:04:48 +00:00
Aaron Prindle
97f9819f7e
address feedback
2025-10-24 21:21:49 +00:00
Kubernetes Prow Robot
8de3b303e0
Merge pull request #134807 from yongruilin/master_maxlength
...
Add k8s:maxLength tag and use it on NetworkDeviceData fields
2025-10-24 12:15:41 -07:00
yongruilin
78796239cf
feat(validation): add k8s:optional tag to InterfaceName and HardwareAddress in NetworkDeviceData across all versions
2025-10-23 21:04:02 +00:00
Aaron Prindle
9ba536c2e4
feat: add subfield +k8s:format=k8s-long-name validation for DeviceClass ObjeMeta.Name field
2025-10-23 16:42:58 +00:00
Lalit Chauhan
2061ec2be9
Enable DV for resourceslice
2025-10-22 22:48:25 +00:00
yongruilin
833c026435
feat(dra): add k8s:maxLength tag on HardwareAddress in NetworkDeviceData
2025-10-22 22:42:32 +00:00
yongruilin
6fa8cb4a99
feat(dra): add k8s:maxLength on NetworkData.InterfaceName
2025-10-22 22:41:07 +00:00
yongruilin
2b4495f66a
feat(dra): add k8s:optional on AllocatedDeviceStatus.NetworkData
2025-10-22 22:38:47 +00:00
Kubernetes Prow Robot
6c8a609fd0
Merge pull request #134555 from aaron-prindle/dv-enum-migration
...
feat: add +k8s:enum declarative validation to ResourceClaim DeviceTolerationOperator and DeviceTaintEffect
2025-10-21 15:54:37 -07:00
Lalit Chauhan
229b33c440
Address feedbacks
2025-10-21 18:09:10 +00:00
Lalit Chauhan
95c42b9951
Fix rebase issues
2025-10-21 18:09:10 +00:00
Lalit Chauhan
cf96486aed
Add format validator for DeviceClass.ExtendedResourceName
2025-10-21 18:09:10 +00:00
Aaron Prindle
2e0319181d
address feedback
2025-10-21 00:27:25 +00:00
yongruilin
a817e2b923
test(validation): Mark bindingConditions and bindingFailureConditions errors as covered by declarative
2025-10-20 23:38:48 +00:00
yongruilin
2a116e29ce
feat(dra): Add maxItems tag on DeviceRequestAllocationResul.BindingFailureConditions field
2025-10-20 23:35:09 +00:00
yongruilin
ab08274be1
feat(dra): Add maxItems tag on DeviceRequestAllocationResul.BindingConditions field
2025-10-20 23:34:00 +00:00
Aaron Prindle
47e9686b4d
feat(validation-gen): add +k8s:format=k8s-long-name-caseless declarative validation for DeviceRequestAllocationResult.Driver
2025-10-19 23:55:16 +00:00
Aaron Prindle
0cf9102763
feat: add +k8s:enum declarative validation to ResourceClaim DeviceTolerationOperator and DeviceTaintEffect
2025-10-19 22:36:15 +00:00
Lalit Chauhan
2072acb3ba
Add listType=map and listMapekeys on ResourceClaimStatus.Devices
2025-10-17 22:48:52 +00:00
Kubernetes Prow Robot
2158dd67e9
Merge pull request #134630 from lalitc375/k8s-enum
...
feat: add enum validation for AllocationConfigSource
2025-10-17 15:40:51 -07:00
Lalit Chauhan
1f803aa314
Use DV for long name validation of spec.devices.requests[%d].firstAvailable[%d].deviceClassName
2025-10-17 19:15:34 +00:00
Aaron Prindle
2fd727bf92
address feedback - comment on declarative defaulting gap w/ DV
2025-10-16 22:47:22 +00:00
Aaron Prindle
9d83f71cde
fix validation_test.go to use path normalization
2025-10-16 17:40:19 +00:00