Adrian Moisey
32c45ecf10
Bump github.com/vishvananda/netlink to v1.3.1
...
hack/pin-dependency.sh github.com/vishvananda/netlink v1.3.1
hack/update-vendor.sh
2025-05-21 13:10:02 +02:00
Kubernetes Prow Robot
c40db09a0a
Merge pull request #131741 from soltysh/deprecate_preferences
...
Deprecate kubeconfig's preference field in favor of kuberc
2025-05-20 08:11:18 -07:00
Kubernetes Prow Robot
889cd833a2
Merge pull request #131844 from pohly/dra-no-static-pods
...
DRA node: reject static pods which reference ResourceClaims
2025-05-20 07:07:24 -07:00
Kubernetes Prow Robot
444e2b4eb0
Merge pull request #131838 from dims/bump-google.golang.org/grpc-to-google-v1.72.1
...
Bump google.golang.org/grpc to google v1.72.1
2025-05-20 07:07:17 -07:00
Kubernetes Prow Robot
0afe2b839d
Merge pull request #129983 from nickbp/master
...
feature(scheduler): Customizable pod selection and ordering in DefaultPreemption plugin
2025-05-20 05:09:15 -07:00
Maciej Szulik
8cf5e8db78
Deprecate kubeconfig's preference field in favor of kuberc
...
Signed-off-by: Maciej Szulik <soltysh@gmail.com >
2025-05-20 13:31:57 +02:00
Kubernetes Prow Robot
b20fca7484
Merge pull request #131855 from mortent/CleanupAllocatorTests
...
DRA: Clean up allocator tests
2025-05-20 02:49:15 -07:00
Kubernetes Prow Robot
4aa2652e5f
Merge pull request #131628 from skitt/applyconfig-nil
...
applyconfig-gen: handle non-pointer types
2025-05-20 01:23:16 -07:00
Morten Torkildsen
5bb3f862a0
DRA: Clean up allocator tests
2025-05-20 01:46:55 +00:00
Kubernetes Prow Robot
d75a5811ef
Merge pull request #131843 from pohly/resourcequota-scope-flake
...
ResourceQuota: partial fix "should verify ResourceQuota with terminating scopes through scope selectors" flake
2025-05-19 12:45:21 -07:00
Kubernetes Prow Robot
4e80b05087
Merge pull request #131704 from karlkfi/karl-watch-subtests
...
test: Use sub-tests in watch tests
2025-05-19 12:45:14 -07:00
Omer Aplatony
3530731974
Kubectl: check version skew ( #127365 )
...
Signed-off-by: Omer Aplatony <omerap12@gmail.com >
2025-05-19 10:19:14 -07:00
Patrick Ohly
3878f7e748
E2E ResourceQuota: ensure consistent ResourceQuote during scope selector test
...
When expectation is that something does *not* happen, the test has to check for
a certain time. Checking just once is not sufficient because it might not have
happened immediately.
2025-05-19 18:23:49 +02:00
Kubernetes Prow Robot
f2502b31b8
Merge pull request #131830 from dims/future-proof-csi-test-mocks
...
future-proof csi test mocks
2025-05-19 08:53:22 -07:00
Kubernetes Prow Robot
f80233f24b
Merge pull request #131766 from serathius/flake-TestGetCacheBypass
...
Separate getList and watch errors to prevent TestGetCacheBypass flakes
2025-05-19 08:53:15 -07:00
Kubernetes Prow Robot
fc3e0cf60d
Merge pull request #131841 from pohly/local-up-cluster-cloud-config-fix
...
hack/local-up-cluster.sh: remove kubelet --cloud-config
2025-05-19 07:09:15 -07:00
Patrick Ohly
4a353d07e4
E2E ResourceQuota: fix pod creation flake
...
As can be seen in the output of a test failure in the CI, the test waits for
"quota-not-terminating" to be updated, but then fails because creating the pod
exceeds the "quota-terminating" quota which has not been updated yet. As both
ResourceQuotas apply, it needs to wait for both of them to be updated.
STEP: Deleting the pod - k8s.io/kubernetes/test/e2e/apimachinery/resource_quota.go:1597 @ 05/18/25 07:50:46.531
STEP: Ensuring resource quota status released the pod usage - k8s.io/kubernetes/test/e2e/apimachinery/resource_quota.go:1601 @ 05/18/25 07:50:46.547
I0518 07:50:46.551520 75078 resource_quota.go:2508] Got expected ResourceQuota:
...
name: quota-not-terminating
namespace: scope-selectors-1836
resourceVersion: "15914"
uid: db72668e-2fe0-4543-ada2-a3ff0ac77dd5
spec:
hard:
limits.cpu: "2"
limits.memory: 1Gi
pods: "1"
requests.cpu: "1"
requests.memory: 500Mi
scopeSelector:
matchExpressions:
- operator: Exists
scopeName: NotTerminating
status:
hard:
limits.cpu: "2"
limits.memory: 1Gi
pods: "1"
requests.cpu: "1"
requests.memory: 500Mi
used:
limits.cpu: "0"
limits.memory: "0"
pods: "0"
requests.cpu: "0"
requests.memory: "0"
STEP: Creating a terminating pod - k8s.io/kubernetes/test/e2e/apimachinery/resource_quota.go:1610 @ 05/18/25 07:50:46.551
I0518 07:50:46.560944 75078 resource_quota.go:1612] Unexpected error:
<*errors.StatusError | 0xc002dba500>:
pods "terminating-pod" is forbidden: exceeded quota: quota-terminating, requested: pods=1, used: pods=1, limited: pods=1
{
ErrStatus:
code: 403
details:
kind: pods
name: terminating-pod
message: 'pods "terminating-pod" is forbidden: exceeded quota: quota-terminating,
requested: pods=1, used: pods=1, limited: pods=1'
metadata: {}
reason: Forbidden
status: Failure,
}
[FAILED] pods "terminating-pod" is forbidden: exceeded quota: quota-terminating, requested: pods=1, used: pods=1, limited: pods=1
2025-05-19 15:36:57 +02:00
Patrick Ohly
4b10ba9eef
E2E ResourceQuota: dump last ResourceQuota
...
This is meant to help debug this flake:
[It] [sig-api-machinery] ResourceQuota should verify ResourceQuota with terminating scopes through scope selectors.
[FAILED] pods "test-pod" is forbidden: exceeded quota: quota-terminating, requested: pods=1, used: pods=1, limited: pods=1
In [It] at: k8s.io/kubernetes/test/e2e/apimachinery/resource_quota.go:1572 @ 05/14/25 08:49:07.456
Dumping the ResourceQuota object each time the test progresses will
help with understanding the test and the actual behavior.
2025-05-19 15:36:57 +02:00
Kubernetes Prow Robot
82db38a23c
Merge pull request #128748 from sanposhiho/attempt-incre
...
feat: introduce pInfo.UnschedulableCount to make the backoff calculation more appropriate
2025-05-19 01:21:15 -07:00
Patrick Ohly
d3afe8a87e
hack/local-up-cluster.sh: remove kubelet --cloud-config
...
c0b2f341a7 removed that flag, which was already
deprecated earlier. When passing it now, kubelet fails to come up.
2025-05-19 09:20:54 +02:00
Davanum Srinivas
d043beb223
HealthChecker has a List method
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2025-05-18 12:52:13 -04:00
Davanum Srinivas
9b3830fba2
Bump google.golang.org/grpc v1.72.1
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2025-05-18 12:52:05 -04:00
Kubernetes Prow Robot
3196c99463
Merge pull request #131832 from bshephar/no-kubeadm-config-option
...
Remove --config option from suggest kubeadm command
2025-05-18 02:49:14 -07:00
Brendan Shephard
be5d8c767b
Update cmd/kubeadm/app/cmd/upgrade/apply.go
...
Co-authored-by: Bing Hongtao <695097494plus@gmail.com >
2025-05-18 18:38:16 +10:00
Brendan Shephard
c0885e018a
Fix --config option from suggested kubeadm command
...
This change fixes the --config option in the recommended kubeadm command
that is returned to users.
Fixes: https://github.com/kubernetes/kubeadm/issues/3201
Signed-off-by: Brendan Shephard <bshephar@bne-home.net >
2025-05-18 18:36:45 +10:00
Kubernetes Prow Robot
ce450746a4
Merge pull request #131760 from bart0sh/PR178-dra-test-re-registration
...
DRA: test plugin re-registration after failed GetInfo call
2025-05-17 22:15:13 -07:00
Davanum Srinivas
8f49fb5ce7
future-proof csi test mocks
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2025-05-17 20:42:08 -04:00
Kubernetes Prow Robot
2125fd6a94
Merge pull request #130161 from carlory/kep-2395-kubelet-cleanup
...
kubelet: clean up cloud provider code because cloud provider only supports empty or external and cloud is nil
2025-05-17 13:05:13 -07:00
Kubernetes Prow Robot
ed34574525
Merge pull request #129758 from gyutaeb/fix/kubemark-tr
...
Fix LC_CTYPE for kubemark start scripts
2025-05-17 08:59:13 -07:00
Kensei Nakada
adc4916dfe
feat: introduce pInfo.UnschedulableCount to make the backoff calculation more appropriate
2025-05-17 12:39:58 +02:00
Kubernetes Prow Robot
6e6e6f6e53
Merge pull request #131820 from dims/drop-dependency-on-x/exp-package-in-mount_linux_test
...
Drop dependency on x/exp package in mount_linux_test.go
2025-05-16 18:27:15 -07:00
Kubernetes Prow Robot
b6bff1bd44
Merge pull request #131800 from BenTheElder/kubelet-testing
...
kubelet: don't import testing dependency in non-test code
2025-05-16 16:37:13 -07:00
Davanum Srinivas
5def7fadf3
Drop dependency on x/exp package in mount_linux_test.go
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2025-05-16 20:46:55 +00:00
Ed Bartosh
b9e2a16083
e2e_node: dra: test plugin registration retry
...
Adds a DRA e2e_node test to verify that the kubelet plugin manager
retries plugin registration when the GetInfo call fails, and
successfully registers the plugin once GetInfo succeeds.
This ensures correct recovery and registration behavior for
DRA plugins in failure scenarios.
2025-05-16 21:53:35 +03:00
Ed Bartosh
aef61622ae
e2e: dra: implement ResetGRPCCalls
2025-05-16 21:53:35 +03:00
Ed Bartosh
e8be3e575b
e2e: dra: simulate GetInfo failure
2025-05-16 21:53:30 +03:00
Kubernetes Prow Robot
79cc5ddaa6
Merge pull request #131816 from joshjms/build-etcd-image-v3.6.0
...
etcd: Build etcd image v3.6.0
2025-05-16 08:07:14 -07:00
Karl Isenberg
0e5eab042c
test: Use sub-tests in watch tests
...
- Use sub-tests to avoid side-effects between test cases,
cancel the context between cases, and make it easier to
determine the failing case in the test logs.
- Use anonymous closures in benchmarks, instead of sub-tests,
so the times still include all cases.
2025-05-16 08:04:07 -07:00
Kubernetes Prow Robot
808ffdab58
Merge pull request #131804 from pohly/e2e-resource-quota-failure
...
ResourceQuota E2E: more informative failure message
2025-05-16 06:59:14 -07:00
Kubernetes Prow Robot
a5e3df5e68
Merge pull request #131795 from aojea/kubectl_scheme
...
fix scheme import
2025-05-16 04:53:21 -07:00
Kubernetes Prow Robot
17161cb45d
Merge pull request #131617 from bart0sh/PR180-claimInfo-check-claimUID
...
DRA: kubelet: check for duplicate claim names
2025-05-16 04:53:14 -07:00
joshjms
c369e3cd49
etcd: build etcd image v3.6.0
...
Signed-off-by: joshjms <joshjms1607@gmail.com >
2025-05-16 19:06:09 +08:00
Kubernetes Prow Robot
8f92419974
Merge pull request #131808 from mkumatag/patch-3
...
Bump the busybox image
2025-05-16 03:17:14 -07:00
Antonio Ojea
65a27eb97d
restrict the use of scheme internally to client-go
...
Change-Id: Ic78c2d90f97d620cee29048bc3a40d6500d0fc1d
2025-05-16 08:48:39 +00:00
Manjunath Kumatagi
671d1a07a5
Bump the busybox image
2025-05-16 13:28:37 +05:30
Patrick Ohly
88b2360540
ResourceQuota E2E: more informative failure message
...
When the usage information in the ResourceQuota status doesn't get updated as
expected, the previous log output and failure message didn't explain why:
...
I0515 23:29:57.361485 75251 resource_quota.go:2497] resource count/resourceclaims.resource.k8s.io, expected 0, actual 1
I0515 23:29:59.363848 75251 resource_quota.go:2497] resource count/resourceclaims.resource.k8s.io, expected 0, actual 1
I0515 23:30:01.357948 75251 resource_quota.go:2497] resource count/resourceclaims.resource.k8s.io, expected 0, actual 1
I0515 23:30:03.345999 75251 resource_quota.go:544] Unexpected error:
<*fmt.wrapError | 0xc0048578a0>:
client rate limiter Wait returned an error: rate: Wait(n=1) would exceed context deadline
{
msg: "client rate limiter Wait returned an error: rate: Wait(n=1) would exceed context deadline",
err: <*errors.errorString | 0xc004b028a0>{
s: "rate: Wait(n=1) would exceed context deadline",
},
}
[FAILED] client rate limiter Wait returned an error: rate: Wait(n=1) would exceed context deadline
In [It] at: k8s.io/kubernetes/test/e2e/apimachinery/resource_quota.go:544 @ 05/13/25 08:59:21.152
The actual failure is also unpredictable, preventing proper clustering in the triage
tool. Depending on where the context is checked, it can also fail with:
[FAILED] context deadline exceeded
In [It] at: k8s.io/kubernetes/test/e2e/apimachinery/resource_quota.go:544 @ 05/14/25 00:08:34.258
After converting to a GomegaMatcher with gomega.Eventually, it fails like
this (manually truncated a bit and triggered by changing the expected value):
[FAILED] Timed out after 300.001s.
Expected:
<*v1.ResourceQuota | 0xc0035c3e00>:
metadata:
creationTimestamp: "2025-05-09T20:00:28Z"
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:spec:
...
manager: e2e.test
operation: Update
time: "2025-05-09T20:00:28Z"
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:status:
f:hard:
.: {}
f:configmaps: {}
f:count/replicasets.apps: {}
f:count/resourceclaims.resource.k8s.io: {}
f:cpu: {}
f:ephemeral-storage: {}
f:gold.deviceclass.resource.k8s.io/devices: {}
f:gold.storageclass.storage.k8s.io/persistentvolumeclaims: {}
f:gold.storageclass.storage.k8s.io/requests.storage: {}
f:memory: {}
f:persistentvolumeclaims: {}
f:pods: {}
f:replicationcontrollers: {}
f:requests.example.com/dongle: {}
f:requests.storage: {}
f:resourcequotas: {}
f:secrets: {}
f:services: {}
f:services.loadbalancers: {}
f:services.nodeports: {}
f:used:
.: {}
f:configmaps: {}
f:count/replicasets.apps: {}
f:count/resourceclaims.resource.k8s.io: {}
f:cpu: {}
f:ephemeral-storage: {}
f:gold.deviceclass.resource.k8s.io/devices: {}
f:gold.storageclass.storage.k8s.io/persistentvolumeclaims: {}
f:gold.storageclass.storage.k8s.io/requests.storage: {}
f:memory: {}
f:persistentvolumeclaims: {}
f:pods: {}
f:replicationcontrollers: {}
f:requests.example.com/dongle: {}
f:requests.storage: {}
f:resourcequotas: {}
f:secrets: {}
f:services: {}
f:services.loadbalancers: {}
f:services.nodeports: {}
manager: kube-controller-manager
operation: Update
subresource: status
time: "2025-05-09T20:00:28Z"
...
status:
hard:
configmaps: "10"
count/replicasets.apps: "5"
count/resourceclaims.resource.k8s.io: "1"
cpu: "1"
ephemeral-storage: 50Gi
gold.deviceclass.resource.k8s.io/devices: "1"
gold.storageclass.storage.k8s.io/persistentvolumeclaims: "10"
gold.storageclass.storage.k8s.io/requests.storage: 10Gi
memory: 500Mi
persistentvolumeclaims: "10"
pods: "5"
replicationcontrollers: "10"
requests.example.com/dongle: "3"
requests.storage: 10Gi
resourcequotas: "1"
secrets: "10"
services: "10"
services.loadbalancers: "1"
services.nodeports: "1"
used:
configmaps: "1"
count/replicasets.apps: "0"
count/resourceclaims.resource.k8s.io: "0"
cpu: "0"
ephemeral-storage: "0"
gold.deviceclass.resource.k8s.io/devices: "0"
gold.storageclass.storage.k8s.io/persistentvolumeclaims: "0"
gold.storageclass.storage.k8s.io/requests.storage: "0"
memory: "0"
persistentvolumeclaims: "0"
pods: "0"
replicationcontrollers: "0"
requests.example.com/dongle: "0"
requests.storage: "0"
resourcequotas: "1"
secrets: "0"
services: "0"
services.loadbalancers: "0"
services.nodeports: "0"
to have the following .status.used entries:
count/resourceclaims.resource.k8s.io: "1"
gold.deviceclass.resource.k8s.io/devices: "0"
resourcequotas: "0"
In [It] at: k8s.io/kubernetes/test/e2e/apimachinery/resource_quota.go:523 @ 05/09/25 20:05:28.325
This is more useful because the failure is predictable and includes the managed
fields. Those are important in this case because both kube-apiserver
and kube-controller-manager update the status. One of them is not doing its
job.
2025-05-16 08:15:35 +02:00
Kubernetes Prow Robot
d4f73b797a
Merge pull request #131778 from gavinkflam/131426-test-image-busybox-windows-curl
...
test: Fix cURL download of Windows busybox test image
2025-05-15 22:01:13 -07:00
Kubernetes Prow Robot
09ca440a45
Merge pull request #128419 from liggitt/etcd-3.6
...
etcd 3.6 client update
2025-05-15 19:23:13 -07:00
Jordan Liggitt
6b0ebedccc
Set non-experimental WatchProgressNotifyInterval config field
2025-05-15 21:19:18 -04:00
Jordan Liggitt
079d4e52c2
Fix kubeadm etcd client interface
2025-05-15 21:19:18 -04:00