Commit graph

22 commits

Author SHA1 Message Date
Patrick Ohly
566dc7f3f3 DRA device taints: graduate to beta
The fields become beta, enabled by default. DeviceTaintRule gets
added to the v1beta2 API, but support for it must remain off by default
because that API group is also off by default.

The v1beta1 API is left unchanged. No-one should be using it
anymore (deprecated in 1.33, could be removed now if it wasn't for
reading old objects and version emulation).

To achieve consistent validation, declarative validation must be enabled also
for v1alpha3 (was already enabled for other versions). Otherwise,
TestVersionedValidationByFuzzing fails:

    --- FAIL: TestVersionedValidationByFuzzing (0.09s)
        --- FAIL: TestVersionedValidationByFuzzing/resource.k8s.io/v1beta2,_Kind=DeviceTaintRule (0.00s)
            validation_test.go:109: different error count (0 vs. 1)
                resource.k8s.io/v1alpha3: <no errors>
                resource.k8s.io/v1beta2: "spec.taint.effect: Unsupported value: \"幤HxÒQP¹¬永唂ȳ垞ş]嘨鶊\": supported values: \"NoExecute\", \"NoSchedule\", \"None\""
            ...
2026-03-12 18:26:02 +01:00
yongruilin
fbefdc816f refactor subresource handling in versioned validation fuzz tests
Refactor TestVersionedValidationByFuzzing to use a declarative map,
subresourceOnly, for resources that must be validated via a specific
subresource path (like autoscaling/Scale).

GVKs not in this map default to root-level validation (""), which is
sufficient for resources that share validation logic between their root
and subresources. This replaces the previous ad-hoc special-casing
with a cleaner, extensible mapping.
2026-01-29 10:30:12 +00:00
yongruilin
64140b8385 fuzz internal objects in versioned validation tests
Fuzzing must be performed on the internal version of objects because
custom fuzzing functions are typically registered for internal types.
This ensures that all fields are properly initialized with random values
before being converted to various API versions for validation.

Move fuzzing logic into VerifyVersionedValidationEquivalence via a new
WithFuzzer option. This also fixes a panic that occurred when attempting
to fuzz types without an internal version (e.g., APIGroupList) by adding
a nil check after internal conversion.
2026-01-29 10:29:55 +00:00
darshansreenivas
0b635116f1 feat(admissionregistration): enable declarative validation wiring and require ValidationActions 2026-01-24 03:46:24 -08:00
Kubernetes Prow Robot
5eb7087ccb
Merge pull request #135761 from darshansreenivas/admissionregistratio_k8s_io_policy_name
feat: wire admissionregistration group for declarative validation and +k8s:required to ValidatingAdmissionPolicyBindingSpec.PolicyName
2026-01-24 10:33:31 +05:30
darshansreenivas
04ea1eabff feat(admissionregistration): wire group for declarative validation and require PolicyName 2026-01-22 11:19:22 -08:00
Dan Roach
5b5cc2d498 Adding declarative validations to CronJob 2026-01-15 14:05:15 -07:00
CLBRITTON2
a6618afc29 Wire discovery v1/v1beta1 for fuzz testing 2026-01-09 11:54:51 -05:00
Lalit Chauhan
55041b832f Bring the changes back which was removed due to accident in #134909 2026-01-09 00:02:41 +00:00
Darshan Murthy
1c24a05ce1
wire network group for declarative validation and +k8s:required to IngressClassParametersReference.Name and IngressClassParametersReference.Kind (#134909) 2026-01-09 03:11:43 +05:30
Lalit Chauhan
4e6aafb9b3 Address feedbacks 2026-01-06 18:38:35 +00:00
Lalit Chauhan
e83723ce2c Add ignoreConversionErrors option to validation testing
This commit adds an 'IgnoreObjectConversionErrors' option to the
validation testing framework in 'k8s.io/apimachinery' and exposes it
via 'pkg/api/testing'.

This is useful for fuzzing tests where we might want to skip object
versions that cannot be converted from the internal version (e.g. due to
missing fields or incompatible types in older versions) but still want
to test validation for the versions that *can* be converted.

The 'autoscaling' group versions are added to 'TestVersionedValidationByFuzzing'
with this option enabled.
2026-01-06 18:23:26 +00:00
darshansreenivas
897adb7b48 DRA: adding tag to node module
move DRA to a update method

fix boilerplate code

apply node normalize code at fuzz logic

adding normalization fix

fix nit
2025-12-04 23:03:21 -08:00
darshansreenivas
4a9a010c53 adding back v1alpha1 2025-10-28 14:58:43 -07:00
darshansreenivas
68710ce086 add declarative validation test
- restore v1alpha1
- fix lint issues
- ensure tests run with valid objects
2025-10-28 14:56:10 -07:00
darshansreenivas
2e257dffd8 update code-gen for new tags and ignore v1alpha1 2025-10-28 14:53:54 -07:00
Joe Betz
bd6fb65f83 Reduce fuzz test runs by 10x to avoid timeouts 2025-10-21 10:13:04 -04:00
Aaron Prindle
9d83f71cde fix validation_test.go to use path normalization 2025-10-16 17:40:19 +00:00
yongruilin
380c4c222e feat(validation-gen): Add declarative validation support for ResourceClaim/(v1,v1beta1,v1beta2) 2025-09-16 21:36:18 +00:00
yongruilin
5d4a85f9f6 Enable versioned validation fuzz testing for certificates v1/v1alpha1/v1beta1 group 2025-07-01 16:13:56 +00:00
Joe Betz
ed08387663 Enable versioned validation fuzz testing for core v1 group 2025-03-12 19:53:47 -04:00
Tim Hockin
1d365762a5 Introduce versioned validation test utilitizes and add fuzz tester
This makes a bold assumption: that the errors (count and basic content)
will be the same across versions.  If this turns out to be untrue, this
may need to get more sophisticated.  It should fail obviously when we
hit that edge.
2025-03-11 20:37:21 -04:00