Commit Graph

5367 Commits

Author SHA1 Message Date
Antonio Ojea
c421e22e2c slice mirroring controller mirror annotations
Add support to the endpoint slice mirroring controller to mirror
annotations, in addition to labels, but don´t mirror endpoint
triggertime annotation.

Also, fix a bug in the endpointslice mirroring controller, that
wasn't updating the mirrored slice with the new labels, in case
that only the endpoint labels were modified.
2021-03-08 23:20:08 +01:00
Jiawei Wang
1e16615fb0 Relax csiNodeIDMaxLength to longer limit
Update csiNodeIDMaxLength to 192 bytes
2021-03-08 13:52:43 -08:00
Adhityaa Chandrasekar
a0844da8f7 batch: add suspended job
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-03-08 20:08:21 +00:00
Patrick Ohly
3fa43540b6 CSIStorageCapacity: check MaximumVolumeSize during scheduling
If available, then the MaximumVolumeSize is a better indicator whether
creating a volume has a chance to succeed than the total (?) Capacity,
which is potentially larger and less well-defined.
2021-03-08 20:52:51 +01:00
Patrick Ohly
5ca0814165 CSIStorageCapacity: use beta API 2021-03-08 20:52:50 +01:00
Jan Safranek
219cbc818a Refactor CSI migration plugin manager to get featureGates as a parameter
This allows caller to provide fake ones for testing of various corner cases
(migration on A/D controller disabled while enabled on kubelet).
2021-03-08 13:50:01 +01:00
Kubernetes Prow Robot
e688f22da0
Merge pull request #99214 from jpbetz/apply-client-go-builders2-typedclient
Add Apply to client-go's typed client
2021-03-06 22:17:41 -08:00
Joe Betz
293e07a836 Add Apply functions to client-gen 2021-03-06 20:49:06 -05:00
Swetha Repakula
1925d94b18 Graduate EndpointSlice Controllers to GA
- EndpointSlice controller will stop writing to Topology field
 - EndpointSlice controller will only provide NodeName and Zone on
 EndpointSlices
2021-03-06 15:58:47 -08:00
Kubernetes Prow Robot
170c6a9833
Merge pull request #99806 from alculquicondor/job-adoption-unit
Merge tests for getPodsForJob
2021-03-06 12:50:29 -08:00
Kubernetes Prow Robot
bf67ba1c0e
Merge pull request #99791 from soltysh/simplify_unittests
Simplify cronjob v2 controller tests
2021-03-06 12:50:21 -08:00
Kubernetes Prow Robot
bf448a1eaa
Merge pull request #99212 from damemi/alculquicondor-log-timestamp
Logarithmic timestamp comparison for downscaling
2021-03-06 09:47:41 -08:00
Kubernetes Prow Robot
377ed3c2a6
Merge pull request #96441 from smarterclayton/daemonset_surge_impl
DaemonSet controller respects MaxSurge during update
2021-03-06 08:23:42 -08:00
Kubernetes Prow Robot
ed6b9addbf
Merge pull request #96347 from cofyc/kep1845
Prioritizing nodes based on volume capacity
2021-03-05 14:45:43 -08:00
Aldo Culquicondor
a8d105ab72 Logarithmic timestamp comparison for ReplicSet downscaling
Change-Id: I0657ea0ce41b98fdee1a5307b5826a10deaff98c
2021-03-05 15:58:26 -05:00
Maciej Szulik
0a8417e161
Simplify cronjob v2 controller tests 2021-03-05 19:25:51 +01:00
Kubernetes Prow Robot
06a4b6f342
Merge pull request #99423 from soltysh/cronjob_controller
Switch cronjob controller to batch/v1
2021-03-05 10:00:22 -08:00
Yecheng Fu
d791f7feef Prioritizing nodes based on volume capacity: unit tests 2021-03-05 23:59:25 +08:00
Yecheng Fu
21a43586e7 Prioritizing nodes based on volume capacity 2021-03-05 23:59:25 +08:00
Maciej Szulik
78f51f8fa5
Switch cronjob controller to batch/v1 2021-03-05 14:03:34 +01:00
Kubernetes Prow Robot
9067b5691d
Merge pull request #97818 from damemi/remove-util-node-dep
Scheduler: remove direct dependency for k8s.io/kubernetes/pkg/util/node
2021-03-05 04:06:32 -08:00
Morten Torkildsen
1e2a7f381f Add conditions to PDB status 2021-03-04 18:52:02 -08:00
Kubernetes Prow Robot
ba0817b746
Merge pull request #99789 from alculquicondor/indexed-job-unit
Test for removal of invalid and repeated indexes
2021-03-04 14:41:29 -08:00
Kubernetes Prow Robot
4f1bf2558a
Merge pull request #99796 from swetharepakula/remove-nodeName-gate
Remove EndpointSliceNodeName feature gate logic
2021-03-04 13:40:04 -08:00
Kubernetes Prow Robot
fde28141e6
Merge pull request #99756 from robscott/endpointslicemirroring-tracker
Updating EndpointSliceMirroring controller to wait for cache to be updated
2021-03-04 13:39:22 -08:00
Kubernetes Prow Robot
de9821c6d0
Merge pull request #98128 from mortent/AvoidErrOnNonScale
Avoid sending events for every non-conformant pod in disruption controller
2021-03-04 13:38:30 -08:00
Aldo Culquicondor
f0f9f1d540 Merge tests for getPodsForJob 2021-03-04 21:09:33 +00:00
Kubernetes Prow Robot
7afa538f18
Merge pull request #99626 from pohly/generic-ephemeral-volume-protection-controller-cleanup
PVC protection controller: clarify pod shutdown
2021-03-04 11:00:58 -08:00
Kubernetes Prow Robot
a238698ea0
Merge pull request #99446 from pohly/generic-ephemeral-enablement
Generic ephemeral volume enablement
2021-03-04 11:00:30 -08:00
Swetha Repakula
6f5329d4c0 Remove EndpointSliceNodeName feature gate logic
- feature gate has graduated to GA and will always be enabled, so no
 longer need to check if enabled
