Commit Graph

114136 Commits

Author SHA1 Message Date
Chen Wang
7db339dba2 This commit contains the following:
1. Scheduler bug-fix + scheduler-focussed E2E tests
2. Add cgroup v2 support for in-place pod resize
3. Enable full E2E pod resize test for containerd>=1.6.9 and EventedPLEG related changes.

Co-Authored-By: Vinay Kulkarni <vskibum@gmail.com>
2023-02-24 18:21:21 +00:00
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
231849a908 In-place Pod Vertical Scaling - Scheduler changes 2023-02-24 18:14:21 +00:00
ahg-g
5bca182544 Allow mutating schedulingGates in the Pod template for suspended Jobs 2023-02-24 18:10:26 +00:00
Kubernetes Prow Robot
67f4f9ad5a
Merge pull request #115666 from wojtek-t/refactor_delete_collection
Minor refactor of DeleteCollection in preparation for pagination support there
2023-02-24 09:43:34 -08:00
vinay kulkarni
3c70be1a12 Generated files and compat data from API changes 2023-02-24 17:18:04 +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
cfb32121c1
Merge pull request #115928 from pohly/dra-resource-requirements-pvc
DRA resource requirements in PVC
2023-02-24 08:39:35 -08:00
TommyStarK
5531295bf9 scheduler/framework/plugins/volumebinding: fix inaccurate log for when a volume is bound to a claim
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2023-02-24 16:43:38 +01:00
Patrick Ohly
093469fb30 api: generated files 2023-02-24 16:32:58 +01:00
Patrick Ohly
f32302e744 api: drop Resources.Claims from PVC and PVC template
PVC and containers share the same ResourceRequirements struct. The Claims field
in it only makes sense when used in containers. When used in a PVC, the field
should have been rejected by validation. This was overlooked when introducing
it, so now persisted objects might have it set and/or people may have started
to rely on it being accepted even when it has no effect.

Therefore we cannot reject it in validation anymore, but we can still strip
it out on create or update.
2023-02-24 16:32:58 +01:00
Kubernetes Prow Robot
a5f59ccf37
Merge pull request #116027 from pwschuurman/kep-3335-fix-validation
Remove StatefulSetStartOrdinal feature gate checks in StatefulSet validation
2023-02-24 07:17:45 -08:00
Kubernetes Prow Robot
6e213e7390
Merge pull request #114872 from Iceber/fix_acquire_leader
client-go: fix the wait time for trying to acquire the leader lease
2023-02-24 07:17:34 -08:00
Kubernetes Prow Robot
0753f02851
Merge pull request #115944 from SataQiu/warning-for-externalid
Add field-level warning for deprecated spec.externalID of node
2023-02-24 06:15:47 -08:00
Kubernetes Prow Robot
a8e7572a7b
Merge pull request #114656 from wojtek-t/generalize_cacher_tests_4
Reuse generic Watch test for watchcache
2023-02-24 06:15:34 -08:00
Kubernetes Prow Robot
e8662a46dd
Merge pull request #116037 from wojtek-t/move_cache_watcher
Split cacheWatcher into its own file
2023-02-24 04:01:34 -08:00
Wojciech Tyczyński
a537049110 Split cacheWatcher into its own file 2023-02-24 11:59:01 +01:00
Kubernetes Prow Robot
5961d8ce1b
Merge pull request #115784 from seans3/openapi-fake-client
Refactor to use openapi fake client
2023-02-23 17:03:33 -08:00
Peter Schuurman
a714e9e485 Fix validation.go to validate without StatefulSetStartOrdinal feature gate check. Adds test case to validate regression fix of validation failing when spec.ordinals set and feature gate disabled 2023-02-23 16:22:56 -08: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
Daniel Vega-Myhre
8d31da4599 add validation test case for immutable completions on indexed jobs when AllowElasticIndexedJobs is false 2023-02-23 21:05:03 +00: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
Sean Sullivan
e352d94e45 Refactor to use openapi fake client 2023-02-23 12:13:16 -08:00
Wojciech Tyczyński
e1aa521c14 Minor refactor of DeleteCollection 2023-02-23 20:20:37 +01:00
Daniel Vega-Myhre
15077a0f28 plumb feature gate value through job validation opts and modify validateCompletions function to only check completions == parallelism after the update, not before 2023-02-23 18:09:47 +00: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
7ab7af7111
Merge pull request #115794 from MadhavJivrajani/remove-test-list-deprecated
storage: Get rid of TestListDeprecated
2023-02-23 08:47:34 -08:00
Kubernetes Prow Robot
172431ebf1
Merge pull request #115998 from pacoxu/fix-order
ut: fix TestLegacyFallbackNoCache versions order
2023-02-23 07:35:48 -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
Kubernetes Prow Robot
70c129fea5
Merge pull request #115420 from chendave/2806
kubeadm: skip ipv4 check if the cluster is using IPv6 address
2023-02-23 02:51:36 -08:00
Enrique Llorente
697ea476e2 svc: Support pods with same address
If different pods with same address are exposed by the same service if
some of the endpointslices endpoints are overwriten. This change add the
pod name to the hash function to ensure that all the endpoints are in
place.

