Commit Graph

20553 Commits

Author SHA1 Message Date
Wojciech Tyczyński
29e38c19b8 Allow for configuring MinWatchTimeout in Reflector and Informer. 2024-04-10 19:36:29 +02:00
Wojciech Tyczyński
4da185a601 Refactor informer constructors 2024-04-10 19:07:30 +02:00
cpanato
d19bff9a02 Update publishing-bot rules to Go 1.21.9
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-04-06 12:34:48 +02:00
cpanato
1366f1f447 [go] Bump images, dependencies and versions to go 1.22.2 and distroless iptables
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-04-05 14:27:57 +02:00
Davanum Srinivas
99fac38d28 Update x/net for CVE-2023-45288
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-04-03 19:56:04 -04:00
Kubernetes Prow Robot
c9f6d4e172 Merge pull request #124019 from alexzielenski/fix-ratcheting-flake
fix test flake caused by not waiting for CRD schema update
2024-04-02 07:00:11 -07:00
Alex Zielenski
0add741012 fix test flake caused by not waiting for CRD schema update 2024-03-29 08:54:10 -07:00
Davanum Srinivas
06e69e4b09 releng: update publishing bot rules for 1.30
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-03-27 10:42:45 -04:00
Kubernetes Prow Robot
fe9e4698a3 Merge pull request #123994 from serathius/undo-double-run-test-watch-semantics
Undo double run of the TestWatchSemantics test to avoid hitting timeout
2024-03-19 09:49:39 -07:00
Marek Siarkowicz
225749eb68 Undo double run of the TestWatchSemantics test to avoid hitting timeout 2024-03-19 15:17:50 +01:00
Kubernetes Prow Robot
065a0f2d51 Merge pull request #123785 from seans3/streamtunnel-unit-tests
Adds unit tests to `PortForward` streamtunnel
2024-03-18 07:31:17 -07:00
Marek Siarkowicz
0130072b05 Serve watch without resourceVersion from cache and introduce a WatchFromStorageWithoutResourceVersion feature gate to allow serving watch from storage. 2024-03-18 11:55:13 +01:00
Kubernetes Prow Robot
89b1db79d7 Merge pull request #123676 from serathius/rv0
Fix enabling consistent list from watch cache also works for resourceVersion=0
2024-03-15 09:51:00 -07:00
Kubernetes Prow Robot
d194e6d06c Merge pull request #123932 from pohly/dra-api-resource-model-rename
dra api: NodeResourceModel -> ResourceModel
2024-03-14 12:11:35 -07:00
Kubernetes Prow Robot
89f03e3988 Merge pull request #123926 from p0lyn0mial/upstream-deflake-test-get-list-non-recursive-with-consistent-list
apiserver/storage/cacher: deflake TestGetListNonRecursiveWithConsistentListFromCache
2024-03-14 11:02:46 -07:00
Kubernetes Prow Robot
6ef2fec0df Merge pull request #123909 from AkihiroSuda/fix-123906
kubelet: fix mixing up runtime classes with runtime handlers
2024-03-14 11:02:39 -07:00
Patrick Ohly
a0add8d2c7 dra api: NodeResourceModel -> ResourceModel
When renaming NodeResourceSlice to ResourceSlice, the embedded
[Node]ResourceModel also should have been renamed.
2024-03-14 18:07:36 +01:00
Marek Siarkowicz
0b8e79580e Fix enabling consistent list from watch cache also works for resourceVersion=0 2024-03-14 16:55:56 +01:00
Lukasz Szaszkiewicz
c44cc9a575 apiserver/storage/cacher: deflake TestGetListNonRecursiveWithConsistentListFromCache 2024-03-14 09:08:29 +01:00
Lukasz Szaszkiewicz
f5d945eb43 apiserver/storage/cacher: decrease running time of TestWatchNotHangingOnStartupFailure
before:
go test -v -race -count 1 -run ^TestWatchNotHangingOnStartupFailure$
ok  	k8s.io/apiserver/pkg/storage/cacher	6.775s

after:
go test -v -race -count 1 -run ^TestWatchNotHangingOnStartupFailure$
ok  	k8s.io/apiserver/pkg/storage/cacher	2.781s
2024-03-14 09:01:14 +01:00
Akihiro Suda
1dc05009fe api: NodeStatus: rename RuntimeClasses to RuntimeHandlers
The runtime classes are apiserver's concept, while the handlers are kubelet's concept.
For NodeStatus, it makes more sense to return the latter ones here.

This commit modifies the following files:

