Commit Graph

119610 Commits

Author SHA1 Message Date
Filip Křepinský
1591a0e132 add unit tests for NewControllerDescriptors
- controller descriptors should not be feature gated
- aliases should not be defined for new controllers and have only a
  canonical name
2023-10-27 13:28:02 +02:00
Filip Křepinský
44cac26667 move start controller pre- and post- checks/actions out of StartControllers
into StartController function

the function is reused by ServiceAccountTokenController
2023-10-27 13:28:02 +02:00
Filip Křepinský
b768967280 move aliases into each registrable controller 2023-10-27 13:28:02 +02:00
Filip Křepinský
a85779b4df include ServiceAccountTokenController in the NewControllerDescriptors to make it more generic
- pass a map of controllerDescriptors instead of a function
2023-10-27 13:28:02 +02:00
Filip Křepinský
27a77e0ef3 Encapsulate KCM controllers with their metadata
- These metadata can be used to handle controllers in a generic way.
- This enables showing feature gated controllers in kube-controller-manager's help.
- It is possible to obtain a controllerName in the InitFunc so it can be passed down to and used by the controller.

metadata about a controller:
- name
- requiredFeatureGates
- isDisabledByDefault
- isCloudProviderController
2023-10-27 13:28:01 +02:00
carlory
77dfd63d1d fix volume conformance e2e test break other test 2023-10-27 17:05:52 +08:00
Sascha Grunert
77e0adeb31
KEP-127: Update PSS based on feature gate
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-10-27 10:49:11 +02:00
Kubernetes Prow Robot
fd5c406112
Merge pull request #120933 from mengjiao-liu/contextual-logging-scheduler-remaining-part
kube-scheduler: convert the remaining part to use contextual logging
2023-10-27 10:30:58 +02:00
Kubernetes Prow Robot
c8125c4029
Merge pull request #121305 from neolit123/1.29-super-admin-conf
kubeadm: add support for separate super-admin.conf kubeconfig file
2023-10-27 08:51:31 +02:00
Kubernetes Prow Robot
036091645d
Merge pull request #120615 from mkowalski/OCPBUGS-18641
cloud-node-lifecycle controller: add fallback for empty providerID in shutdown
2023-10-27 08:51:17 +02:00
RuquanZhao
b0491d71bd Support skipping pulling addons image.
Add field DNS.Disabled and Proxy.Disabled in ClusterConfiguration to save status for `join` to read.
Signed-off-by: Ruquan Zhao <ruquan.zhao@arm.com>
2023-10-27 14:33:37 +08:00
carlory
760abc2a82 bump gomega to 1.29.0 2023-10-27 12:51:56 +08:00
tinatingyu
5925dc0775 LegacyServiceAccountTokenCleanUp beta 2023-10-27 03:52:06 +00:00
Kubernetes Prow Robot
ebf46ce1b4
Merge pull request #121485 from ritazh/kmsv2-ga
[KMSv2] promote KMSv2 and KMSv2KDF to GA
2023-10-27 02:23:50 +02:00
Ed Bartosh
69b9d50f9d e2e_node: mark CDI test as NodeSpecialFeature
This test depends on CDI support in a runtime and doesn't work
with the out-of-the box Containerd. Marking it as a NodeSpecialFeature
should fix Containerd CI job failures.
2023-10-27 02:06:43 +03:00
Kubernetes Prow Robot
0712728ee9
Merge pull request #121555 from borg-land/skip-gcp-tests-aws
Don't run `cloud-provider-gcp` tests against aws clusters
2023-10-27 01:05:14 +02:00
Rita Zhang
a9b1adbafc
[KMSv2] promote KMSv2 and KMSv2KDF to GA
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>
2023-10-26 15:05:31 -07:00
upodroid
9f06eb4ca2 don't run these tests on aws 2023-10-26 22:47:39 +01:00
Kubernetes Prow Robot
3c34118d39
Merge pull request #121332 from Riaankl/remove-pv-pvc-status-endpoints
Remove PersistentVolumeStatus & PersistentVolumeClaimStatus Endpoints from pending_eligible_endpoints.yaml
2023-10-26 22:51:17 +02:00
Kubernetes Prow Robot
a2436453da
Merge pull request #121331 from ii/promote-pv-pvc-status-test
Promote e2e test for PersistentVolumeStatus & PersistentVolumeClaimStatus Endpoints +6 Endpoints
2023-10-26 22:51:04 +02:00
Dejan Pejchev
e98c33bfaf
switch feature flag to beta for pod replacement policy and add e2e test
update pod replacement policy feature flag comment and refactor the e2e test for pod replacement policy