2021-03-04 09:57:15 -08:00
Rob Scott
06db357e06
Updating EndpointSliceMirroring controller to wait for cache to be updated
This matches the recent updates to the EndpointSliceTracker for the
EndpointSlice controller in #99345 that accomplished the same thing.
2021-03-04 09:16:41 -08:00
Aldo Culquicondor
2dd0c73056 Test for removal of invalid and repeated indexes
in Indexed Job
2021-03-04 16:39:34 +00:00
Mike Dame
af045087d9 Move GetZoneKey function to component-helpers 2021-03-04 10:32:38 -05:00
Kubernetes Prow Robot
c8fe1d9c06
Merge pull request #99614 from mengjiao-liu/update_cronjob_test_desc
modify the TestController2_updateCronJob test method description
2021-03-04 06:42:29 -08:00
Kubernetes Prow Robot
cc4bd511bb
Merge pull request #99746 from swetharepakula/nodeName-feature-gate-ga
Graduate EndpointSliceNodeName feature gate to GA
2021-03-04 02:09:03 -08:00
Kubernetes Prow Robot
180d9cfa8b
Merge pull request #99632 from pohly/storage-capacity-enablement
volume binder: storage capacity enablement
2021-03-04 02:08:20 -08:00
Kubernetes Prow Robot
9fa33ada4b
Merge pull request #99514 from mikkeloscar/hpa-no-scale-down-some-broken-metrics
hpa: Don't scale down if at least one metric was invalid
2021-03-04 02:08:08 -08:00
Kubernetes Prow Robot
3ce93161fe
Merge pull request #97507 from aldudko/controller-logging
Migrate deployment controller log messages to structured logging
2021-03-03 22:49:59 -08:00
mengjiao.liu
f80a799a45 modify the TestController2_updateCronJob test method description 2021-03-04 11:20:33 +08:00
Swetha Repakula
be2ef551d1 Graduate EndpointSliceNodeName feature gate to GA
- Feature gate can be removed when EndpointSlice v1beta1 is removed
  - Remove test cases where feature gate is disabled
