Commit Graph

126367 Commits

Author SHA1 Message Date
Joe Betz
712cc20996 Add jsonpatch.escapeKey CEL function 2024-11-04 21:40:54 -05:00
Joe Betz
25e11cd1c1 Add MutatingAdmissionPolicy plugin to admission chain
This expands the generic plugin support to both validating and mutating policies.  It also adds the
mutating policy admission plugin using the generics plugin support.

This also implements both ApplyConfiguration and JSONPatch support.

Co-authored-by: Alexander Zielensk <alexzielenski@gmail.com>
2024-11-04 21:40:54 -05:00
Joe Betz
081353bf8a Add mutation support into CompositedCompiler and reorganize for clarity 2024-11-04 21:40:54 -05:00
Joe Betz
fe3a7f5291 generate code 2024-11-04 21:40:47 -05:00
Joe Betz
3a1733f302 Add MutatingAdmissionPolicy API
This is closely aligned with ValidatingAdmissionPolicy
except that instead of validations that can fail with
messages, there are mutations, which can be defined
either with as an ApplyConfiguration or JSONPatch.

Co-authored-by: cici37 <cicih@google.com>
2024-11-04 21:40:38 -05:00
Joe Betz
4b13362dda Add feature gate
Co-authored-by: cici37 <cicih@google.com>
2024-10-31 10:30:38 -04:00
Joe Betz
9ee1ea9d37 Clean up Object initialization support
The initial work of this had been merged before
this PR but was not yet in use. This simplifies
the implementation and adds some basic type
sanity checking.