minor fixes for pod replacement policy and e2e test

fix wrong assertions for pod replacement policy e2e test

more fixes to pod replacement policy e2e test

refactor PodReplacementPolicy e2e test to use finalizers

fix unit tests when pod replacement policy feature flag is promoted to beta

fix podgc controller unit tests when pod replacement feature is enabled

fix lint issue in pod replacement policy e2e test

assert no error in defer function for removing finalizer in pod replacement policy e2e test

implement test using a sh trap for pod replacement policy

reduce sleep after SIGTERM in pod replacement policy e2e test to 5s
2023-10-26 21:50:37 +02:00
Patrick Ohly
af14f97cba sample device plugin: fix incorrect Errorf invocation
Linting together with an upcoming klog update finds this problem:

    test/images/sample-device-plugin/sampledeviceplugin.go:165:4: printf: k8s.io/klog/v2.Errorf does not support error-wrapping directive %w (govet)
    			klog.Errorf("Failed to add watch to %q: %w", triggerPath, err)
     			^
2023-10-26 21:22:36 +02:00
Dan Winship
fcc55280b0
Use k8s.io/utils/ptr in pkg/proxy (#121154)
* Use k8s.io/utils/ptr in pkg/proxy

* Replace pointer.String(), pointer.StringPtr(), and pointer.Bool() with ptr.To()

* Replace pointer.Int32(constexpr) with ptr.To[int32](constexpr)

* Replace pointer.Int32(int32(var)) with ptr.To(int32(var))

* Replace remaining pointer.Int32() cases with ptr.To

* Replace 'tcpProtocol := v1.ProtocolTCP; ... &tcpProtocol', etc with ptr.To(v1.ProtocolTCP)

* Replace 'nodeName = testHostname; ... &nodeName' with ptr.To(testHostname)

* Use ptr.To for SessionAffinityConfig.ClientIP.TimeoutSeconds

* Use ptr.To for InternalTrafficPolicy

* Use ptr.To for LoadBalancer.Ingress.IPMode
2023-10-26 20:56:39 +02:00
Kubernetes Prow Robot
801d460296
Merge pull request #120678 from rothgar/system-log-query
Fix systemd unit string matches
2023-10-26 20:56:28 +02:00
Patrick Ohly
b6afba18fb verify-file-sizes.sh: ensure that no large binary files get added
We recently had an accident were a 64MB executable got included in a PR and
wasn't caught during the manual review. This new verify script would have
caught that file.

The maximum file size is 10MB. This is intentionally low. If some legitimate
file needs to be added that is larger, then an entry in a .ignorefilesize file
in the directory of the large file can exclude that file from the check.
2023-10-26 20:08:09 +02:00
Jiahui Feng
fd132665a8 extend VAP status controller for extensions type checking. 2023-10-26 10:26:03 -07:00
Kubernetes Prow Robot
4d45fe55e6
Merge pull request #121544 from liggitt/fix-big-file
Delete binary file
2023-10-26 19:25:56 +02:00
Kubernetes Prow Robot
95e2b1b68e
Merge pull request #121543 from dims/add-back-k8s.io/kms/internal/plugins/_mock-go-mod-sum
Add back k8s.io/kms/internal/plugins/_mock/go.*
2023-10-26 19:25:47 +02:00
Jiahui Feng
3f73cdcf2a extend SchemaResolver for more types of schemas. 2023-10-26 10:25:41 -07:00
Jiahui Feng
38fecc8319 opportunistically attempt to refresh RESTMapper
if GVK resolution fails.
2023-10-26 10:24:21 -07:00
Jiahui Feng
05cd3e66ef simplified e2e test for CRD typechecking. 2023-10-26 10:21:49 -07:00
Kubernetes Prow Robot
53e91942bf
Merge pull request #117780 from sourcelliu/schedulinggates
Improve the performance of schedulinggates
2023-10-26 18:14:32 +02:00
Mat Kowalski
60a602f170
gce: fix test for non-existing instance in cloud
This commit fixes a GCE instance test for a scenario where instance does
not exist in the cloud. In the `gce_instances.go` we have a code that
handles such a scenario and strips off the error, i.e.

```
if providerID, err = cloudprovider.GetInstanceProviderID(ctx, g, types.NodeName(node.Name)); err != nil {
	if err == cloudprovider.InstanceNotFound {
		return false, nil
	}
	return false, err
}
```

but nevertheless the test was expecing a non-empty error string. This
issue got exposed when implementation of `GetInstanceProviderID` in the
`cloud-provider/cloud.go` changed to return `InstanceNotFound` as-is and
not as a custom string.

Signed-off-by: Mat Kowalski <mko@redhat.com>
2023-10-26 18:06:46 +02:00
Mat Kowalski
4a640ea384
cloud-node-lifecycle controller: add fallback for empty providerID in shutdown
Simiarly to the function `ensureNodeExistsByProviderID`,
`shutdownInCloudProvider` should have a logic where in case of an empty
providerID we get it using the name of the node. This is to support
scenarios when the function is called with Node object that has a name
but does not have any provider ID.

Currently in such a scenario we have an error as it is not possible to
call `InstanceShutdownByProviderID` with empty value. With this change
in such a scenario we will first obtain a correct provider ID and only
afterwards check the shutdown status.

Signed-off-by: Mat Kowalski <mko@redhat.com>
2023-10-26 18:06:45 +02:00
Kubernetes Prow Robot
c73ab5162b
Merge pull request #116507 from sourcelliu/podrequest
Improve performance of method PodRequests
2023-10-26 15:58:16 +02:00
Jordan Liggitt
84faaf4427
Prevent sampledeviceplugin binary commit 2023-10-26 09:57:06 -04:00
Davanum Srinivas
7fc42189b1
Add back k8s.io/kms/internal/plugins/_mock/go.*
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-10-26 09:54:13 -04:00
Jordan Liggitt
110ffa13b7
Delete binary file 2023-10-26 09:48:29 -04:00
Aleksandra Malinowska
e07d898cfd Make StatefulSet restart pods with phase Succeeded 2023-10-26 15:34:01 +02:00
Patrick Ohly
27f6fb2fa7 hack/tools: golangci-lint v1.55.1
No particular reason for updating to it besides staying up-to-date. The new
checks in the updated ginkgolinter found issues.
2023-10-26 15:32:43 +02:00
Kubernetes Prow Robot
94ec99d4c2
Merge pull request #121448 from p0lyn0mial/upstream-add-support-for-watchlist-detector-to-ci-jobs
cluster/gce: set KUBE_WATCHLIST_INCONSISTENCY_DETECTOR when requested by a CI job
2023-10-26 14:09:35 +02:00
Kubernetes Prow Robot
993c918311
Merge pull request #121255 from tukwila/OpenAPIV3-cleanup
Remove GAed feature gates OpenAPIV3
2023-10-26 14:09:17 +02:00
Patrick Ohly
6302f01121 e2e node: fix broken assertion
It looks like the test or the branch is never executed, because it wouldn't
pass: a []v1.NodeIP is value is never the same as []string. Found by the
upcoming ginkgolinter update.

    ERROR: test/e2e_node/pod_host_ips.go:167:45: ginkgo-linter: use Equal with different types: Comparing []k8s.io/api/core/v1.HostIP with []string; either change the expected value type if possible, or use the BeEquivalentTo() matcher, instead of Equal() (ginkgolinter)
    ERROR: 					gomega.Expect(p.Status.HostIPs).Should(gomega.Equal(nodeIPs))
    ERROR: 					                                       ^
2023-10-26 13:25:00 +02:00
Patrick Ohly
d0a5cd16da e2e upgrades: fix broken assertion
It looks like the test is never executed, because it wouldn't pass: an int32
value is never the same as an int 0. Found by the upcoming ginkgolinter update.
2023-10-26 13:25:00 +02:00
Kubernetes Prow Robot
4aea803f3f
Merge pull request #121254 from bart0sh/PR124-graduate-DevicePluginCDIDevices-to-Beta
Graduate DevicePluginCDIDevices to Beta
2023-10-26 12:59:19 +02:00
Kubernetes Prow Robot
7658fe8dc4
Merge pull request #118456 from testwill/bool-constant
chore: omit comparison to bool constant
2023-10-26 12:59:05 +02:00
Roman Bednar
fb872e8638 test: fix storage status update test
After enabling PersistentVolumeLastPhaseTransitionTime feature, any
test that compares PV objects that transitioned phase needs to handle
timestamp values correctly.

Either the tests should avoid phase transitions if not needed or the
test needs to set the same timestamp on new PV object so it's not
changed and can be checked for equality later, the latter is used in
this commit.
2023-10-26 11:47:02 +02:00
Roman Bednar
53339894a1 enable PersistentVolumeLastPhaseTransitionTime feature gate for status update test 2023-10-26 11:47:02 +02:00
Roman Bednar
071a67d8c2 export time function
NowFunc() has to be exported so it is available for testing in other
packages.
2023-10-26 11:47:01 +02:00
Roman Bednar
9cfd96dbb5 graduate PersistentVolumeLastPhaseTransitionTime to beta 2023-10-26 11:47:01 +02:00