2021-03-03 18:13:51 -08:00
Aldo Culquicondor
8812531b8c Add completion index to Job Pods
When .spec.completionMode="Indexed"
2021-03-03 22:45:53 +00:00
Kubernetes Prow Robot
7b0ad65d4d
Merge pull request #99288 from supriya-premkumar/ineffassign
Adds ineffassign to GO linter script.
2021-03-03 14:40:46 -08:00
Kubernetes Prow Robot
53492f79df
Merge pull request #98756 from pacoxu/ut/faster
networking nodeipam UT: set node poll interval to 1s in UT
2021-03-03 14:40:31 -08:00
Kubernetes Prow Robot
59f8ba5ffa
Merge pull request #98595 from SergeyKanzhelev/nodelifecycleSchedulerUnitTestsSpeedUp
sped up scheduler tests by using fake clock
2021-03-03 14:40:21 -08:00
Kubernetes Prow Robot
90ac9cfc58
Merge pull request #97881 from ialidzhikov/nit/unnecessary-type-conversion
Nit: Remove unnecessary type conversion
2021-03-03 14:39:49 -08:00
Sergey Kanzhelev
d24ed4ace1 sped up scheduler tests by using fake clock 2021-03-03 19:12:53 +00:00
Supriya Premkumar
e52e5e486c
Adds ineffassign to GO linter script.
Changes:
 - Enables ineffassign check in the verify scripts.
 - Fixes lint errs.
2021-03-03 08:28:10 -08:00
Patrick Ohly
512401a8a2 scheduler: tests for generic ephemeral volumes
This covers some failure scenarios and feature gate enablement.
2021-03-03 10:13:05 +01:00
Patrick Ohly
d2cc70ee2c scheduler: fail when a pod uses disabled generic ephemeral volumes
Without this error, kube-scheduler was simply ignoring the special
volume source and scheduled the pod. This was unlikely to work in
practice because the volume might have needed binding or the feature
is also disabled on kubelet which then doesn't know what to do with
the volume.
2021-03-03 10:13:05 +01:00
pacoxu
cef6e81fb3 set node poll interval to 10ms in UT
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-03-03 16:39:57 +08:00
Mikkel Oscar Lyderik Larsen
fef092b417
hpa: Don't scale down if at least one metric was invalid
Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
2021-03-03 07:53:01 +01:00
Kubernetes Prow Robot
ee90db514c
Merge pull request #99345 from robscott/endpointslice-wait-for-cache
Updating EndpointSlice controller to wait for cache to be updated
2021-03-02 13:23:20 -08:00
Kubernetes Prow Robot
d1a2af554a
Merge pull request #99115 from pohly/ephemeral-volume-metrics
generic ephemeral volume: add metrics
2021-03-02 12:15:59 -08:00
Kubernetes Prow Robot
a89d783b27
Merge pull request #99553 from alaypatel07/fix-flaky-unit-test
cronjob: fix flaky unit test TestController2_updateCronJob
2021-03-02 11:11:31 -08:00
Rob Scott
e1542606c2
Updating EndpointSlice controller to wait for cache to be updated
This updates the EndpointSlice controller to make use of the
EndpointSlice tracker to identify when expected changes are not present
in the cache yet. If this is detected, the controller will wait to sync
until all expected updates have been received. This should help avoid
race conditions that would result in duplicate EndpointSlices or failed
attempts to update stale EndpointSlices. To simplify this logic, this
also moves the EndpointSlice tracker from relying on resource versions
to generations.
2021-03-02 09:43:46 -08:00
Alay Patel
08bc827e66 cronjob_controller: add metrics for job creation skew duration 2021-03-02 10:38:59 -05:00
Patrick Ohly
98f75290ba generic ephemeral volume: simpler metrics
A CounterVector with status as label may create unnecessary overhead
and using the success case with the empty label value wasn't
easy. It's better to have two seperate counters, one for total number
of calls and one for failed calls.
2021-03-02 12:01:37 +01:00
Patrick Ohly
6cb28fd1b4 generic ephemeral volume: add metrics
As discussed during the production readiness review, a metric for the
PVC create operations is useful. The "ephemeral_volume" workqueue
metrics were already added in the initial implementation.