Co-authored-by: Jiahui Feng <jhf@google.com>
2024-10-31 10:30:30 -04:00
Joe Betz
910c2e2dad Move caching authorizer to shared location to be used by mutating and validating policy 2024-10-31 10:20:20 -04:00
Kubernetes Prow Robot
69e30cd642
Merge pull request #128263 from ShazaAldawamneh/typecheck-retry-generation
CRD type check test fix
2024-10-31 13:53:33 +00:00
Kubernetes Prow Robot
ff5cb3791a
Merge pull request #127903 from soltysh/test_daemonset
Add unit tests verifying the update touches old, unhealthy pods first, and only after new pods
2024-10-31 13:53:26 +00:00
Kubernetes Prow Robot
c19ffb7e72
Merge pull request #128464 from sanposhiho/flaky-sched-one
fix: flake TestSchedulerScheduleOne
2024-10-31 12:13:33 +00:00
Kubernetes Prow Robot
ac25b64847
Merge pull request #128450 from liggitt/revert-127669
Revert "Merge pull request #127669 from olyazavr/fix-probe-race"
2024-10-31 12:13:26 +00:00
Kubernetes Prow Robot
ce6396175b
Merge pull request #127318 from aroradaman/conntrack-reconciler
proxy/conntrack: reconciler
2024-10-31 10:21:33 +00:00
Kubernetes Prow Robot
f94f87795f
Merge pull request #126935 from aojea/proxy_conntrack_service_topology
e2e conntrack test for UDP Service with internalTrafficPolicy local
2024-10-31 10:21:26 +00:00
Maciej Szulik
174288d751
Add unit tests verifying the update touches old, unhealthy pods first, and only after new pods.
Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2024-10-31 11:13:01 +01:00
Kensei Nakada
bd8e9dd021 fix: flake TestSchedulerScheduleOne 2024-10-31 17:13:50 +09:00
Kubernetes Prow Robot
453efd7a4b
Merge pull request #121604 from pacoxu/image-pull-e2e
[node-e2e] add test cases for serialize and parallel image pulling
2024-10-31 08:01:26 +00:00
Paco Xu
82df7a7d82 use cri proxy injector for parallel pulling image tests 2024-10-31 14:50:50 +08:00
Kubernetes Prow Robot
7c56aa5a58
Merge pull request #128353 from sanposhiho/patch-13
fix: register ResourceSlice to allResources
2024-10-31 04:41:25 +00:00
Kubernetes Prow Robot
5d353417cd
Merge pull request #128346 from dims/update-to-latest-advisor-for-1.32
Update to latest cadvisor - `v0.51.0`
2024-10-30 23:45:26 +00:00
Kubernetes Prow Robot
c0e0785fe4
Merge pull request #128427 from dom4ha/scheduler-perf
Fix Unschedulable test by using high priority churn pods to get processed right after they were injected
2024-10-30 22:23:25 +00:00
Joe Betz
c59fba7f26
Promote CRD field selector e2e test to conformance (#128109)
* Promote CRD field selector e2e test to conformance

* Fix release number for conformance test

* re-run update conformance
2024-10-30 21:19:25 +00:00
Kubernetes Prow Robot
dc1d7f41ef
Merge pull request #128456 from benluddy/nondeterministic-response-encoding
KEP-4222: Allow nondeterministic object encoding in HTTP response bodies.
2024-10-30 20:13:27 +00:00
Davanum Srinivas
152d342a8d
Update to latest cadvisor
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-10-30 15:25:21 -04:00
Ben Luddy
dee76a460e
Allow nondeterministic object encoding in HTTP response bodies. 2024-10-30 15:10:16 -04:00
Kubernetes Prow Robot
16f9fdc705
Merge pull request #128273 from benluddy/cbor-apply
KEP-4222: Support CBOR encoding for apply requests.
2024-10-30 17:25:25 +00:00
Ben Luddy
41f55d7117
Regenerate clients to support application/apply-patch+cbor. 2024-10-30 12:21:15 -04:00
Ben Luddy
37ed906a33
Support application/apply-patch+cbor in patch requests. 2024-10-30 12:21:15 -04:00
Kubernetes Prow Robot
6435489064
Merge pull request #128275 from pohly/dra-resourceslice-controller-multiple-slices
DRA resourceslice controller: support publishing multiple slices
2024-10-30 16:01:26 +00:00
Jordan Liggitt
43fa7c638b
Revert "Merge pull request #127669 from olyazavr/fix-probe-race"
This reverts commit 3d00d6e421, reversing
changes made to a7fcc89ac0.
2024-10-30 11:16:47 -04:00
Patrick Ohly
1088f4fb44 DRA resourceslice controller: do DeepCopy for driver resources
The reason for the previous behavior was unnecessary performance overhead that
occurs when the caller already provided a "fresh" copy and doesn't touch it
afterwards.

But this is something that DRA driver developers can easily get wrong, so it's
better to be safe than sorry.
2024-10-30 15:54:32 +01:00
Patrick Ohly
67f0428769 DRA resourceslice controller: delay sync
When deleting a bunch of slices, the delete events queue the pool while it is
being synced. It then got synced again immediately, while the deleted slices
were still being removed from the informer cache. The obsolete slice in the
cache caused the controller to delete it again, which fails with a "not
found". That error is ignored, but this still caused extra API calls.

Now syncing gets delayed with a configuration duration (default: 30 seconds) so
the informer cache is more likely to be up-to-date when the pool gets synced
again.
2024-10-30 15:54:32 +01:00
Patrick Ohly
99cf2d8a2e DRA resource slice controller: add E2E test
This test covers creating and deleting 100 large ResourceSlices. It is strict
about using the minimum number of calls.

The test also verifies that creating large slices works.
2024-10-30 15:54:32 +01:00
Patrick Ohly
7473e643fa DRA resource slice controller: use MutationCache to avoid race
This avoids the problem of creating an additional slice when the one from the
previous sync is not in the informer cache yet. It also avoids false
attempts to delete slices which were updated in the previous sync. Such
attempts would fail the ResourceVersion precondition check, but would
still cause work for the apiserver.
2024-10-30 15:54:32 +01:00
Patrick Ohly
e88d5c37e6 DRA resource claim controller: add statistics
This is primarily for testing. Proper metrics might be useful, but can still be
added later.
2024-10-30 15:54:32 +01:00
Patrick Ohly
d94752ebc8 DRA resourceslice controller: use preconditions for Delete
It's better to verify UID and ResourceVersion of the ResourceSlice that we want
to delete. If anything changed, the decision to remove it might not apply
anymore and we need to check again.
2024-10-30 15:54:32 +01:00
Patrick Ohly
a6d180c7d3 DRA: validate set of devices in a pool before using the pool
The ResourceSlice controller (theoretically) might end up creating too many
slices if it syncs again before its informer cache was updated. This could
cause the scheduler to allocate a device from a duplicated slice. They should
be identical, but its still better to fail and wait until the controller
removes the redundant slice.
2024-10-30 15:54:32 +01:00
Patrick Ohly
26650371cc DRA resourceslice controller: support publishing multiple slices
The driver determines what each slice is meant to look like. The controller
then ensures that only those slices exist. It reuses existing slices where the
set of devices, as identified by their names, is the same as in some desired
slice. Such slices get updated to match the desired state.

In other words, attributes and the order of devices can be changed by updating
an existing slice, but adding or removing a device is done by deleting and
re-creating slices.

Co-authored-by: googs1025 <googs1025@gmail.com>

The test update is partly based on
https://github.com/kubernetes/kubernetes/pull/127645.
2024-10-30 15:54:32 +01:00
dom4ha
ff584a76e0 Fix Unschedulable test by scheduling high priority churn pods to get processed right after they were injected (before the queued test pods) 2024-10-30 13:04:38 +00:00
Kubernetes Prow Robot
d001d5684e
Merge pull request #128417 from tenzen-y/self-nominate-job-controller-reviewer
Self nominate tenzen-y as a reviewer for the Job controller
2024-10-30 11:21:39 +00:00
Kubernetes Prow Robot
a18b50e7e4
Merge pull request #128373 from mimowo/job-cover-negative-codes
Job Pod Failure policy - cover testing of negative exit codes
2024-10-30 11:21:31 +00:00
Kubernetes Prow Robot
7529696b59
Merge pull request #128334 from mimowo/job-windows-e2e-test
Job Pod Failure policy refactor e2e test using exit codes
2024-10-30 11:21:25 +00:00
Kubernetes Prow Robot
daef8c2419
Merge pull request #127266 from pohly/dra-admin-access-in-status
DRA API: AdminAccess in DeviceRequestAllocationResult + DRAAdminAccess feature gate
2024-10-30 03:41:25 +00:00
Kubernetes Prow Robot
5fcef4f79d
Merge pull request #128422 from bart0sh/PR163-density-e2e_node-adjust-limits
density test: adjust CPU and memory limits
2024-10-30 02:37:31 +00:00
Kubernetes Prow Robot
db66e397d9
Merge pull request #128359 from matteriben/disable-caching-for-authoritative-zone
disable caching for authoritative zone to comply with rfc-1035 section 6.1.2
2024-10-30 02:37:24 +00:00
Kubernetes Prow Robot
a93e3e7ae1
Merge pull request #127483 from nokia/strict-cpu-reservation-core
KEP-4540: Add CPUManager policy option to restrict reservedSystemCPUs to system daemons and interrupt processing
2024-10-30 01:21:47 +00:00
Kubernetes Prow Robot
d702d265c7
Merge pull request #127291 from zhifei92/fix-apiserver-unexpected-panic
[FG:InPlacePodVerticalScaling] Fixed the apiserver panic issue that occurred when adding a container during pod updates in the InPlacePodVerticalScaling scenario.
2024-10-30 01:21:40 +00:00
Kubernetes Prow Robot
a0e5e244b3
Merge pull request #126875 from serathius/watchcache-test-indexers
Adding tests for using indexers in tests
2024-10-30 01:21:32 +00:00
Kubernetes Prow Robot
6737352b03
Merge pull request #125708 from hshiina/dopodresizeaction-error
[FG:InPlacePodVerticalScaling] Fix order of resizing pod cgroups in doPodResizeAction()
2024-10-30 01:21:25 +00:00
Kubernetes Prow Robot
e8a75ac53f
Merge pull request #128420 from tallclair/e2e-cleanup
Reuse cached client config for exec requests in e2e
2024-10-30 00:17:37 +00:00