- pkg/apis/core/types.go
- staging/src/k8s.io/api/core/v1/types.go
- pkg/kubelet/nodestatus/setters.go
- pkg/kubelet/kubelet_node_status.go
- pkg/registry/core/node/strategy.go
- test/e2e_node/mount_rro_linux_test.go

Other changes were auto-generated by running `make update`.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-03-14 08:06:39 +09:00
Kubernetes Prow Robot
3a75a8c8d9 Merge pull request #123891 from p0lyn0mial/upstream-cacher-decrease-running-time-of-test-wait-unti-fresh
apiserver/storage/cacher: decrease of running time of TestWaitUntilWatchCacheFreshAndForceAllEvents
2024-03-13 06:49:18 -07:00
Kubernetes Prow Robot
308d664e3f Merge pull request #123887 from p0lyn0mial/upstream-cacher-decrease-running-time-of-tests
apiserver/storage/cacher: decrease the running time of tests in the cacher package.
2024-03-13 04:59:33 -07:00
Lukasz Szaszkiewicz
5a74c8e220 apiserver/storage/cacher: decrease the running time of tests in the cacher package.
It turns out that kube has a custom timeout for tests of 3 minutes.
The tests in the cacher package are utilizing nearly the
entire time and are being terminated, resulting in failing jobs.

Before the change, the TestWatchSemantics took ~43s to run. With this simple change, it now takes ~18s.

When we created the tests, we didn't measure the running time and assumed that waiting 1 second on a watch channel
to make sure no more events are received was sufficient.
This PR decreases the waiting time to 300 milliseconds.
Modern computers can perform many tasks within that time.
In addition to that, the tests are serial in nature, meaning that there is no other
actor that could add items to the database, which could result in receiving new items.

After the change the total running time decreased by 17%.
Before the tests needed ~176s after they need ~146s.
The changes also improved TestWatchSemanticInitialEventsExtended.
2024-03-13 11:59:20 +01:00
Kubernetes Prow Robot
881cc5bc96 Merge pull request #123897 from p0lyn0mial/upstream-cacher-decrease-running-time-of-empty-watch-event-cache
apiserver/storage/cacher: decrease of running time of TestEmptyWatchEventCache
2024-03-13 03:55:54 -07:00
Lukasz Szaszkiewicz
926122c035 apiserver/storage/cacher: decrease of running time of TestEmptyWatchEventCache
updates the test to wait 300 ms instead of 3s
the watch was established otherwise
we would be blocking on a call to cache.Watch(...)
in addition to that, the tests are serial in nature,
meaning that there is no other actor
that could add items to the database,
which could result in receiving new items.

Before:
go test -race  -run TestEmptyWatchEventCache
ok  	k8s.io/apiserver/pkg/storage/cacher	8.450s

After:
go test -race  -run TestEmptyWatchEventCache
ok  	k8s.io/apiserver/pkg/storage/cacher	2.635s
2024-03-13 09:00:51 +01:00
Lukasz Szaszkiewicz
3ecbb4dee0 apiserver/storage/cacher: decrease of running time of TestWaitUntilWatchCacheFreshAndForceAllEvents
The individual cases can be safely run in parallel.

Before
go test -race  -run TestWaitUntilWatchCacheFreshAndForceAllEvents
ok  	k8s.io/apiserver/pkg/storage/cacher	10.787s

After:
go test -race  -run TestWaitUntilWatchCacheFreshAndForceAllEvents
ok  	k8s.io/apiserver/pkg/storage/cacher	4.857s
2024-03-12 10:56:19 +01:00
Marek Siarkowicz
a527cab9fc Fix non-recursive list when consistent list from cache is enabled 2024-03-12 10:17:45 +01:00
Kubernetes Prow Robot
e062f925ae Merge pull request #123732 from serathius/parallel-featureflags
Fix SetFeatureGateDuringTest handling of Parallel tests
2024-03-11 13:32:48 -07:00
Marek Siarkowicz
9fcf279e2b Fix SetFeatureGateDuringTest handling of Parallel tests
Stop using defer as parallel subtest will might result in main test
finishing before subtest.

