Commit Graph

5988 Commits

Author SHA1 Message Date
Mengjiao Liu
beda4cafb6 kubelet: Remove the deprecated flag --experimental-check-node-capabilities-before-mount 2022-01-06 11:47:11 +08:00
Kubernetes Prow Robot
abfe397ceb
Merge pull request #107166 from jsafrane/fix-pv-controller-tests
Fix PV controller unit test 5-7
2022-01-04 23:03:27 -08:00
Jan Safranek
0f9832d095 Fix PV name in unit test
Test 5-5 should use PV with "5-5"i in the name. It makes log analysys
much easier.
2022-01-03 15:20:12 +01:00
houjun
de6fc49a99 pointer usage error 2022-01-02 13:55:53 +08:00
Kubernetes Prow Robot
f0dbc32ed9
Merge pull request #106853 from gnufied/disable-exp-backoff-volume-not-inuse
When volume is not marked in-use, do not backoff
2021-12-22 19:46:37 -08:00
Arda Güçlü
ef39a89142 Remove deprecated discovery/ServerResources function
ServerResources function was deprecated and instead ServerGroupsAndResources
function is suggested.

This PR removes ServerResources function and move every place to use ServerGroupsAndResources.
2021-12-22 11:14:09 +03:00
Jan Safranek
045ca75c03 Deflake PV metrics unit test
Test 5-7 tries to delete a PVC at the very same time when it detects that
the PV controller started processing the PVC. The controller then sometimes
can't update the PVC and generate an event for it that the test expects.

From PV controller logs (not shown in CI):
> I1221 14:36:34.548160  104481 pv_controller.go:815] updating PersistentVolumeClaim[default/claim5-7] status: set phase Lost failed: cannot update claim claim5-7: claim not found

Typical error in CI:
> FAIL: TestControllerSync (83.22s)
> framework_test.go:202: Event "Warning ClaimLost" not emitted

Therefore wait for the PVC to be fully processed before deleting the PVC to
avoid races.
2021-12-21 15:36:44 +01:00
Jan Safranek
e323306ce0 Add new watchers to PV controller tests
Add fake Pod and Node watchers to the tests. It only reduces test noise:

Failed to watch *v1.Pod: unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:"", Verb:"watch", Resource:schema.GroupVersionResource{Group:"", Version:"v1", Resource:"pods"}, Subresource:""}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:""}}
2021-12-21 15:36:34 +01:00
Kubernetes Prow Robot
13e97453f9
Merge pull request #107091 from robscott/endpointslice-metrics-perf
Improving performance of EndpointSlice controller metrics cache
2021-12-21 01:08:45 -08:00
Rob Scott
242c33615e
Improving performance of EndpointSlice controller metrics cache 2021-12-20 10:26:47 -08:00
Hemant Kumar
7989f27044 use node informer to check volumes attachment status before backoff
fix unit tests
2021-12-20 11:57:05 -05:00
Kubernetes Prow Robot
8ade75465a
Merge pull request #104799 from RyanAoh/cronjob_dev
fix the error when cleaning up finished jobs for cronjob
2021-12-17 13:23:53 -08:00
sivchari
a5c5acf56e fix curent to current 2021-12-17 03:33:22 +09:00
Kubernetes Prow Robot
1426587e08
Merge pull request #106436 from dims/cleanup-owners-files-no-activity-in-a-year
Cleanup OWNERS files (No Activity in the last year)
2021-12-15 12:07:51 -08:00
Davanum Srinivas
497e9c1971
Cleanup OWNERS files (No Activity in the last year)
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-15 10:34:02 -05:00
Kubernetes Prow Robot
8324868f89
Merge pull request #106950 from sunzhaochang/fix-unexpected-end-test
Fix unexpected end of TestDependentsRace
2021-12-14 15:16:49 -08:00
Kubernetes Prow Robot
ba200841fd
Merge pull request #106366 from cyclinder/evictions_number_stable
adding evictions_total metric and marking evictions_number deprecated
2021-12-12 23:19:59 -08:00
cyclinder
b88b51c6e5 adding evictions_total metric and marking evictions_number deprecated
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-13 10:36:02 +08:00
sunzhaochang
f0e74bfb7f Fix unexpected end of TestDependentsRace 2021-12-10 20:07:37 +08:00
Davanum Srinivas
9405e9b55e
Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:26 -05:00
Kubernetes Prow Robot
d16a5e5feb
Merge pull request #106673 from qmloong/qmloong/master
refactor: use utilerrors instead of join error msg
2021-12-07 18:27:22 -08:00
Kubernetes Prow Robot
12901b95c9
Merge pull request #106344 from ikeeip/fix_import_formatting
Fix golang imports in k8s.io/pkg/controller/volume/persistentvolume package
2021-12-07 17:26:40 -08:00
menglong.qi
ea31d7b813 refactor: use utilerrors instead of join error msg 2021-11-28 17:16:17 +08:00
Matthew Cary
0e2b901762 Clean up deep copy needed for UpdateStatefulSet
Change-Id: Id732358183d682d1a945cfee56f83bcaac0d7c31
2021-11-23 06:48:54 -08:00
Aohan Yang
ad4fe13528 fix the error when cleaning up jobs for cronjob 2021-11-22 17:06:22 +08:00
Kubernetes Prow Robot
084b28f6d5
Merge pull request #106510 from robscott/topology-ready-fix-controller
Updating TopologyCache to disregard unready endpoints in calculations
2021-11-19 17:07:11 -08:00
Rob Scott
9813ec7e8a
Updating TopologyCache to disregard unready endpoints in calculations 2021-11-18 13:54:09 -08:00
Matthew Cary
53b3a6c1d9 controller change for statefulset auto-delete (tests)
Change-Id: I16b50e6853bba65fc89c793d2b9b335581c02407
2021-11-17 16:48:50 -08:00
Matthew Cary
bce87a3e4f controller change for statefulset auto-delete (implementation) 2021-11-17 16:48:50 -08:00
Kubernetes Prow Robot
39c76ba2ed
Merge pull request #106455 from soltysh/cronjob_warning
Add warning about using unsupported CRON_TZ
2021-11-16 17:44:31 -08:00
Kubernetes Prow Robot
165b581759
Merge pull request #105623 from ash2k/ash2k/resettable-rest-mapper
ResettableRESTMapper to make it possible to reset wrapped mappers
2021-11-16 16:36:08 -08:00
Kubernetes Prow Robot
6805e6ee41
Merge pull request #104722 from leiyiz/migration
turning on the CSIMigrationGCE feature flag
2021-11-16 15:28:32 -08:00
Kubernetes Prow Robot
f151a40d8d
Merge pull request #106154 from gnufied/recover-expansion-failure-123
Recover expansion failure
2021-11-16 13:21:34 -08:00
Léiyì Zhang
275fdf0884 fixing unit test failures induced by turning on CSIMigrationGCE
disable CSIMigrationGCE in some unit tests
2021-11-16 19:26:30 +00:00
Maciej Szulik
d0518848b5
Add warning about using unsupported CRON_TZ
CRON_TZ variable slipped in during upgrading github.com/robfig/cron
library.  It allows setting a time zone which is a long requested
feature but one that is not officially supported. This adds warning
event since users should not rely on unsupported features.
2021-11-16 17:41:37 +01:00
Hemant Kumar
1ddd598d31 Implement controller and kubelet changes for recovery from resize
failures
2021-11-16 11:06:46 -05:00
Kubernetes Prow Robot
6d1d8c73ee
Merge pull request #106316 from josephburnett/controller-v2
Watch HPA v2 instead of v1.
2021-11-16 06:41:38 -08:00
Joseph Burnett
711f96e05e Watch HPA v2 instead of v1. 2021-11-16 11:13:21 +01:00
Kubernetes Prow Robot
ce98eda406
Merge pull request #106376 from jsafrane/stabilize-unit-test
Fix deletion protection unit test
2021-11-15 13:04:48 -08:00
shawnhanx
acc55500bc should omit comparison to bool constant in pkg/controller/controller_utils.go 2021-11-13 17:15:25 +08:00
Neha Lohia
fa1b6765d5
move pkg/util/node to component-helpers/node/util (#105347)
Signed-off-by: Neha Lohia <nehapithadiya444@gmail.com>
2021-11-12 07:52:27 -08:00
Jan Safranek
bb8157d780 Fix deletion protection unit test
The test should not depend on current set of default feature gates, it
should always ensure the ones necessary for the tests are set.
2021-11-12 10:47:15 +01:00
Kubernetes Prow Robot
2bd67845d4
Merge pull request #105550 from damemi/wire-contexts-rbac
Wire contexts to RBAC controllers
2021-11-11 15:15:25 -08:00
Konstantin Misyutin
7434fdf1d4 fix import formatting in k8s.io/pkg/controller/volume/persistentvolume package
Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-11-11 16:31:38 +08:00
Mike Dame
80c01707e0
Wire contexts to Batch controllers (#105491)
* Wire contexts to Batch controllers

* (hold) feedback + updates that overlap with Apps controllers

* fixup errors
2021-11-10 14:56:46 -08:00
Kubernetes Prow Robot
91ff1f9840
Merge pull request #101250 from evertrain/master
Bugfix: prevent daemon controller to adopt controller revisions of ot…
2021-11-10 09:19:26 -08:00
Kubernetes Prow Robot
9b083c4226
Merge pull request #105773 from deepakkinni/2680_fgate_v1
PV controller changes to support PV Deletion protection finalizer
2021-11-10 05:33:26 -08:00
Kubernetes Prow Robot
8e02b78873
Merge pull request #102534 from wangyysde/create-hpav2stable
Create HPA v2 Stable API
2021-11-09 10:27:48 -08:00
Kubernetes Prow Robot
376b2150d5
Merge pull request #105874 from cyclinder/Add_func_name_to_comment
fix some lint error
2021-11-09 08:29:47 -08:00
evertrain
a67f22c849 add ut for cluster-scoped controller case 2021-11-09 23:50:24 +08:00
wangyysde
d2abddd909 rename v2beta2 to v2
Signed-off-by: wangyysde <net_use@bzhy.com>

Generation swagger.json.

Use v2 path for hpa_cpu_field.

run update-codegen.sh

Signed-off-by: wangyysde <net_use@bzhy.com>
2021-11-09 10:34:54 +08:00
Deepak Kinni
bfd5f23a0b PV controller changes to support PV Deletion protection finalizer
Signed-off-by: Deepak Kinni <dkinni@vmware.com>
2021-11-08 10:35:58 -08:00
Mikhail Mazurskiy
de4598d0db
ResettableRESTMapper to make it possible to reset wrapped mappers 2021-11-06 10:44:02 +11:00
Manu Gupta
79a51090f9
fix: 81134: fix unsafe json for ReleaseControllerRevision (#104049)
* fix: 81134: fix unsafe json for ReleaseControllerRevision

1. Ensures that ReleaseControllerRevision returns a proper json by
marshalling an object into bytes. Otherwise, it returns an error.

2. Also, refactors the code to commonize the merge type
   GenerateDeleteOwnerRefStrategicMergeBytes that returns a byte and is
   used across ReleasePod, ReleaseControllerRevison
   ReleaseReplicaSet.

* Move GeneratePatchBytesForDelete to controller_ref_manager
2021-11-05 06:33:52 -07:00
Kubernetes Prow Robot
ed42bbd722
Merge pull request #106126 from soltysh/remove_old_cronjob
Remove old cronjob controller
2021-11-04 20:35:53 -07:00
Maciej Szulik
5254493044
Remove old cronjob controller 2021-11-04 13:24:28 +01:00
Carl
b3e4fed844
only apply this check if the controller is actually namespaced
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2021-11-04 13:08:47 +08:00
Kubernetes Prow Robot
4dfd739403
Merge pull request #105997 from robscott/mirroring-selector
Fixing how EndpointSlice Mirroring handles Service selector transitions
2021-11-03 12:48:32 -07:00
Kubernetes Prow Robot
aa0ea62489
Merge pull request #104903 from ikeeip/storageobjectinuseprotection_feature_ga_cleanup
Remove StorageObjectInUseProtection feature gate logic
2021-11-02 20:22:57 -07:00
Shihao Xia
afb0023ab3 fix potential deadlock 2021-11-02 20:46:06 -04:00
Kubernetes Prow Robot
3fdeb490e0
Merge pull request #105510 from damemi/wire-contexts-bootstrap
Wire contexts to Bootstrap controllers
2021-11-02 14:27:42 -07:00
Konstantin Misyutin
808c8f42d5 Remove StorageObjectInUseProtection feature gate logic
This feature has graduated to GA in v1.11 and will always be
enabled. So no longe need to check if enabled.

Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-11-03 00:13:50 +03:00
Kubernetes Prow Robot
9be67806cd
Merge pull request #102945 from chenchun/fake
Pass DeleteOptions down to the Reactor
2021-11-02 07:14:58 -07:00
Chun Chen
621970476f Pass DeleteOptions down to the Reactor
Co-authored-by: Mo Khan <theenjeru@gmail.com>
2021-11-02 10:04:48 +08:00
evertrain
9ceb226c06 Bugfix prevent daemon controller to adopt controller revisions of other namespaces 2021-11-02 00:14:26 +08:00
Mike Dame
4960d0976a Wire contexts to Core controllers 2021-11-01 10:29:00 -04:00
Rob Scott
794f0cb7f1
Fixing how EndpointSlice Mirroring handles Service selector transitions 2021-10-29 11:03:28 -07:00
Kubernetes Prow Robot
c592bd40f2
Merge pull request #105609 from pohly/generic-ephemeral-volume-ga
generic ephemeral volume GA
2021-10-28 17:36:50 -07:00
Kubernetes Prow Robot
8e37a3b324
Merge pull request #103868 from qingsenLi/210723-forget
Merge conditional assignment into variable declaration
2021-10-28 16:32:50 -07:00
Kubernetes Prow Robot
6edcb60d9f
Merge pull request #104915 from alculquicondor/job-ready
Track ready pods in Job status
2021-10-28 09:20:26 -07:00
Shuanglu
9bcfa71e31
Fix Daemonset controller role missing 'update pod' permission (#104758)
* fix_dsc_rbac_pod_update

* add test for DaemonSet Controller updates label of the pod after "DedupCurHistories"

* rebase

* update parameter of dsc.Run
2021-10-28 05:24:26 -07:00
cyclinder
ab47b8b94b fix some lint error
Signed-off-by: cyclinder <qifeng.guo@daocloud.io>
2021-10-26 13:56:29 +08:00
Aldo Culquicondor
60fc90967b Count ready pods in job controller
When the feature gate JobReadyPods is enabled.

Change-Id: I86f93914568de6a7029f9ae92ee7b749686fbf97
2021-10-19 15:18:37 -04:00
Konstantin Misyutin
dbc9d7b71a Remove tests when StorageObjectInUseProtection feature is disabled
As well as feature gate are locked, the tests when this feature is
disabled will crash. So we should remove them together with locking
the feature.

Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-10-15 19:39:37 +08:00
Kubernetes Prow Robot
0bfa37dfcc
Merge pull request #105676 from alculquicondor/job-name
Fix name for Pods of NonIndexed Jobs
2021-10-14 10:50:12 -07:00
Aldo Culquicondor
4ef9d18abe Fix name for Pods of NonIndexed Jobs
Change-Id: I0ea4685a82f4cdec0caab362d52144476652f95a
2021-10-14 10:55:46 -04:00
Kubernetes Prow Robot
3aafe75698
Merge pull request #105461 from damemi/wire-contexts-autoscaling
Wire contexts to Autoscaling controllers
2021-10-14 06:59:33 -07:00
Kubernetes Prow Robot
f27e4714ba
Merge pull request #105377 from damemi/wire-contexts-apps
Wire contexts to Apps controllers
2021-10-14 06:59:19 -07:00
Kubernetes Prow Robot
baaa53db64
Merge pull request #105211 from xiaopingrubyist/fix-pv-controller-claim-cache-issue
fix:claim cached in pvcontroller is not the newest may cause unexpected issue
2021-10-14 05:47:18 -07:00
Mike Dame
41fcb95f2f Wire contexts to Apps controllers 2021-10-13 16:32:13 -04:00
torubylist
f28a8d7f2b fix:cached claim is not the newest will cause unexpected issue 2021-10-13 20:03:00 +08:00
Mike Dame
7780024916 Wire contexts to Autoscaling controllers 2021-10-12 14:34:05 -04:00
Maciej Szulik
8322121434
Move test-related utils to test/utils 2021-10-12 14:52:19 +02:00
Maciej Szulik
1fb6bf8a14
Wire context instead of TODO 2021-10-12 13:21:45 +02:00
Patrick Ohly
a8c930ef46 generic ephemeral volume: graduation to GA
The feature gate gets locked to "true", with the goal to remove it in two
releases.

All code now can assume that the feature is enabled. Tests for "feature
disabled" are no longer needed and get removed.

Some code wasn't using the new helper functions yet. That gets changed while
touching those lines.
2021-10-11 20:54:20 +02:00
Mike Dame
3f0b6d390c Wire contexts to RBAC controllers 2021-10-07 15:04:49 -04:00
Kubernetes Prow Robot
b0eac84937
Merge pull request #105345 from pohly/generic-ephemeral-volume-util
generic ephemeral volume util, base code and controller
2021-10-07 08:19:47 -07:00
Jordan Liggitt
81fa9855c1 Fix quota controller hotloop in integration tests 2021-10-06 11:34:32 -04:00
Mike Dame
6ce2924818 Wire contexts to Bootstrap controllers 2021-10-06 10:27:32 -04:00
Patrick Ohly
4ae0eecb34 controller: use generic ephemeral volume helper functions
The name concatenation and ownership check were originally considered small
enough to not warrant dedicated functions, but the intent of the code is more
readable with them.

There also was a missing owner check in the attach controller.
2021-10-06 14:01:44 +02:00
Kubernetes Prow Robot
debd6c1e9e
Merge pull request #104526 from jingxu97/aug/volumeattach
Fix issue in node status updating VolumeAttached list
2021-10-05 17:30:32 -07:00
Jing Xu
69b9f9b1f0 Fix issue in node status updating VolumeAttached list
During volume detach, the following might happen in reconciler

1. Pod is deleting
2. remove volume from reportedAsAttached, so node status updater will
update volumeAttached list
3. detach failed due to some issue
4. volume is added back in reportedAsAttached
5. reconciler loops again the volume, remove volume from
reportedAsAttached
6. detach will not be trigged because exponential back off, detach call
will fail with exponential backoff error
7. another pod is added which using the same volume on the same node
8. reconciler loops and it will NOT try to tigger detach anymore

At this point, volume is still attached and in actual state, but
volumeAttached list in node status does not has this volume anymore, and
will block volume mount from kubelet.

The fix in first round is to add volume back into the volume list that
need to reported as attached at step 6 when detach call failed with
error (exponentical backoff). However this might has some performance
issue if detach fail for a while. During this time, volume will be keep
removing/adding back to node status which will cause a surge of API
calls.

So we changed to logic to check first whether operation is safe to retry which
means no pending operation or it is not in exponentical backoff time
period before calling detach. This way we can avoid keep removing/adding
volume from node status.

Change-Id: I5d4e760c880d72937d34b9d3e904ecad125f802e
2021-10-05 09:44:35 -07:00
Kubernetes Prow Robot
519b164db1
Merge pull request #105222 from cyclinder/remove_node_lease_GA
remove nodeLease feature GA
2021-10-05 05:41:21 -07:00
Author cyclinder
e61b901628 remove nodeLease feature GA
Signed-off-by: cyclinder <qifeng.guo@daocloud.io>
2021-10-05 12:23:27 +08:00
Kubernetes Prow Robot
0a29e2a73a
Merge pull request #105197 from alculquicondor/job-tracking
Roll-forward: Beta requirements for JobTrackingWithFinalizers
2021-10-04 18:57:49 -07:00
Aldo Culquicondor
5929ccd391 Track expected removals of Pod finalizers
Add the UIDs of Pods for which we are removing finalizers to an in-memory cache.

The controller removes UIDs from the cache as Pod updates or deletes come in.

This avoids double counting finished Pods when Pod updates arrive after Job status updates.

https://github.com/kubernetes/kubernetes/issues/105200
2021-10-04 16:09:58 -04:00
Kubernetes Prow Robot
c724abae81
Merge pull request #105375 from jonyhy96/fix-clock-util
node: test file use k8s.io/utils/clock instead
2021-10-04 04:19:31 -07:00
Rob Scott
d7a640d831
Excluding Control Plane Nodes from Topology Hints calculations 2021-10-01 15:12:38 -07:00
haoyun
8d9fa1decc fix: use k8s.io/utils/clock instead
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-10-02 00:08:53 +08:00
Aldo Culquicondor
95c2a8024c Parallelize pod updates in job test
To potentially reduce the number of job controller syncs.

Also reduce the maximum number of pods to sync in tests.
2021-10-01 09:55:53 -04:00
Kubernetes Prow Robot
598a8829c1
Merge pull request #105267 from llhuii/fix-topology-hint-bug
TopologyAwareHints: fix getHintsByZone bug
2021-09-28 20:54:48 -07:00
llhuii
e7350d126e TopologyAwareHints: add getHintsByZone unit test 2021-09-29 10:39:03 +08:00
llhuii
528cd30145 TopologyAwareHints: fix getHintsByZone bug
The bug could result in the EndpointSlice controller unnecessarily updating
EndpointSlices associated with a Service that had Topology Aware Hints enabled.
2021-09-28 09:02:24 +08:00
Kubernetes Prow Robot
aec9acda68
Merge pull request #105214 from alculquicondor/job-update
Remove GET job and retries for status updates
2021-09-27 09:05:47 -07:00
devincd
e62aef4fc9 fix the log description
Signed-off-by: devincd <505259926@qq.com>
2021-09-27 14:20:33 +08:00
Khaled Henidak (Kal)
a53e2eaeab
move IPv6DualStack feature to stable. (#104691)
* kube-proxy

* endpoints controller

* app: kube-controller-manager

* app: cloud-controller-manager

* kubelet

* app: api-server

* node utils + registry/strategy

* api: validation (comment removal)

* api:pod strategy (util pkg)

* api: docs

* core: integration testing

* kubeadm: change feature gate to GA

* service registry and rest stack

* move feature to GA

* generated
2021-09-24 16:30:22 -07:00
Kubernetes Prow Robot
b6924839ca
Merge pull request #101987 from sky-philipalmeida/patch-1
Log if PV is still in use trying to delete it
2021-09-23 14:30:54 -07:00
Aldo Culquicondor
a438f16741 Revert "Revert "Add metric job_pod_finished""
This reverts commit 7868fbbe64.
2021-09-23 12:56:29 -04:00
Aldo Culquicondor
47a957d163 Revert "Revert "Limit number of Pods counted in a single Job sync""
This reverts commit 8bcb780808.
2021-09-23 12:56:29 -04:00
Aldo Culquicondor
01f27cd93e Fix log line for target number of running pods 2021-09-23 12:56:29 -04:00
Aldo Culquicondor
eebd678cda Remove GET job and retries for status updates.
Doing a GET right before retrying has 2 problems:
- It can masquerade conflicts
- It adds an additional delay

As for retries, we are better of going through the sync backoff.

In the case of conflict, we know that there was a Job update that would trigger another sync, so there is no need to do a rate limited requeue.
2021-09-23 11:48:34 -04:00
Kubernetes Prow Robot
372103f4b8
Merge pull request #100672 from wangyx1992/structured-log
Structured Logging migration: modify logs of controller-manager
2021-09-22 20:27:10 -07:00
Kubernetes Prow Robot
76c0573ff4
Merge pull request #105181 from alculquicondor/revert
Revert #104739
2021-09-21 16:54:00 -07:00
Aldo Culquicondor
7868fbbe64 Revert "Add metric job_pod_finished"
This reverts commit a0e7a567c5.
2021-09-21 15:16:54 -04:00
Aldo Culquicondor
8bcb780808 Revert "Limit number of Pods counted in a single Job sync"
This reverts commit 7d9cb88fed.
2021-09-21 15:16:50 -04:00
Phil
f1a9402082 Log if PV is still in use trying to delete it
Similar to what we have in:
https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/volume/pvcprotection/pvc_protection_controller.go#L181
The objective is to have a easy way to monitor if a PV will enter in Terminating state due to a failed removal when still in use.
This way we can capture the PV log and alert according.
The code is not tested.

Update pv_protection_controller.go

Change call to Infof
2021-09-21 18:05:16 +01:00
Kubernetes Prow Robot
b34a735bbe
Merge pull request #102523 from stlaz/rootca_metrics_cleanup
rootcacertpublisher: drop the namespace label from metrics to reduce its cardinality
2021-09-20 13:54:24 -07:00
Kubernetes Prow Robot
353f0a5eab
Merge pull request #105095 from wojtek-t/migrate_clock_3
Unify towards k8s.io/utils/clock - part 3
2021-09-20 12:46:45 -07:00
Kubernetes Prow Robot
f55101913f
Merge pull request #105098 from Karthik-K-N/fix-error-format
Fix incorrect format specifier in test files
2021-09-20 08:56:09 -07:00
Shivanshu Raj Shrivastava
bbd809cbd0
Fixing incorrectly migrated structured logs (#105122)
* added keys for structured logging

* used KObj
2021-09-19 12:28:08 -07:00
wojtekt
d9b08c611d Migrate to k8s.io/utils/clock 2021-09-17 15:19:08 +02:00
Kubernetes Prow Robot
399656369f
Merge pull request #104739 from alculquicondor/job-tracking
Beta requirements for JobTrackingWithFinalizers
2021-09-17 04:57:00 -07:00
Karthik K N
c651d50202 Fix incorrect format specifier in test files 2021-09-17 16:27:53 +05:30
Stanislav Laznicka
b67bd722a9
rootcacertpublisher: drop the namespace label from metrics to reduce its cardinality
The `root_ca_cert_publisher_sync_duration_seconds` metric tracks the sync
duration in the root CA cert publisher per code and namespace. In
clusters with a high namespace turnover (like CI clusters), this may
cause the kube-controller-manager to expose over 100k series to
Prometheus, which may cause degradation of that service.

Drop the `namespace` label to remove the metrics' cardinality, tracking
this metric by namespace does not justify the impact of keeping it.
2021-09-16 14:05:32 +02:00
Aldo Culquicondor
a0e7a567c5 Add metric job_pod_finished
To count the number of pods that the job controller successfully tracked with the JobTrackingWithFinalizers feature gate.
2021-09-15 11:19:47 -04:00
Kubernetes Prow Robot
047a6b9f86
Merge pull request #104874 from wojtek-t/migrate_clock_1
Unify towards k8s.io/utils/clock - part 1
2021-09-13 19:09:20 -07:00
Kubernetes Prow Robot
8ac9526475
Merge pull request #101928 from alexanderConstantinescu/drain-workqueue
client-go/workqueue: Drain work queue on shutdown
2021-09-10 18:02:06 -07:00
Aldo Culquicondor
7d9cb88fed Limit number of Pods counted in a single Job sync
This prevents big Jobs from starving smaller ones.
2021-09-10 10:32:04 -04:00
wojtekt
e233feb99b Migrate to k8s.io/utils/clock in pkg/controller 2021-09-10 11:42:32 +02:00
Kubernetes Prow Robot
669de4b957
Merge pull request #104666 from alculquicondor/tracking-beta
Fix Job tracking with finalizers for more than 500 pods
2021-09-09 09:26:11 -07:00
Kubernetes Prow Robot
f9488f314a
Merge pull request #104741 from robscott/topology-logging
Adding more detailed logging for Topology Hints
2021-09-07 16:32:16 -07:00
Kubernetes Prow Robot
bcd2ffbdc1
Merge pull request #104590 from Jiawei0227/anno
Add GA AnnStorageProvisioner annotation to PVC
2021-09-03 06:09:49 -07:00
Rob Scott
f24d917d3c
Adding more detailed logging for Topology Hints 2021-09-02 15:46:14 -07:00
Aldo Culquicondor
23ea5d80d6 Fix Job tracking with finalizers for more than 500 pods
When doing partial updates for uncountedTerminatedPods, the controller might have removed UIDs for Pods which still had finalizers.

Also make more space by removing UIDs that don't have finalizers at the beginning of the sync.
2021-09-01 16:19:04 -04:00
Kubernetes Prow Robot
cd63952f13
Merge pull request #95885 from jiahuif/refactor/controller-manager
refactor: controller manager: InitFunc and base controller interface.
2021-08-27 15:40:52 -07:00
Kubernetes Prow Robot
fca3175df7
Merge pull request #104231 from astraw99/fix_unified_workers
Unify controller worker num param `threadiness` to `workers`
2021-08-27 09:34:05 -07:00
Jiawei Wang
8de0f11946 Add GA AnnStorageProvisioner annotation to PVC
This PR adds GA AnnStorageProvisioner annotation to
a PVC if the PVC requires dynamic provisioning. This
also deprecates the beta AnnStorageProvisioner annotation
and it will be removed in a later release.
2021-08-26 12:46:47 -07:00
Jiahui Feng
8f5771d243 use common controller interface in KCM. 2021-08-25 13:29:03 -07:00
Stephen Augustus
481cf6fbe7
generated: Run hack/update-gofmt.sh
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-08-24 15:47:49 -04:00
Kubernetes Prow Robot
4e832a7db9
Merge pull request #103630 from mysunshine92/controller_util-annotation
Modify the wrong comment for controller_util.go
2021-08-24 10:37:14 -07:00
Alexander Constantinescu
5b740f430e [queue] Implement ShutDownWithDrain allowing the queue to drain when shutting down
Signed-off-by: Alexander Constantinescu <aconstan@redhat.com>
2021-08-20 13:59:12 +02:00
Antonio Ojea
0cd75e8fec run hack/update-netparse-cve.sh 2021-08-20 10:42:09 +02:00
Jordan Liggitt
87a4e082ac Change defaulter-gen input to package path 2021-08-14 11:00:18 -04:00
Konstantin Misyutin
29bd66d018 Remove "pkg/controller/volume/scheduling" dependency from "pkg/scheduler/framework/plugins"
All dependencies of VolumeBinding plugin from
"k8s.io/kubernetes/pkg/controller/volume/scheduling" package moved to
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding" package:

- whole file pkg/controller/volume/scheduling/scheduler_assume_cache.go
- whole file pkg/controller/volume/scheduling/scheduler_assume_cache_test.go
- whole file pkg/controller/volume/scheduling/scheduler_binder.go
- whole file pkg/controller/volume/scheduling/scheduler_binder_fake.go
- whole file pkg/controller/volume/scheduling/scheduler_binder_test.go

Package "k8s.io/kubernetes/pkg/controller/volume/scheduling/metrics" moved
to "k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding/metrics"
because it only used in VolumeBinding plugin and (e2e) tests.

More described in issue #89930 and PR #102953.

Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-08-13 19:08:45 +08:00
astraw99
e6df935fd3 unify worker num to workers 2021-08-09 15:46:04 +08:00
Kubernetes Prow Robot
7ab3e3c8c3
Merge pull request #102981 from SataQiu/add-ephemeral-config-v1alpha1
Add --concurrent-ephemeralvolume-syncs flag for kube-controller-manager
2021-08-05 20:55:12 -07:00
Kubernetes Prow Robot
6f73963fdf
Merge pull request #103756 from nakamasato/fix-typo-in-comment
Fix typo in comment in endpoints_controller
2021-08-04 22:12:37 -07:00
Kubernetes Prow Robot
06ae9a2ad7
Merge pull request #103259 from mamil/fix-typo
fix typo for daemon_controller_test.go
2021-08-04 19:00:07 -07:00
SataQiu
7fa0b9b6c1 add --concurrent-ephemeralvolume-syncs flag for kube-controller-manager 2021-07-25 21:36:57 +08:00
10177505
2740965dc9 Merge conditional assignment into variable declaration 2021-07-23 17:02:19 +08:00
Jordan Liggitt
236e72cf8a Make CSR cleaner tolerate objects with invalid status.certificate 2021-07-21 10:35:17 -04:00
Masato Naka
baf0bf831d Fix typo in comment in endpoints_controller 2021-07-18 21:56:34 +09:00
Aldo Culquicondor
5e1b5ec398 Revert counting deleted pods as failures for Job
When JobTrackingWithFinalizers is disabled. To preserve existing behavior.

Change-Id: Id1752f96feed322911712fe9e918e91e42eca809
2021-07-14 10:03:20 -04:00
wangyamei00221466
4a9896775d Modify the wrong comment for controller_util.go 2021-07-10 08:38:28 +08:00
Aldo Culquicondor
2dd2622188 Track Job Pods completion in status
Through Job.status.uncountedPodUIDs and a Pod finalizer

An annotation marks if a job should be tracked with new behavior

A separate work queue is used to remove finalizers from orphan pods.

Change-Id: I1862e930257a9d1f7f1b2b0a526ed15bc8c248ad
2021-07-08 17:48:05 +00:00
Kubernetes Prow Robot
16af282ee7
Merge pull request #103520 from swetharepakula/truncate-endpoints
Truncate endpoints over a 1000 addresses
2021-07-07 18:09:21 -07:00
Swetha Repakula
9bd857ca04 Truncate endpoints over a 1000 addresses
* set `endpoints.kubernetes.io/over-capacity` to "truncated" when
 number of addresses has been truncated to a 1000
 * ready addresses are prioritized over non-ready addresses
 * addresses are proportionally truncated across subsets
2021-07-07 12:48:43 -07:00
Kubernetes Prow Robot
ac6a1b1821
Merge pull request #103414 from ravisantoshgudimetla/fix-pdb-status
[disruptioncontroller] Don't error for unmanaged pods
2021-07-07 12:40:35 -07:00
ravisantoshgudimetla
2c116055f7 [disruptioncontroller] Don't error for unmanaged pods
As of now, we allow PDBs to be applied to pods via
selectors, so there can be unmanaged pods(pods that
don't have backing controllers) but still have PDBs associated.
Such pods are to be logged instead of immediately throwing
a sync error. This ensures disruption controller is
not frequently updating the status subresource and thus
preventing excessive and expensive writes to etcd.
2021-07-07 10:42:24 -04:00
Kubernetes Prow Robot
15222a599f
Merge pull request #103244 from verult/fsgroup-to-csi
Delegate applying FSGroup to CSI driver through NodeStageVolume and NodePublishVolume
2021-07-06 16:22:10 -07:00
Mike Dame
4b9230ed27 Promote LogarithmicScaleDown to beta
This promotes the LogarithmicScaleDown feature gate to Beta, enabling it
by default. It also introduces a new metric, `sorting_deletion_age_ratio`,
intended to measure the efficacy of this new replica set scaledown behavior.
2021-07-06 09:58:03 -04:00
Kubernetes Prow Robot
6acc62da75
Merge pull request #99997 from JornShen/extract_ep_and_epm_share_code_to_pkg
Extracting same code of endpointslice and endpointslicemirror into a new shared EndpointSlice package
2021-07-05 13:25:38 -07:00
Cheng Xing
0e315355df Pass FsGroup to MountDevice 2021-07-03 16:29:42 -07:00
Monis Khan
cd91e59f7c
csr: add expirationSeconds field to control cert lifetime
This change updates the CSR API to add a new, optional field called
expirationSeconds.  This field is a request to the signer for the
maximum duration the client wishes the cert to have.  The signer is
free to ignore this request based on its own internal policy.  The
signers built-in to KCM will honor this field if it is not set to a
value greater than --cluster-signing-duration.  The minimum allowed
value for this field is 600 seconds (ten minutes).

This change will help enforce safer durations for certificates in
the Kube ecosystem and will help related projects such as
cert-manager with their migration to the Kube CSR API.

Future enhancements may update the Kubelet to take advantage of this
field when it is configured in a way that can tolerate shorter
certificate lifespans with regular rotation.

Signed-off-by: Monis Khan <mok@vmware.com>
2021-07-01 23:38:15 -04:00
Chris Henzie
83e3ee780a Rename access mode contains helper method
So it is consistent with other methods performing the same check (one
for internal and external types)
2021-06-28 21:24:56 -07:00
Raymonder jin
03f9f75e88
fix typo for daemon_controller_test.go 2021-06-28 04:54:09 -07:00
Kubernetes Prow Robot
3a07d96d25
Merge pull request #99412 from enj/enj/i/ttl_backdate
csr: correctly handle backdating of short lived certs
2021-06-23 15:00:10 -07:00
Monis Khan
7e891e5d6c
csr: correctly handle backdating of short lived certs
This change updates the backdating logic to only be applied to the
NotBefore date and not the NotAfter date when the certificate is
short lived. Thus when such a certificate is issued, it will not be
immediately expired.  Long lived certificates continue to have the
same lifetime as before.

Consolidated all certificate lifetime logic into the
PermissiveSigningPolicy.policy method.

Signed-off-by: Monis Khan <mok@vmware.com>
2021-06-23 15:36:11 -04:00
Kubernetes Prow Robot
268cab5f44
Merge pull request #102022 from adtac/sbeta
graduate SuspendJob to beta
2021-06-22 17:18:10 -07:00
Kubernetes Prow Robot
81aaeee8a6
Merge pull request #102731 from sharmarajdaksh/lastappliedconfig-annotation-no-mirror
fix: mirroring of last-applied-configuration annotation in EndpointSlices
2021-06-15 13:41:55 -07:00
Kubernetes Prow Robot
a5be86fee7
Merge pull request #101316 from ravisantoshgudimetla/add-minReadySeconds-impl
Add min ready seconds impl
2021-06-15 13:41:43 -07:00
Kubernetes Prow Robot
270b66fb94
Merge pull request #102642 from alaypatel07/lastSuccessfulTime
populate last successful time to cronjob status
2021-06-15 11:31:35 -07:00
Dakshraj Sharma
211485c23d last-applied-config annotation no longer mirrored to endpoint slices
Handles incorrect mirroring of endpoint annotations to created endpoint
slices, specifically the last-applied-config. Also updates tests
and adds test cases for the same
2021-06-15 22:32:33 +05:30
ravisantoshgudimetla
ceb1dbd2f1 statefulsets: MinReadySeconds implementation
https://github.com/kubernetes/kubernetes/pull/100842
introduced featuregate. This PR implements the logic
behind it.
2021-06-15 12:59:54 -04:00
Kubernetes Prow Robot
8eef6438e6
Merge pull request #101055 from SimonCqk/master
fix: inaccurate miss schedule times of cronjob v2.
2021-06-15 08:38:01 -07:00
Davanum Srinivas
4b36a5cbe9
Switch to github.com/robfig/cron/v3
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-06-14 19:03:03 -04:00
Kubernetes Prow Robot
52eea971c5
Merge pull request #99279 from yangjunmyfm192085/run-test22
Fix typo: Use uniform format of structured klog
2021-06-11 19:22:59 -07:00
Kubernetes Prow Robot
4aae71695a
Merge pull request #102366 from cndoit18/fix-time-format
fix(timezone): Change the time zone in the api data to UTC
2021-06-11 06:54:59 -07:00
Antonio Ojea
3ac8d8c9ce endpointslicemirroring controller mirror address status
Fix a bug on the endpoint slice mirroring controller where the
endpoints not ready addresses were mirrored as ready.
2021-06-08 09:51:59 +02:00
Alay Patel
92b52a4fb5 populate last successful time to cronjob status 2021-06-06 16:14:16 -04:00
Kubernetes Prow Robot
e6a8bc9fbe
Merge pull request #90368 from serathius/remove-legacy-metrics
Remove legacy metrics client from podautoscaler
2021-06-05 08:44:38 -07:00
Marek Siarkowicz
4ebc0c94a4 Remove legacy metrics client from podautoscaler 2021-06-04 23:06:32 +02:00
Jordan Liggitt
ca279bbcc1 Fix race in attachdetach tests 2021-06-04 01:59:32 -04:00
Kubernetes Prow Robot
adf8df7b73
Merge pull request #102477 from yuzhiquan/master
FIx failing tests: [sig-storage] Test_ADC_VolumeAttachmentRecovery/Deleted_Pod_with_migrated_PV
2021-06-03 20:53:26 -07:00
yuzhiquan
0b8dc56408 fix volume failing test 2021-06-04 09:45:21 +08:00
Adhityaa Chandrasekar
ba708e5fc9 graduate SuspendJob to beta
Also adds a label to two existing Job metrics.

Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-06-03 18:48:32 +00:00
cndoit18
51717256f9
fix(timezone): the timezone is standardized to UTC
Signed-off-by: cndoit18 <cndoit18@outlook.com>
2021-06-03 23:55:39 +08:00
Kubernetes Prow Robot
043b3fc1e4
Merge pull request #101982 from hantmac/fix/need-handle-error
handle Unmarshal error
2021-06-02 13:43:03 -07:00
Tim Ebert
cd3709232f
Fix VolumeAttachment garbage collection for migrated PVs 2021-05-28 08:35:05 +02:00
Quan Tian
fc462857bb Add controllerUID index to improve ReplicaSetController performance
Instead of listing all ReplicaSets in the namespace and checking their
controller UID, this patch adds a controllerUID index to the ReplicaSet
store and use it to get ReplicaSets with same controller, which reduces
the cost from O(#ReplicaSets) to O(1).

Benchmark results:
```
name                                 old time/op    new time/op    delta
GetReplicaSetsWithSameController-48    18.2µs ± 9%     0.4µs ± 5%  -97.64%  (p=0.008 n=5+5)

name                                 old alloc/op   new alloc/op   delta
GetReplicaSetsWithSameController-48    4.18kB ± 0%    0.05kB ± 0%  -98.85%  (p=0.008 n=5+5)

name                                 old allocs/op  new allocs/op  delta
GetReplicaSetsWithSameController-48      15.0 ± 0%       2.0 ± 0%  -86.67%  (p=0.008 n=5+5)
```
2021-05-26 18:12:07 +08:00
Kubernetes Prow Robot
bc2b69b515
Merge pull request #101154 from basantsa1989/dual-stack
Adding IPV6 (Dual Stack) support to handle IPV6 pod cidrs
2021-05-25 13:46:43 -07:00
Basant Amarkhed
a013c6a2db Adding IPV6 (Dual Stack) support to handle IPV6 pod cidrs 2021-05-25 18:25:43 +00:00
Kubernetes Prow Robot
894803ab2e
Merge pull request #98199 from yangjunmyfm192085/run-test3
fix mistake about [avaliable] for index_test.go
2021-05-25 02:46:22 -07:00
Kubernetes Prow Robot
838a967be5
Merge pull request #101175 from lojies/cleanupforpvcontroller
code cleanup:remove redundant return statement in pv_controller.go
2021-05-24 21:48:49 -07:00
Aldo Culquicondor
d8aad7944c Remove unused util CreatePods
And rename CreatePodsWithControllerRef to simply CreatePods
2021-05-20 20:27:21 +00:00
Kubernetes Prow Robot
f4f238e038
Merge pull request #101601 from AliceZhang2016/indexed-job-stable-hostname
specify pod name and hostname in indexed job
2021-05-20 01:41:05 -07:00
Mengxue Zhang
e64e34e029 specify pod name and hostname in indexed job 2021-05-19 15:30:13 +00:00
Kubernetes Prow Robot
9558d0c5c2
Merge pull request #101984 from ravisantoshgudimetla/fix-ds-units
[daemonSet]: Fix unit tests
2021-05-18 23:32:51 -07:00
Kubernetes Prow Robot
89e0b2d185
Merge pull request #99398 from tnqn/ds-update-retry
Fix DaemonSet status update retry
2021-05-18 22:32:50 -07:00
Aldo Culquicondor
7c50cd762a Use aliases in sig apps and scheduling APIs OWNERS
Add alculquicondor to sig-scheduling-api-reviewers and sig-apps-api-reviewers
2021-05-17 17:56:20 +00:00
jornshen
6c63ef147c extract same code of es and esm to pkg
migrate files:
endpointset.go
endpointslice_tracker.go
endpointslice_tracker_test.go
errors.go
2021-05-14 15:15:35 +08:00
ravisantoshgudimetla
20f8654259 [daemonSet]: Fix unit tests
We need to ensure that `DaemonSetUpdateSurge`
featuregate is both enabled and disabled when
running tests with Rolling update strategy.
2021-05-13 10:31:28 -04:00
hantmac
619fff10ea handle Unmarshal error
Signed-off-by: hantmac <hantmac@outlook.com>
2021-05-13 21:22:59 +08:00
Kubernetes Prow Robot
22d120b4d6
Merge pull request #101156 from alculquicondor/unused_create_pod
Remove unused CreatePodsOnNode function
2021-05-12 10:41:28 -07:00
Kubernetes Prow Robot
c7be77935e
Merge pull request #101875 from ravisantoshgudimetla/fix-nil-check
Fix nil check
2021-05-11 11:52:37 -07:00
ravisantoshgudimetla
6f35e1aea0 Run unit test with DSMaxSurgeFlag enabled and disabled 2021-05-10 16:33:09 -04:00
ravisantoshgudimetla
ceeb05a3d7 DaemonSet: Fix surgeCount function
If the surge is not requested, we should return
0. We are returning an error now as r.MaxSurge
is passed down as nil. This commit fixes the
issue by setting the surgeCount to 0 if r.MaxSurge
is nil.
2021-05-10 16:10:59 -04:00
Kubernetes Prow Robot
548fb43643
Merge pull request #101292 from AliceZhang2016/job_controller_metrics
Graduate indexed job to beta
2021-05-07 13:31:44 -07:00
Kubernetes Prow Robot
a5cf298a95
Merge pull request #101737 from Jiawei0227/migration_fix
Use CSI driver to determine unique name for migrated in-tree plugins
2021-05-06 14:14:22 -07:00
Jiawei Wang
be583070d2 Use CSI driver to determine unique name for migrated in-tree plugins 2021-05-06 10:31:30 -07:00
Kubernetes Prow Robot
4f1bfe314e
Merge pull request #101163 from AliceZhang2016/indexed_job_pod_adoption
indexed job: remove pods with invalid index
2021-05-04 18:21:14 -07:00
Mengxue Zhang
2d2ee6bc3a change default feature gate value of IndexedJob 2021-04-30 14:36:15 +00:00
Mengxue Zhang
5fd4ab3dc3 add pod create/delete operation limitations per job sync 2021-04-27 18:51:38 +00:00
Mengxue Zhang
cda503fcc9 indexed job: add three metrics to job controller 2021-04-27 18:32:53 +00:00
Kubernetes Prow Robot
21ab9c4175
Merge pull request #95286 from SergeyKanzhelev/removePodUnknown
Deprecating PodUnknown podPhase
2021-04-27 11:21:38 -07:00
songxiao-wang87
30590a4160 Making a run test.
Signed-off-by: songxiao-wang87 <wang.xiaosong23@zte.com.cn>
2021-04-26 09:31:24 +08:00
wangyx1992
7175d82a27 Structured Logging migration: modify logs of controller-manager
Signed-off-by: wangyx1992 <wang.yixiang@zte.com.cn>
2021-04-25 11:27:44 +08:00
Kubernetes Prow Robot
0c054510a8
Merge pull request #101367 from BinacsLee/binacs-controller-endpointslice-cleanup
code cleanup: append slice without check
2021-04-23 19:28:00 -07:00
Kubernetes Prow Robot
fe88bdc1ab
Merge pull request #101304 from wangyx1992/capatial-log-controller
cleanup: fix errors in wrapped format and log capitalization in controller
2021-04-22 15:55:52 -07:00
BinacsLee
d7a4ed9c65 code cleanup: append slice without check 2021-04-22 18:29:30 +08:00
wangyx1992
fd51e654af cleanup: fix errors in wrapped format and log capitalization in controller
Signed-off-by: wangyx1992 <wang.yixiang@zte.com.cn>
2021-04-22 15:40:54 +08:00
Kubernetes Prow Robot
7ed02d61d1
Merge pull request #101235 from andyzhangx/azurefile-inline-ns-translation
fix: azure file inline volume namespace issue in csi migration translation
2021-04-21 19:15:44 -07:00
Kubernetes Prow Robot
5779fec3c4
Merge pull request #99959 from AliceZhang2016/nodeaffinity-cleanup
Move nodeaffinity helpers to component-helpers package
2021-04-21 17:03:53 -07:00
andyzhangx
e10d3948f5 fix: azure file namespace issue in csi translation
fix build failure

fix comments
2021-04-20 07:23:09 +00:00
Mengxue Zhang
4cf7e75841 indexed job: remove pods with invalid index 2021-04-19 14:07:07 +00:00
Kubernetes Prow Robot
df9ad4d7d2
Merge pull request #96094 from Hellcatlk/m
Some comments' typos
2021-04-16 11:54:22 -07:00
卢振兴10069964
8009823867 code cleanup:remove redundant return statement in pv_controller.go 2021-04-16 09:02:21 +08:00
Aldo Culquicondor
6fc5fc0c86 Remove unused CreatePodsOnNode function
Remnant of old daemonset controller
2021-04-15 18:53:36 +00:00
SimonCqk
b9d9cc38b5 fix: inaccurate miss schedule times of cronjob v2.
Signed-off-by: SimonCqk <cqk0100@gmail.com>
2021-04-13 13:59:27 +08:00
Kubernetes Prow Robot
d51f15ed0d
Merge pull request #100885 from enj/enj/i/auth_owners
Update sig-auth OWNERS
2021-04-12 22:18:49 -07:00
Kubernetes Prow Robot
d765ebd7a8
Merge pull request #100926 from deads2k/clarify
include description of what kube-root-ca.crt can be used to verify
2021-04-10 20:30:00 -07:00
JunYang
78323910db Fix typo: Use uniform format of structured klog
Signed-off-by: JunYang <yang.jun22@zte.com.cn>
2021-04-10 12:00:00 +08:00
Kubernetes Prow Robot
1cedfef5c6
Merge pull request #100728 from robscott/topology-auto
Updating Topology Aware Hints to support "Auto" value for annotation
2021-04-09 05:20:38 -07:00
Kubernetes Prow Robot
4959cd6339
Merge pull request #100671 from Niekvdplas/spelling-mistakes
Fixed several spelling mistakes
2021-04-09 05:19:45 -07:00
Kubernetes Prow Robot
0172cbf56c
Merge pull request #99963 from alculquicondor/job_complete_active
Remove active pods past completions
2021-04-08 17:10:10 -07:00
Kubernetes Prow Robot
7807bb03ba
Merge pull request #99849 from jpbetz/apply-subresources
Add subresource apply support to client-go
2021-04-08 16:00:00 -07:00
Kubernetes Prow Robot
86fdf7b56e
Merge pull request #99487 from chymy/fix-staticcheck0226
Fix staticcheck failures for pkg/controller/replicaset and pkg/kubelet/dockershim
2021-04-08 14:28:17 -07:00
Kubernetes Prow Robot
e7dc0df323
Merge pull request #97650 from ialidzhikov/cleanup/redundant-imports
Clean up some redundant imports
2021-04-08 14:27:22 -07:00
David Eads
443e4ea0df include description of what kube-root-ca.crt can be used to verify 2021-04-08 10:43:41 -04:00
Monis Khan
bca4993004
Update auth OWNERS files to only use aliases
Signed-off-by: Monis Khan <mok@vmware.com>
2021-04-07 10:46:03 -04:00
Sergey Kanzhelev
4b05fe6644 podUnknown is marked as Obsolete 2021-04-06 22:43:08 +00:00
Joe Betz
29423501f0 Add apply subresource support to client-go's typed client 2021-04-05 12:27:42 -07:00
Rob Scott
50b377fe4e
Updating Topology Aware Hints to support "Auto" value for annotation
Previously only "auto" was supported, a value that was inconsistent with
Kubernetes naming patterns.
2021-03-31 15:58:42 -07:00
Niekvdplas
fec272a7b2 Fixed several spelling mistakes 2021-03-30 23:02:09 +02:00
Adhityaa Chandrasekar
0a21157c96 job controller: don't mutate shared cache object
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-03-25 06:36:15 +00:00
Aldo Culquicondor
e6c3d7b34d Only default Job fields when feature gates are enabled
Also use pointer for completionMode enum
2021-03-12 20:46:52 +00:00
chymy
c28be0baab Fix staticcheck failures for pkg/controller/replicaset and pkg/kubelet/dockershim 2021-03-11 22:16:05 -05:00
Rob Scott
730d7dc1c0
Updating EndpointSlice controllers to avoid duplicate creations
This updates the StaleSlices() method in EndpointSliceTracker to also
ensure that the tracker does not have more slices than have been
provided.

Co-Authored-By: Swetha Repakula <srepakula@google.com>
2021-03-10 13:13:13 -08:00
Mengxue Zhang
bdda9728e7 move nodeaffinity helpers to component-helpers package 2021-03-10 20:19:25 +00:00
Aldo Culquicondor
4af432bab3 Remove active pods past completions 2021-03-10 14:55:40 +00:00
Kubernetes Prow Robot
410d092d8a
Merge pull request #99643 from pohly/generic-ephemeral-volume-beta
generic ephemeral volume beta
2021-03-09 17:39:26 -08:00
Kubernetes Prow Robot
05c4febbe7
Merge pull request #99975 from robscott/endpoints-over-capacity
Adding new EndpointsOverCapacity annotation for Endpoints controller
2021-03-09 16:08:48 -08:00
Kubernetes Prow Robot
0aa2e543d4
Merge pull request #99865 from alculquicondor/index-job-success
Fix completed indexed job with repeated indexes
2021-03-09 16:08:23 -08:00
Aldo Culquicondor
8ae0ad2b2f Fix completed indexed job with repeated indexes 2021-03-09 19:22:45 +00:00
Kubernetes Prow Robot
67fbcccad8
Merge pull request #99462 from jpbetz/apply-cluster-role-aggregator
Migrate cluster role aggregator to apply
2021-03-09 11:05:30 -08:00
Kubernetes Prow Robot
5155865ae2
Merge pull request #99326 from sunpa93/fs_resize_fix
fix: use pv annotation to trigger filesystem resize when necessary
2021-03-09 11:05:18 -08:00
Kubernetes Prow Robot
046ad61479
Merge pull request #99290 from mortent/PromotePDBsToGA
Promote PodDisruptionBudget to policy/v1
2021-03-09 11:05:05 -08:00
Rob Scott
8a3f72074e
Adding new EndpointsOverCapacity annotation for Endpoints controller
Now that the EndpointSlice API and controllers are GA, the Endpoints
controller will use this annotation to warn when Endpoints are over
capacity. In a future release, this warning will be replaced with
truncation.
2021-03-09 09:48:53 -08:00
Kubernetes Prow Robot
207c75c6f7
Merge pull request #99522 from robscott/topology-hints
Adding support for Topology Aware Hints
2021-03-09 09:19:12 -08:00
Kubernetes Prow Robot
dc74b9d0c7
Merge pull request #98753 from Jiawei0227/length
Relax csiNodeIDMaxLength to longer limit
2021-03-09 09:19:00 -08:00
Morten Torkildsen
21fba79d45 Promote PDBs to GA 2021-03-09 10:29:11 -05:00
Joe Betz
24f95667bf Migrate clusterroleaggregation controller to apply 2021-03-09 07:15:14 -08:00
Kubernetes Prow Robot
a56fa34d6b
Merge pull request #99942 from jsafrane/refactor-migration-featuregates
Refactor CSI migration plugin manager to get featureGates as a parameter
2021-03-09 04:27:46 -08:00
Sung Jun Park
5f69cf74d8 fix: when newly binding pvc to a pv, adjust pvc.status.capacity to pv's annotation that denotes the pre-resize capacity of the original pvc that pv was bound to if it has one
test: confirm that pvc's status capacity is adjusted if pv has a pre-resize capacity annotation
2021-03-09 07:55:10 +00:00
Patrick Ohly
555d4a12bf generic ephemeral volumes: drop ReadOnly field
As discussed during the alpha review, the ReadOnly field is not really
needed because volume mounts can also be read-only. It's a historical
oddity that can be avoided for generic ephemeral volumes as part
of the promotion to beta.
2021-03-09 08:22:48 +01:00
Kubernetes Prow Robot
7eb99191a1
Merge pull request #98116 from aojea/mirror_dual
slice mirroring controller should mirror annotations (but endpoints.kubernetes.io/last-change-trigger-time annotation) and labels
2021-03-08 20:47:12 -08:00
Kubernetes Prow Robot
a0341d7471
Merge pull request #98727 from adtac/suspend
batch API: add suspended job
2021-03-08 16:26:59 -08:00
Rob Scott
1dcf09c1bf
Adding support for TopologyAwareHints to EndpointSlice Controller 2021-03-08 15:37:46 -08:00
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
Quan Tian
60bb2a3a6f Fix DaemonSet status update retry
It's easy to get update conflict when processing a DaemonSet
continuously. storeDaemonSetStatus had a retry logic that it gets the
resource from apiserver to update the DaemonSet with the latest resource
version. However, it never really retried because of a wrong check and
always made an useless get call. This patch fixes the logic to allow
the function retry once on update error.
2021-03-09 00:39:25 +08: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
chymy
d2868af029 Fix pkg/controller/replicaset/replica_set_test.go variable reference error
Signed-off-by: chymy <chang.min1@zte.com.cn>
2021-02-26 03:30:06 -05: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
Kubernetes Prow Robot
c15851b777
Merge pull request #98793 from wzshiming/ut/speed-up-endpointslice
Speed up pkg/controller/endpointslice unit tests
2021-02-05 17:51:11 -08:00
Kubernetes Prow Robot
036cab71a6
Merge pull request #98691 from pacoxu/cronjob-ut
run cronjob every 1minute in UT
2021-02-05 11:34:52 -08:00
Kubernetes Prow Robot
6dc0047396
Merge pull request #98259 from tanjing2020/taint_manager_log
migrate scheduler/taint_manager.go structured logging
2021-02-04 23:50:51 -08:00
wzshiming
98eb869d63 Speed up pkg/controller/endpointslice unit tests 2021-02-05 15:28:37 +08:00
wzshiming
fb518af0fc Speed up pkg/controller/volume/persistentvolume unit tests 2021-02-05 15:09:36 +08:00
Kubernetes Prow Robot
4eb9d825d5
Merge pull request #98489 from alculquicondor/job-testtable
Make sync Job test tables more readable
2021-02-04 15:55:16 -08:00
Morten Torkildsen
b63342af70 Fix nil pointer dereference in disruption controller 2021-02-03 21:04:29 -08:00
Morten Torkildsen
96ea28aa77 Check if resources implement scale in disruption controller 2021-02-03 20:19:35 -08:00
wangkai1994
7edf9e0155 change to kref and kobj 2021-02-03 17:45:38 +08:00
pacoxu
81e0ebcde9 run cronjob every 1minute(means 1s) in UT 2021-02-02 18:54:50 +08:00
wangkai1994
ab11816570 migrate pkg/controller/volume/pvcprotection.go to structured logs 2021-02-02 17:42:20 +08:00
Kubernetes Prow Robot
f27318c0da
Merge pull request #98445 from damemi/taint-toleration-internal-helpers
Move Taint/Toleration helpers to component-helpers repo
2021-02-01 17:50:27 -08:00
Aldo Culquicondor
609116b147 Test failed pod recreation
Change-Id: I31a2e667e9d96c385a921e25347ebeb5a8424e62
2021-02-01 13:20:03 -05:00
Mike Dame
578ff3ec34 Move Taint/Toleration helpers to component-helpers repo
This is part of the goal for scheduling to remove dependencies on internal
packages for the scheduling framework. It also provides these functions in an
external location for other components and projects to import.
2021-02-01 11:06:03 -05:00
Mike Dame
ba72411aa2 Move GetPersistentVolumeClaimClass to component-helpers
The goal of this move is related to issue 89930, to break the dependence
of scheduling plugins on internal helpers. This function can easily move to
component-helpers where it will be used by other components as well.
2021-02-01 10:48:38 -05:00
Rob Scott
4c9c9bb5a0 Adding myself as an approver for EndpointSlice controller
This also adds me as a reviewer for the Endpoints controller.
2021-01-31 22:34:39 -08:00
Aldo Culquicondor
dbf9e3b2d3 Make sync Job test tables more readable
And use t.Run to improve debugging experience

Change-Id: Ia91adbfe9c419cc640abe0efe287f5b9ab715e87
2021-01-27 16:56:41 -05:00
Kubernetes Prow Robot
ed4025a47b
Merge pull request #96328 from qingsenLi/201107-tc
test: Add comment for the redundant define name
2021-01-26 10:30:32 -08:00
tanjing2020
e144c4e1e9 migrate scheduler/taint_manager.go structured logging 2021-01-25 10:06:41 +08:00
Kubernetes Prow Robot
73fbd3da09
Merge pull request #97407 from waynepeking348/clean_rs_by_revision_instead_of_creat_timestamp
clean rs by revision instead of creation timestamp in deployment controller
2021-01-21 20:15:27 -08:00
Kubernetes Prow Robot
889b0ef004
Merge pull request #98107 from andrewsykim/controllers-owner
add myself as reviewer in pkg/controller/OWNERS
2021-01-19 22:18:20 -08:00
JunYang
f241036d2b fix mistake about [avaliable] for index_test.go
Signed-off-by: JunYang <yang.jun22@zte.com.cn>
2021-01-20 08:37:50 +08:00
waynepeking348
b2de3507d0 add dependency in bazel BUILD file 2021-01-16 22:25:37 +08:00
Kubernetes Prow Robot
8bf42039e6
Merge pull request #96552 from pandaamanda/klog_fmt
use klog.Info and klog.Warning when had no format
2021-01-15 17:57:43 -08:00
Andrew Sy Kim
fdc9790b2d add myself as reviewer in pkg/controller/OWNERS
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-01-15 17:21:35 -05:00
Jordan Liggitt
1e71a28490 Clean up namespaced children of missing virtual parents with incorrectly cluster-scoped nodes 2021-01-14 11:29:31 -05:00
Jordan Liggitt
65d43faf3a Add unit test for child scope mismatch with missing parent 2021-01-14 10:45:56 -05:00
Kubernetes Prow Robot
8f09066809
Merge pull request #97788 from heqg/expect-scheduler_binder
fix typo of [expect] in pkg/controller/../scheduler_binder.go
2021-01-13 18:43:03 -08:00
Kubernetes Prow Robot
1209c59612
Merge pull request #96876 from howieyuen/no-execute-taint-missing
fix nodelifecyle controller not add NoExecute taint bug
2021-01-13 14:17:03 -08:00
Kubernetes Prow Robot
51f31bd42c
Merge pull request #97113 from 249043822/bugfix-job-log111
Optimize log output for job controller
2021-01-11 20:52:38 -08:00
ialidzhikov
e1e7c39b47 Remove unnecessary type conversion
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2021-01-09 22:43:29 +02:00
Kubernetes Prow Robot
5a6f9ed550
Merge pull request #97721 from aojea/slicelog
fix slice controller logging for services ipfamily
2021-01-07 09:34:40 -08:00
he.qingguo
b72da953be fix typo of [expect] in pkg/controller/../scheduler_binder.go
Signed-off-by: he.qingguo <he.qingguo@zte.com.cn>
2021-01-07 12:23:14 +08:00
Kubernetes Prow Robot
e8b3a02fd2
Merge pull request #97572 from gavinfish/gc-test-typo
Cleanup: fix typos in garbagecollector_test.go
2021-01-05 15:11:53 -08:00
Kubernetes Prow Robot
571a7ce2c1
Merge pull request #97348 from josephburnett/bistable-review
Up and down scale stabilize with envelope.
2021-01-05 12:39:59 -08:00
Kubernetes Prow Robot
0300aa712e
Merge pull request #97543 from pacoxu/fix/94495-ga
remove LegacyNodeRoleBehavior and mv ServiceNodeExclusion to GA
2021-01-05 11:46:45 -08:00
Kubernetes Prow Robot
07bd985724
Merge pull request #96561 from ialidzhikov/cleanup/csi-node-info
Remove CSINodeInfo feature gate
2021-01-05 11:46:00 -08:00
pacoxu
441985afb6 set LegacyNodeRoleBehavior to false and mv ServiceNodeExclusion to GA
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-01-05 22:34:18 +08:00
Antonio Ojea
561133ccf1 fix slice controller logging for services ipfamily 2021-01-05 12:52:04 +01:00
ialidzhikov
1b74f28ed8 Clean up some redundant imports
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2021-01-02 01:09:22 +02:00
drfish
4a839fa6d3 Fix typos in garbagecollector_test.go 2020-12-29 23:20:18 +08:00
Kubernetes Prow Robot
f11c3b475d
Merge pull request #94858 from waynepeking348/master
fix bugs when copying deployment annotations to replicaSet if value is empty
2020-12-22 19:08:26 -08:00
Kubernetes Prow Robot
83156c6246
Merge pull request #92335 from farah/farah/remove-unused-interface
Delete unused interface
2020-12-21 14:50:25 -08:00
Joseph Burnett
16133c2b77 Up and down scale stabilize with envelope.
The HPA controller keeps a flat history of recommendations for
stabilization. However when both up and down scale stabilization are
configured, the interpretation of the history changes depending on the
direction of movement. What we want is to keep the stabilized
recommendation within the envelope of the minimum and maximum over
configured stabilization windows. We should only move when the
envelope forces a move.
2020-12-21 14:36:13 +01:00
waynepeking348
c8f9858920 add unit test cases 2020-12-20 17:05:48 +08:00
waynepeking348
ab1be93809 clean rs by revision instead of creat timestamp 2020-12-20 17:05:42 +08:00
waynepeking348
6c36a48550 fix bugs when copying deployment annotations to replicaSet if value is empty 2020-12-20 13:46:26 +08:00
Kubernetes Prow Robot
efb9489acb
Merge pull request #96617 from yuga711/dangling
Recover CSI volumes from dangling attachments
2020-12-16 14:54:30 -08:00
Kubernetes Prow Robot
c5efee02ac
Merge pull request #89465 from shibataka000/84142-cm
Fix HPA bug about unintentional scale out during updating deployment when using PodMetric.
2020-12-16 04:44:21 -08:00
Kubernetes Prow Robot
b97aa71519
Merge pull request #96825 from roycaihw/storage-version/conditions
storage-version: update conditions
2020-12-14 14:01:51 -08:00
Hao Yuan
5569db4902 fix nodelifecyle controller not add NoExecute taint bug 2020-12-14 09:34:57 +08:00
Jayasekhar Konduru
9b2b73600d Recover CSI volumes from dangling attachments
Change-Id: I72105d67d8a4069ab19bfa4638a7ac365cf4194c
2020-12-11 18:31:53 -08:00
ialidzhikov
bc432124a2 Remove CSINodeInfo feature gate
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-12-10 09:58:22 +02:00
Kubernetes Prow Robot
ce7ac8442e
Merge pull request #94599 from verult/adc-op-asw-race
Fixes Attach Detach Controller reconciler race reading ActualStateOfWorld and operation pending states
2020-12-08 16:28:53 -08:00
Kubernetes Prow Robot
0ee9c391f1
Merge pull request #92827 from yuanhuaiwang/disruptionresync
Remove resync period for disruption controller
2020-12-08 16:28:26 -08:00
KeZhang
67b40a50c6 Optimize log output 2020-12-08 11:20:24 +08:00
Haowei Cai
7a28ca419e generated 2020-12-02 14:32:50 -08:00
Haowei Cai
d13fe474f9 storage-version: update conditions 2020-12-02 14:32:34 -08:00
Kubernetes Prow Robot
248c116963
Merge pull request #96417 from hvenev-vmware/fix-ipam
Fix double counting of IP addresses
2020-11-23 07:45:33 -08:00
Hristo Venev
c8c81be8af range_allocator: Test (lack of) double counting 2020-11-22 23:09:09 -08:00
Hristo Venev
ee581278bd cidrset: Add test for double counting 2020-11-22 23:09:09 -08:00
Hristo Venev
4d28391c24 Fix double counting of IP addresses
The range allocator in pkg/controller/nodeipam/ipam/range_allocator.go
may call Occupy() on the same range twice:

1. Just before subscribing to the NodeInformer
2. From a callback given to the NodeInformer soon after registration
2020-11-22 23:09:09 -08:00
Jordan Liggitt
e491c3bc70 Add GC unit tests
Adds unit tests covering the problematic scenarios identified
around conflicting data in child owner references

                      Before   After
package level         51%      68%
garbagecollector.go   60%      75%
graph_builder.go      50%      81%
graph.go              50%      68%

Added/improved coverage of key functions that had lacking unit test coverage:

* attemptToDeleteWorker
* attemptToDeleteItem
* processGraphChanges (added coverage of all added code)
2020-11-17 10:49:32 -05:00
Jordan Liggitt
603a0b016e Log cluster-scoped owners referencing namespaced owners, avoid retrying lookups forever
If a cluster-scoped dependent references a namespace-scoped owner,
this is an invalid relationship, and the lookup will never succeed in attemptToDelete.

Short-circuit requeueing in attemptToDelete and log.
2020-11-17 10:49:30 -05:00
Jordan Liggitt
221e4aa2c2 Queue non-matching children for deletion when a virtual node is marked as observed
When we observe valid coordinates for a previously virtual node,
if there are dependents that do not agree with those coordinates,
add them to the attemptToDelete queue.

This queue will check the dependent's ownerReferences using the coordinates specified by the dependent.
If all of the owners can be verified absent, the dependent will be deleted.
If some are still present, or if there are errors looking them up, the dependent will not be deleted.

If the verified owner is namespaced, and the dependent is not in the same namespace,
an event will be recorded for user visibility, since cross-namespace ownerReferences are not supported.
2020-11-17 10:49:27 -05:00
Jordan Liggitt
b655f22509 Handle virtual delete events when children don't agree on owner coordinates
If a virtual delete event is received for a node whose dependents disagree on the parent's coordinates:
1. propagate the delete to children that matched the verified absent coordinates
2. if the existing node is virtual, select a new set of coordinates from the remaining dependents
3. do not delete the parent node from the graph if the parent node is non-virtual,
   or if there are dependents that do not agree with the virtual delete event coordinates
2020-11-17 10:49:07 -05:00
Jordan Liggitt
b8d7ecf73b Make node removal conditional in processGraphChanges 2020-11-17 10:49:04 -05:00
Jordan Liggitt
ac8d419b4c Enqueue dependents for deletion when their ownerReference does not match observed parent coordinates
When adding a dependent to the graph, we ensure there is a node representing each owner reference,
and add the dependent to each parent node.

If the parent node already exists, and the dependent's ownerReference
coordinates disagree with the verified coordinates, add the dependent to the attemptToDelete queue.

This queue will check the dependent's ownerReferences using the coordinates specified by the dependent.
If all of the owners can be verified absent, the dependent will be deleted.
If some are still present, or if there are errors looking them up, the dependent will not be deleted.

If the parent node has been observed via informer event (so we know the coordinates are accurate),
and the verified owner is namespaced, and the dependent is not in the same namespace,
an event will be recorded for user visibility, since cross-namespace ownerReferences are not supported.
2020-11-17 10:47:39 -05:00
Jordan Liggitt
78317edb8b Short-circuit attemptToDelete loop for virtual nodes that are removed or observed
Virtual nodes are added to the attemptToDelete queue, and continue getting requeued
until they are successfully verified absent or are observed via informer.

In the meantime, if the real object associated with that UID is observed via informer,
or is observed to be deleted via informer, the graph node for that UID can be removed
or marked as observed. In that case, we should stop retrying to get the virtual node coordinates.
2020-11-17 10:46:00 -05:00
Jordan Liggitt
cae56bea0a Replace virtual node with observed node if identity differs
If the graph contains a virtual node (because some child object referenced it in an OwnerRef),
and a real informer event is observed for that uid at different coordinates,
we want to fix the coordinates of the node in the graph to match the actual coordinates.

The safe way to do this is to clone the node, replace the identity in the clone,
then replace the node with the clone.

Modifying the identity directly is not safe because it is accessed lock-free from many code paths.

Replacing the node in the graph from processGraphChanges is safe because it is the only graph writer.
2020-11-17 10:42:48 -05:00
Jordan Liggitt
cb7b9ed532 Refactor identityFromEvent 2020-11-17 10:42:48 -05:00
Jordan Liggitt
30eb6683e6 Avoid marking virtual nodes as observed when they haven't been
Virtual nodes can be added to the GC graph in order to represent objects
which have not been observed via an informer, but are referenced via ownerReferences.

These virtual nodes are requeued into attemptToDelete until they are observed via an informer,
or successfully verified absent via a live lookup. Previously, both of those code paths
called markObserved() to stop requeuing into attemptToDelete.

Because it is useful to know whether a particular node has been observed via
a real informer event, this commit does the following:

* adds a `virtual bool` attribute to graph events so we know which ones came from a real informer
* limits the markObserved() call to the code path where a real informer event is observed
* uses an alternative mechanism to stop requeueing into attemptToDelete when a virtual node is verified absent via a live lookup
2020-11-17 10:42:48 -05:00
Jordan Liggitt
445f20dbdb Switch GC absentOwnerCache to full reference
Before deleting an object based on absent owners, GC verifies absence of those owners with a live lookup.

The coordinates used to perform that live lookup are the ones specified in the ownerReference of the child.

In order to performantly delete multiple children from the same parent (e.g. 1000 pods from a replicaset),
a 404 response to a lookup is cached in absentOwnerCache.

Previously, the cache was a simple uid set. However, since children can disagree on the coordinates
that should be used to look up a given uid, the cache should record the exact coordinates verified absent.
This is a [apiVersion, kind, namespace, name, uid] tuple.
2020-11-17 10:42:48 -05:00
Jordan Liggitt
09bdf76b8a Plumb event recorder to garbage collector controller 2020-11-17 10:42:45 -05:00
xiongzhongliang
90f4aeeea4 use klog.Info and klog.Warning when had no format 2020-11-14 00:55:06 +08:00
Kubernetes Prow Robot
da75c26648
Merge pull request #95978 from roycaihw/storage-version/gc
Storage version garbage collector
2020-11-12 18:36:37 -08:00
Haowei Cai
1d5a8f8f24 fixup! add storage version garbage collector 2020-11-12 16:34:27 -08:00
Haowei Cai
f675dac440 generated 2020-11-12 16:25:22 -08:00
Haowei Cai
ee9ace14c2 add storage version garbage collector 2020-11-12 16:21:00 -08:00
Kubernetes Prow Robot
765d949bfc
Merge pull request #96440 from robscott/endpointslice-pre-ga
Adding NodeName to EndpointSlice API, deprecation updates
2020-11-12 16:03:13 -08:00