The new code follows the example set by the endpoints controller.
2021-03-02 12:01:37 +01:00
Patrick Ohly
e98c40a6f9 volume binder: test different CSIStorageCapacity/CSIDriver combinations
When the feature is disabled either in the scheduler or the CSIDriver,
the scheduler is expected to schedule pods without considering whether
storage capacity is available.
2021-03-02 11:08:57 +01:00
Patrick Ohly
1f3ede50f7 PVC protection controller: clarify pod shutdown
The code was correct and now the comment references the code in
kubelet to illustrate how pod shutdown works.
2021-03-02 08:31:12 +01:00
Kubernetes Prow Robot
2e055dac58
Merge pull request #99163 from ahg-g/ahg-pod-deletion
Implements pod deletion cost
2021-03-01 18:19:21 -08:00
Kubernetes Prow Robot
1b88c2ee47
Merge pull request #98912 from wzshiming/ut/speed-up-volume-scheduling
Speed up pkg/controller/volume/scheduling unit tests
2021-03-01 13:58:16 -08:00
Alay Patel
602435ccb9 cronjob: fix flaky unit test TestController2_updateCronJob 2021-03-01 15:45:32 -05:00
Abdullah Gharaibeh
d7e80ab038 Implement pod deletion cost 2021-03-01 13:45:58 -05:00
Clayton Coleman
8d8884a907
daemonset: Remove unnecessary error returns in strategy code
The nodeShouldRunDaemonPod method does not need to return an error
because there are no scenarios under which it fails. Remove the
error return path for its direct calls as well.
2021-03-01 13:23:18 -05:00
Clayton Coleman
9f296c133d
daemonset: Simplify the logic for calculating unavailable pods
In order to maintain the correct invariants, the existing maxUnavailable
logic calculated the same data several times in different ways. Leverage
the simpler structure from maxSurge and calculate pod availability only
once, as well as perform only a single pass over all the pods in the
daemonset. This changed no behavior of the current controller, and
has a structure that is almost identical to maxSurge.
2021-03-01 13:23:16 -05:00
Clayton Coleman
18f43e4120
daemonset: Implement MaxSurge on daemonset update
If MaxSurge is set, the controller will attempt to double up nodes
up to the allowed limit with a new pod, and then when the most recent
(by hash) pod is ready, trigger deletion on the old pod. If the old
pod goes unready before the new pod is ready, the old pod is immediately
deleted. If an old pod goes unready before a new pod is placed on that
node, a new pod is immediately added for that node even past the MaxSurge
limit.

