Vinay Kulkarni
f2bd94a0de
In-place Pod Vertical Scaling - core implementation
...
1. Core Kubelet changes to implement In-place Pod Vertical Scaling.
2. E2E tests for In-place Pod Vertical Scaling.
3. Refactor kubelet code and add missing tests (Derek's kubelet review)
4. Add a new hash over container fields without Resources field to allow feature gate toggling without restarting containers not using the feature.
5. Fix corner-case where resize A->B->A gets ignored
6. Add cgroup v2 support to pod resize E2E test.
KEP: /enhancements/keps/sig-node/1287-in-place-update-pod-resources
Co-authored-by: Chen Wang <Chen.Wang1@ibm.com>
2023-02-24 18:21:21 +00:00
Vinay Kulkarni
76962b0fa7
In-place Pod Vertical Scaling - API changes
...
1. Define ContainerResizePolicy and add it to Container struct.
2. Add ResourcesAllocated and Resources fields to ContainerStatus struct.
3. Define ResourcesResizeStatus and add it to PodStatus struct.
4. Add InPlacePodVerticalScaling feature gate and drop disabled fields.
5. ResizePolicy validation & defaulting and Resources mutability for CPU/Memory.
6. Various fixes from code review feedback (originally committed on Apr 12, 2022)
KEP: /enhancements/keps/sig-node/1287-in-place-update-pod-resources
2023-02-24 17:18:04 +00:00
Kubernetes Prow Robot
35f3fc59c1
Merge pull request #115236 from danielvegamyhre/scalable-indexed-job
...
Support for elastic Indexed Jobs
2023-02-23 14:57:34 -08:00
Kubernetes Prow Robot
10cdaefc1f
Merge pull request #116005 from gjkim42/fix-createStaticPod
...
Fix createStaticPod to not use container.RestartPolicy
2023-02-23 12:33:35 -08:00
Kubernetes Prow Robot
3bf57e3ded
Merge pull request #115989 from yuanchen8911/closure
...
Replace a function argument in statefulset e2e framework
2023-02-23 09:52:37 -08:00
Kubernetes Prow Robot
f3bb101f54
Merge pull request #115964 from atwamahmoud/fix-scale-crd-target-ref
...
Update ExistsInDiscovery to ignore 404 errors in autoscaling utils framework
2023-02-23 08:47:46 -08:00
Kubernetes Prow Robot
aa98f6f4da
Merge pull request #115606 from wzshiming/fix/termination_grace_period_seconds
...
`pod.spec.terminationGracePeriodSeconds` is a negative then convert to 1
2023-02-23 07:35:35 -08:00
Mahmoud Atwa
5df798f22c
Fix import alias issue for errors package
2023-02-23 12:22:32 +00:00
Gunju Kim
f690a0ce41
Fix createStaticPod to not use container.RestartPolicy
2023-02-23 21:18:24 +09:00
Kubernetes Prow Robot
3702411ef9
Merge pull request #115926 from ffromani/e2e-node-remove-kubevirt-device-plugin
...
e2e: node remove: kubevirt device plugin
2023-02-23 04:13:35 -08:00
Yuan Chen
214bb8e573
Remove a closure function in statefulset e2e
2023-02-22 19:30:13 -08:00
Daniel Vega-Myhre
c63f448451
change test names and address other comments
2023-02-23 03:25:17 +00:00
Daniel Vega-Myhre
b0b0959b92
address comments
2023-02-23 03:25:16 +00:00
Daniel Vega-Myhre
d41302312e
update validation logic so completions is mutable iff completions is modified in tandem with parallelsim so completions == parallelism
2023-02-23 03:25:16 +00:00
Mahmoud Atwa
13d25acdfa
Remove version check & 403 ignore
2023-02-22 16:03:18 +00:00
cc
d49bff855f
refine: the server-side http Request Body is always non-nil ( #115908 )
...
* refine: the server-side http Request Body is always non-nil
* revert changes under vendor
* Update staging/src/k8s.io/pod-security-admission/cmd/webhook/server/server.go
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
* Update main.go
---------
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2023-02-22 07:18:09 -08:00
Mahmoud Atwa
e4c25afa59
Remove unneeded edit in error formatting
2023-02-22 13:51:01 +00:00
Mahmoud Atwa
b1980b2f6b
Update ExistsInDiscovery to ignore 404 & 403 errors in autoscaling utils framework
2023-02-22 13:41:46 +00:00
Francesco Romani
00b41334bf
e2e: node: podresources: fix restart wait
...
Fix the waiting logic in the e2e test loop to wait
for resources to be reported again instead of making logic on the
timestamp. The idea is that waiting for resource availability
is the canonical way clients should observe the desired state,
and it should also be more robust than comparing timestamps,
especially on CI environments.
Signed-off-by: Francesco Romani <fromani@redhat.com>
2023-02-22 14:04:55 +01:00
Francesco Romani
92e00203e0
e2e: node: unify sample device plugin utilities
...
Start to consolidate the sample device plugin utility
and constants in a central place, because we need
to use it in different e2e tests.
Having a central dependency is better than a maze of
entangled e2e tests depending on each other helpers.
Signed-off-by: Francesco Romani <fromani@redhat.com>
2023-02-22 14:04:55 +01:00
Francesco Romani
871201ba64
e2e: node: remove kubevirt device plugin
...
The podresources e2e tests want to exercise the case on which a device
plugin doesn't report topology affinity. The only known device plugin
which had this requirement and didn't depend on specialized hardware
was the kubevirt device plugin, which was however deprecated after
we started using it.
So the e2e tests are now broken, and in any case they can't depend on
unmaintained and liable to be obsolete code.
To unblock the state and preserve some e2e signal, we switch to the
sample device plugin, which is a stub implementation and which is
managed in-tree, so we can maintain it and ensure it fits the e2e test
usecase.
This is however a regression, because e2e tests should try their hardest
to use real devices and avoid any mocking or faking.
The upside is that using a OS-neutral device plugin for the tests enables
us to run on all the supported platform (windows!) so this could allow
us to transition these tests to conformance.
Signed-off-by: Francesco Romani <fromani@redhat.com>
2023-02-22 14:04:22 +01:00
Francesco Romani
aa1a0385e2
e2e: node: podresources: internal cleanup
...
rename getPodResources for clarity. Allow to return error
(and not use ginkgo expectations), so it can actually be used
as intended inside `Eventually` blocks without blow up at the
first failure.
Signed-off-by: Francesco Romani <fromani@redhat.com>
2023-02-22 13:49:13 +01:00
Shiming Zhang
b70d1377bb
Add test for Pod TerminationGracePeriodSeconds is negative
2023-02-22 13:36:16 +08:00
Anish Ramasekar
c9b8ad6a55
[KMSv2] restructure kms staging dir
...
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-02-21 22:40:25 +00:00
Kubernetes Prow Robot
06b6644fcf
Merge pull request #115815 from Huang-Wei/pod-scheduling-readiness-beta
...
Graduate PodSchedulingReadiness to beta
2023-02-21 14:24:32 -08:00
Kubernetes Prow Robot
edea44c82e
Merge pull request #113205 from mimowo/oomkiller-e2e-node-test
...
Add e2e_node test for oom killed container reason
2023-02-21 14:23:55 -08:00
Kubernetes Prow Robot
487c443239
Merge pull request #115710 from pohly/e2e-import-restrictions
...
e2e framework: revise import restrictions
2023-02-20 17:17:48 -08:00
Kubernetes Prow Robot
b6582ffcd5
Merge pull request #115863 from jsafrane/remove-vsphere-test-global
...
Remove global vSphere framework variable
2023-02-20 11:09:48 -08:00
cpanato
a2c5863adc
update distroless iptables to v0.2.1
...
Signed-off-by: cpanato <ctadeu@gmail.com>
2023-02-20 13:44:09 +01:00
Jan Safranek
ba099644b2
Remove global framework variable
...
`f framework.Framework` does not need to be global, it's used only on a few
places.
This fixes vSphereDriver.PrepareTest() in in_tree.go that schedules
ginkgo.DeferCleanup() that uses the global `f` variable, but its value is not
valid at the time of ginkgo cleanup.
2023-02-20 11:00:12 +01:00
Michal Wozniak
fd28f69ca4
Add e2e_node test for oom killed container reason
2023-02-20 08:15:45 +01:00
Arda Güçlü
6c346e6cc9
Re-enable label selector
2023-02-20 09:10:51 +03:00
Arda Güçlü
6e8a1beda7
Add integration test for diff --prune --selector
...
This PR adds new integration tests for `kubectl diff --prune -l` to
catch possible regressions in the future.
2023-02-20 09:10:50 +03:00
Kubernetes Prow Robot
d6fe718e19
Merge pull request #115800 from shogohida/switch-image-in-grpc-probe-tests-to-agnhost
...
Switch image in gRPC probe tests to agnhost
2023-02-18 10:19:36 -08:00
Shogo Hida
7cbf007e47
Fix port number
...
Signed-off-by: Shogo Hida <shogo.hida@gmail.com>
2023-02-18 20:44:10 +09:00
Kubernetes Prow Robot
70b2e4aa3e
Merge pull request #113312 from jiahuif-forks/feature/cel/builtins
...
OpenAPI-based CEL type library
2023-02-18 00:31:36 -08:00
Wei Huang
72863f65d6
Graduate PodSchedulingReadiness to beta
2023-02-17 18:45:20 -08:00
Shogo Hida
26f95f475a
Fix arguments
...
Signed-off-by: Shogo Hida <shogo.hida@gmail.com>
2023-02-18 09:51:17 +09:00
Davanum Srinivas
4ecb4670cc
Remove unnecessary ETCD_UNSUPPORTED_ARCH for arm64
...
we should only use this env var for `arm`, since `arm64` is fully
supported by etcd folks, let us drop this!
(ex - https://github.com/etcd-io/etcd/releases/tag/v3.5.6 )
ppc64le comment should be dropped as well
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-02-16 21:29:13 -05:00
Kubernetes Prow Robot
5c09c9de29
Merge pull request #115828 from cpanato/go1201
...
[go] Bump images, dependencies and versions to go 1.20.1
2023-02-16 09:55:56 -08:00
Kubernetes Prow Robot
d004f324d3
Merge pull request #114447 from yulng/elseyw
...
fix:Optimize code for else logic
2023-02-16 08:33:40 -08:00
cpanato
65230338ad
[go] Bump images, dependencies and versions to go 1.20.1
...
Signed-off-by: cpanato <ctadeu@gmail.com>
2023-02-16 13:38:32 +01:00
Kubernetes Prow Robot
1e84987bac
Merge pull request #115799 from pohly/test-util-data-race
...
test/utils: avoid data race during parallel create
2023-02-16 01:53:38 -08:00
Patrick Ohly
501a7678b3
test/utils: avoid data race during parallel create
...
The client-go Create call writes into the object that it gets passed. Each call
therefore needs its own copy when invoked in parallel.
Seen in
go test -v -timeout=0 -bench=.*/SchedulingBasic/5000Nodes -race ./test/integration/scheduler_perf
WARNING: DATA RACE
Read at 0x00c003fa5b00 by goroutine 45227:
k8s.io/apimachinery/pkg/apis/meta/v1.(*TypeMeta).GroupVersionKind()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go:126 +0x84
k8s.io/apimachinery/pkg/runtime.WithVersionEncoder.Encode()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime/helper.go:231 +0x176
k8s.io/apimachinery/pkg/runtime.(*WithVersionEncoder).Encode()
<autogenerated>:1 +0xfb
k8s.io/apimachinery/pkg/runtime.Encode()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime/codec.go:50 +0xb3
k8s.io/client-go/rest.(*Request).Body()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/rest/request.go:469 +0x884
k8s.io/client-go/kubernetes/typed/core/v1.(*pods).Create()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes/typed/core/v1/pod.go:126 +0x264
k8s.io/kubernetes/test/utils.CreatePodWithRetries.func1()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/create_resources.go:61 +0x111
k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:222 +0x30
k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:262 +0x7b
k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtection()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:255 +0x5c
k8s.io/apimachinery/pkg/util/wait.ExponentialBackoff()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:431 +0x67
k8s.io/kubernetes/test/utils.RetryWithExponentialBackOff()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/create_resources.go:53 +0x1be
k8s.io/kubernetes/test/utils.CreatePodWithRetries()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/create_resources.go:70 +0x1bf
k8s.io/kubernetes/test/utils.makeCreatePod()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/runners.go:1339 +0x68
k8s.io/kubernetes/test/utils.CreatePod.func1()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/runners.go:1349 +0xab
k8s.io/client-go/util/workqueue.ParallelizeUntil.func1()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue/parallelizer.go:90 +0x1c1
Previous write at 0x00c003fa5b00 by goroutine 45250:
k8s.io/apimachinery/pkg/apis/meta/v1.(*TypeMeta).SetGroupVersionKind()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go:121 +0x1cc
k8s.io/apimachinery/pkg/runtime.WithVersionEncoder.Encode()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime/helper.go:241 +0x408
k8s.io/apimachinery/pkg/runtime.(*WithVersionEncoder).Encode()
<autogenerated>:1 +0xfb
k8s.io/apimachinery/pkg/runtime.Encode()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime/codec.go:50 +0xb3
k8s.io/client-go/rest.(*Request).Body()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/rest/request.go:469 +0x884
k8s.io/client-go/kubernetes/typed/core/v1.(*pods).Create()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes/typed/core/v1/pod.go:126 +0x264
k8s.io/kubernetes/test/utils.CreatePodWithRetries.func1()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/create_resources.go:61 +0x111
k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:222 +0x30
k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:262 +0x7b
k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtection()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:255 +0x5c
k8s.io/apimachinery/pkg/util/wait.ExponentialBackoff()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:431 +0x67
k8s.io/kubernetes/test/utils.RetryWithExponentialBackOff()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/create_resources.go:53 +0x1be
k8s.io/kubernetes/test/utils.CreatePodWithRetries()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/create_resources.go:70 +0x1bf
k8s.io/kubernetes/test/utils.makeCreatePod()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/runners.go:1339 +0x68
k8s.io/kubernetes/test/utils.CreatePod.func1()
/nvme/gopath/src/k8s.io/kubernetes/test/utils/runners.go:1349 +0xab
k8s.io/client-go/util/workqueue.ParallelizeUntil.func1()
/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/util/workqueue/parallelizer.go:90 +0x1c1
2023-02-16 08:44:42 +01:00
Kubernetes Prow Robot
908803081f
Merge pull request #115811 from danwinship/e2e-userspace-cleanup
...
Remove checks for userspace proxy mode in e2e tests
2023-02-15 18:03:49 -08:00
Kubernetes Prow Robot
292450717c
Merge pull request #115394 from ritazh/kmsv2-metrics
...
kmsv2: add metrics
2023-02-15 18:03:37 -08:00
Kubernetes Prow Robot
a25834cb5a
Merge pull request #115802 from logicalhan/webhook-metrics
...
webhook metrics top out at 2.5s but default timeout is 10s
2023-02-15 15:29:11 -08:00
Rita Zhang
bd0f7f8ee8
kmsv2: add metrics
...
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>
2023-02-15 15:08:24 -08:00
Dan Winship
9283429f22
Remove checks for userspace proxy mode in e2e tests
...
It's gone
2023-02-15 16:30:58 -05:00
Han Kang
7b823002f3
add 25s bucket
2023-02-15 10:31:12 -08:00