Fatal when same flag is set twice.
2024-03-11 20:08:52 +01:00
Kubernetes Prow Robot
57c89abb45 Merge pull request #123792 from mimowo/propose-api-comments-fix
Adjust the Job field API comments and validation to the current state
2024-03-11 11:26:04 -07:00
Kubernetes Prow Robot
8f80e01467 Merge pull request #123719 from enj/enj/f/authn_config_beta
Mark StructuredAuthenticationConfiguration feature gate as beta
2024-03-09 17:09:56 -08:00
Anish Ramasekar
62ac88b9ea Add metrics for authentication config reload
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2024-03-09 14:40:22 -08:00
Kubernetes Prow Robot
77ecfb7800 Merge pull request #123525 from enj/enj/f/authn_config_reload
Add dynamic reload support for authentication configuration
2024-03-09 14:13:37 -08:00
Monis Khan
b4935d910d Add dynamic reload support for authentication configuration
Signed-off-by: Monis Khan <mok@microsoft.com>
2024-03-09 14:29:33 -05:00
Akihiro Suda
d940886d0a api: KEP-3857: Recursive Read-only (RRO) mounts
This commit modifies the following files:

- pkg/apis/core/types.go
- staging/src/k8s.io/api/core/v1/types.go

Other changes were auto-generated by running `make update`.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-03-09 09:48:12 +09:00
Kubernetes Prow Robot
28c4d00c7d Merge pull request #123344 from nilekhc/svm-controller
[Storage Version Migration] feat: implements Storage Version Migration
2024-03-08 13:45:16 -08:00
Nilekh Chaudhari
9161302e7f feat: implements svm controller
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2024-03-08 19:25:10 +00:00
Monis Khan
121607e809 Require email_verified to be used when email is set as username via CEL
Signed-off-by: Monis Khan <mok@microsoft.com>
2024-03-08 12:59:05 -05:00
Michal Wozniak
79fe37537c Adjust the validation to the current state 2024-03-08 17:43:24 +01:00
Michal Wozniak
1163c7ed9c Adjust the API comments to the current state 2024-03-08 17:29:49 +01:00
Nilekh Chaudhari
91a7708cdc feat: implements Storage Version Migration API in-tree
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2024-03-08 04:18:56 +00:00
Kubernetes Prow Robot
7ea3d0245a Merge pull request #123516 from pohly/dra-structured-parameters
DRA: structured parameters
2024-03-07 19:24:48 -08:00
Kubernetes Prow Robot
9ad2aabc64 Merge pull request #123520 from haircommander/proc-mount-rely-userns-2
KEP-4265: Update Unmasked ProcMountType to fail validation without a pod level user namespace
2024-03-07 18:21:08 -08:00
Kubernetes Prow Robot
364ef335db Merge pull request #123412 from tenzen-y/add-new-jobsuccesspolicy-api
Job: Support for the SuccessPolicy
2024-03-07 14:49:20 -08:00
Patrick Ohly
6a361e1f36 dra api: enable new CEL features by faking their version
There are two approaches for making new versioned CEL features available in the
release where they get introduced:
- Always use the environment for "StoredExpressions".
- Use an older version (typically 1.0) and only bump it up later.

The second approach was used before, so this is now also done here.
2024-03-07 22:26:20 +01:00
Patrick Ohly
0b6a0d686a dra api: rename NodeResourceSlice -> ResourceSlice
While currently those objects only get published by the kubelet for node-local
resources, this could change once we also support network-attached
resources. Dropping the "Node" prefix enables such a future extension.

The NodeName in ResourceSlice and StructuredResourceHandle then becomes
optional. The kubelet still needs to provide one and it must match its own node
name, otherwise it doesn't have permission to access ResourceSlice objects.
2024-03-07 22:22:55 +01:00
Patrick Ohly
42ee56f093 dra api: implement semver attribute value type
This adds support for semantic version comparison to the CEL support in the
"named resources" structured parameter model. For example, it can be used to
check that an instance supports a certain API level.

To minimize the risk, the new "semver" type is only defined in the CEL
environment for DRA expressions, not in the base library. See
https://github.com/kubernetes/kubernetes/pull/123664 for a PR which
adds it to the base library.

Validation of semver strings is done with the regular expression from
semver.org. The actual evaluation at runtime then uses semver/v4.
2024-03-07 22:22:13 +01: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
6f1ddfcd2e kubelet: support structured parameters for preparing resources
If the resource handle has data from a structured parameter model, then we need
to pass that to the DRA driver kubelet plugin. Because Kubernetes uses
gogo/protobuf, we cannot use "optional" for that new optional field and have to
resort to "repeated" with a single repetition if present.

This is a new, backwards-compatible field.

That extending the resource.k8s.io changes the checksum of a kubelet checkpoint
is unfortunate. Updating the test cases is a stop-gap measure, the actual
solution will have to be something else before beta.
2024-03-07 22:22:13 +01:00