The backoff clock is used consistently throughout the daemonset controller
as an injectable clock for the purposes of testing.
2021-03-01 13:21:12 -05:00
Clayton Coleman
8e6f58b0bd
daemonset: Prevent accidental omissions of test condition checks
It is too easy to omit checking the return value for the
syncAndValidateDaemonSet test in large suites. Switch the method
type to be a test helper and fatal/error directly. Also rename
a method that referenced the old name 'Rollback' instead of
'RollingUpdate'.
2021-03-01 13:20:58 -05:00
Kubernetes Prow Robot
5498ee641b
Merge pull request #99561 from BenTheElder/remove-bazel
Remove Bazel
2021-03-01 09:55:27 -08:00
Kubernetes Prow Robot
f6152d1521
Merge pull request #97086 from xing-yang/check_datasource
Only CSI plugin can have a DataSource
2021-03-01 06:53:26 -08:00
wzshiming
67e4ba0797 Speed up pkg/controller/volume/scheduling unit tests 2021-03-01 11:53:45 +08:00
Morten Torkildsen
5ad4280c09 Avoid sending events for every non-conformant pod in disruption controller 2021-02-28 19:43:25 -08:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
Kubernetes Prow Robot
c200a8f9b7
Merge pull request #98433 from damemi/remove-helper-from-volume-zone
Move GetPersistentVolumeClaimClass to component-helpers
2021-02-26 12:38:15 -08:00
Kubernetes Prow Robot
c198632a12
Merge pull request #97098 from alaypatel07/cronjob-controller-2-follow-up-2
fix the case of time drift and re-implement next schedule calculation
2021-02-25 12:21:40 -08:00
xing-yang
676a3a7012 Only CSI plugin can have a DataSource 2021-02-25 15:27:26 +00:00
Kubernetes Prow Robot
8feec9bf94
Merge pull request #99351 from CaoDonghui123/fixissues3
Remove deadcode
2021-02-24 15:29:34 -08:00
Alay Patel
cebbc6b487 cronjob: use the same schedule Parser for tests as the reconcile loop 2021-02-24 13:50:03 -05:00
Alay Patel
6290a23ceb cronjob_controllerv2: gracefully handle 0 seconds between schedules 2021-02-24 13:48:56 -05:00
xiaofei.sun
fd62f32125 Scheduler: remove pkg/apis/core/field_constants.go 2021-02-24 18:06:29 +08:00
Kubernetes Prow Robot
1af99c4b21
Merge pull request #99274 from serathius/fix
Fix usage of klog.InfoS
2021-02-23 15:23:03 -08:00
caodonghui
f435e24403 Remove deadcode 2021-02-23 17:58:47 +08:00
Kubernetes Prow Robot
186f934e4c
Merge pull request #98346 from mortent/checkForScalePDBs
Check if resources implement scale in disruption controller
2021-02-22 13:58:03 -08:00
Alay Patel
4d7d14d249 update bazel 2021-02-22 12:11:04 -05:00
Alay Patel
0e171969e2 refine the test case for time drift, calculate next schedule with math 2021-02-22 12:11:04 -05:00
Shihang Zhang
1095778dcc remove secret-based sa token client builder 2021-02-21 22:00:40 -08:00
Kubernetes Prow Robot
031f2afbba
Merge pull request #98931 from michaelbeaumont/kubelet_well_known
Move pkg/kubelet/apis to k8s.io/kubelet/pkg/apis
2021-02-20 11:55:41 -08:00
Marek Siarkowicz
7b1f3584f5 Fix usage of klog.InfoS 2021-02-20 19:22:16 +01:00
Shihang Zhang
bbce0468d4 add metrics for rootcacertpublisher controller 2021-02-16 21:56:41 -08:00
Kubernetes Prow Robot
aa28a3563b
Merge pull request #99050 from Jiawei0227/storage_metrics
Add migrated field to storage_operation_duration_seconds metric
2021-02-16 18:21:06 -08:00
Nikhita Raghunath
b11516d69f *: move gmarek to emeritus_approvers 2021-02-16 10:59:19 +05:30
Alex Dudko
dcdde707ab Migrate deployment controller log messages to structured logging 2021-02-14 11:09:52 -08:00
Jiawei Wang
3d61b56bcd update bazel 2021-02-12 17:50:40 -08:00
Jiawei Wang
6a7222cf4e Add migrated field to storage_operation_duration_seconds metric 2021-02-12 17:35:01 -08:00
Kubernetes Prow Robot
002fb9fc5e
Merge pull request #98676 from ahg-g/ahg-ttl
JobDeletionDurationSeconds metric in TTLAfterFinished controller
2021-02-12 16:57:05 -08:00
Abdullah Gharaibeh
181e2173cf Added time to deletion metric to ttl-after-finidhed controller 2021-02-12 13:02:17 -05:00
Khaled (Kal) Henidak
3e56ddae67 upgrade IPv6DualStack feature to beta and turn on by default 2021-02-10 23:14:05 +00:00
Kubernetes Prow Robot
18605d8814
Merge pull request #98792 from wzshiming/ut/speed-up-persistentvolume
Speed up pkg/controller/volume/persistentvolume unit tests
2021-02-10 01:06:59 -08:00
Michael Beaumont
a5a6762d33
Move pkg/kubelet/apis to k8s.io/kubelet/pkg/apis 2021-02-09 21:37:39 +01:00
Kubernetes Prow Robot
425d29b39a
Merge pull request #98688 from wangkai1994/fix/pvc_protection_controller_log
migrate pkg/controller/volume/pvc_protection_controller.go to structured logs
2021-02-06 20:13:11 -08:00