Signed-off-by: Enrique Llorente <ellorent@redhat.com>
2023-02-23 11:37:57 +01:00
Patrick Ohly
181fc50f8e e2e framework: deprecate gomega wrappers
All wrappers except for ExpectNoError are identical to their gomega
counterparts. The only advantage that they have is that their invocations are
shorter.

That advantage does not outweigh their disadvantages:
- cannot be used in combination with gomega.Eventually/Consistently
- not a full replacement for gomega, so we just end up using both
- don't support passing a stack offset and thus cannot be used in helper
  functions
- ginkgolinter does not work for them, so sub-optimal calls like this one
  are not reported:

     framework.ExpectEqual(len(items), 0)
     ->
     gomega.Expect(items).To(gomega.BeEmpty())
- developers try to make do with what's available in the framework, leading
  to sub-optimal checks like this:

    framework.ExpectEqual(true, strings.Contains(event.Message, expectedEventError), "Event error should indicate non-root policy caused container to not start")
    ->
    gomega.Expect(event.Message).To(gomega.ContainSubstring(expectedEventError), "Event error should indicate non-root policy caused container to not start")

So let's remove these wrappers. As a first step they get marked as deprecated.
This enables stricter
linting (https://github.com/kubernetes/kubernetes/pull/109728), once enabled,
to report new code which uses them.
2023-02-23 09:51:42 +01:00
Madhav Jivrajani
7474d9b719 storage: Get rid of TestListDeprecated
This commit extends the test cases of RunTestList
to include the things tested by TestListDeprecated
and subsequently deletes the test.

This additionally adds a test case for checking that
the list return the modified version of an object.

Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>
2023-02-23 14:03:10 +05:30
Kubernetes Prow Robot
fc8b5668f5
Merge pull request #115749 from freddie400/removegetAppArmorFS
removed function getAppArmorFS
2023-02-23 00:31:34 -08:00
Kubernetes Prow Robot
3ce7cdda1f
Merge pull request #115827 from borgerli/fix/construct-float
add missed case for float types
2023-02-22 22:07:06 -08:00
Paco Xu
b8ef5be44f ut: fix TestLegacyFallbackNoCache versions order 2023-02-23 12:04:18 +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
SataQiu
ba6fcf4169 add field-level warning for deprecated spec.externalID of node 2023-02-23 09:35:56 +08:00
michael mccune
3a76c95f8e remove aws from e2e loadbalancer udp conntrack tests
These tests are not working as expected on AWS due to the requirement
for the user to add an annotation to the UDP Service created.
2023-02-22 17:08:57 -05:00
Kubernetes Prow Robot
b86f94f438
Merge pull request #115256 from danwinship/nodeport-addresses-2
clean up kube-proxy nodeport address handling (part 2)
2023-02-22 13:07:05 -08:00
Patrick Ohly
8a832d960d golangci-lint: enable ginkgolinter
The ginkgolinter can detect sub-optimal usage of gomega assertions, for
example:

   Expect(len(x)).To(Equal(0)) // should be: Expect(x).To(BeEmpty())
2023-02-22 19:36:05 +01:00
Patrick Ohly
41f23f52d0 test: fix ginkgolinter issues
All of these issues were reported by https://github.com/nunnatsa/ginkgolinter.
Fixing these issues is useful (several expressions get simpler, using
framework.ExpectNoError is better because it has additional support for
failures) and a necessary step for enabling that linter in our golangci-lint
invocation.
2023-02-22 19:36:05 +01:00
Kubernetes Prow Robot
173dde2a8c
Merge pull request #115970 from kannon92/lingering-tracking
left over uncounted from tracking cleanup
2023-02-22 09:57:57 -08:00