Commit Graph

720 Commits

Author SHA1 Message Date
Patrick Ohly
5c8929d95e volume binder: convert to sub-tests
Using t.Run() has some advantages:
- individual sub-tests can be selected with -run
- test failures are automatically associated with
  the scenario, therefore the test name no longer
  needs to be passed around

A "run" function is used primarily to avoid large indention changes,
but also because this can be used to extend the test with additional
parameters later on.
2020-01-29 10:37:27 +01:00
David Zhu
b7817a2981 Add annotation annealing for migration for PVs and PVCs during syncVolume and syncClaim. This allows external-provisioners to pick up and delete volumes when they have been rolled up from previous kubernetes versions. 2020-01-27 16:14:53 -08:00
Paul Morie
afaea605f4 Remove Brad Childs from OWNERS files 2020-01-16 15:21:34 -05:00
danielqsj
5bc0e26c19 unify alias of api errors under pkg and staging 2019-12-26 16:42:28 +08:00
Jordan Liggitt
5d5b444c4d Remove use of testapi codecs, selflink, resourcepath functions 2019-12-13 11:56:29 -05:00
David Zhu
41c65f4740 Jump out of spec translation early if the spec is not migratable. Unit tests work after all! 2019-11-15 11:23:32 -08:00
David Zhu
6e716af89e Add CSINodes to AttachDetachControllerRecovery test 2019-11-15 11:23:32 -08:00
Travis Rhoden
0c5c3d8bb9
Remove pkg/util/mount (moved out of tree)
This patch removes pkg/util/mount completely, and replaces it with the
mount package now located at k8s.io/utils/mount. The code found at
k8s.io/utils/mount was moved there from pkg/util/mount, so the code is
identical, just no longer in-tree to k/k.
2019-11-15 08:29:12 -07:00
Kubernetes Prow Robot
372ebd24f5
Merge pull request #83098 from ddebroy/disable-intree
CSI Migration phase 2: disable probing of in-tree plugins
2019-11-14 20:51:42 -08:00
Deep Debroy
129f15328b Disable in-tree plugins migrated to CSI
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2019-11-14 17:28:21 -08:00
Kubernetes Prow Robot
5e30d32d2c
Merge pull request #83394 from bertinatto/convert_pv_no_affinity
Convert existing PVs to use volume topology in VolumeBinderPredicate
2019-11-13 21:45:56 -08:00
Travis Rhoden
367f879131
Retire mount.Exec for k8s.io/utils/exec
This patch removes mount.Exec entirely and instead uses the common
utility from k8s.io/utils/exec.

The fake exec implementation found in k8s.io/utils/exec differs a bit
than mount.Exec, with the ability to pre-script expected calls to
Command.CombinedOutput(), so tests that previously relied on a callback
mechanism to produce specific output have been updated to use that
mechanism.
2019-11-13 14:09:57 -07:00
Fabio Bertinatto
bbfc6ef450 Convert volume binder to use CSINode GA 2019-11-13 14:01:01 +01:00
Fabio Bertinatto
7cba40fb09 Use CSI translation lib in VolumeBinderPredicate 2019-11-13 14:01:01 +01:00
Kubernetes Prow Robot
d366d2eaa3
Merge pull request #84896 from RainbowMango/pr_migrate_custom_collector_scheduler
Migrate custom collector for kube-scheduler
2019-11-08 01:04:14 -08:00
Kubernetes Prow Robot
1183771545
Merge pull request #84748 from hvaara/fix-golint-controller-volume-persistentvolume-options
Fix golint issues in pkg/controller/volume/persistentvolume/options
2019-11-07 04:35:53 -08:00
RainbowMango
09dc221d7b Deal with auto-generated files.
Update bazel by hack/update-bazel.sh
2019-11-07 10:30:12 +08:00
RainbowMango
9efabe8124 Migrate custom collector to stablility framework 2019-11-07 10:26:27 +08:00
yuxiaobo
81e9f21f83 Correct spelling mistakes
Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
2019-11-06 20:25:19 +08:00
Kubernetes Prow Robot
1d1385af91
Merge pull request #83474 from msau42/topology-ga
CSI Topology ga
2019-11-04 15:28:27 -08:00
Roy Hvaara
dffcf7c8cd
Fix golint issues in pkg/controller/volume/persistentvolume/options 2019-11-04 21:45:21 +01:00
Michelle Au
fb6dfeb718 Convert attach-detach controller to use v1.CSINode 2019-10-28 13:41:13 -07:00
wojtekt
7b6bcdf780 Autogenerated code 2019-10-24 20:21:00 +02:00
Jan Safranek
a689697519 Do not bind block PV/PVCs when block feature gate is off 2019-10-17 12:40:22 +02:00
Kubernetes Prow Robot
a5dc1fffb0
Merge pull request #83543 from yutedz/attach-resync-comment
Remove stale comment about resyncPeriod
2019-10-09 13:17:50 -07:00
Kubernetes Prow Robot
4b002b3baa
Merge pull request #82123 from xiaoanyunfei/cleanup/take-effect-stateofworld-hashmap
replace iteration with hashmap in *state_of_world
2019-10-09 02:17:50 -07:00
Kubernetes Prow Robot
ac9390627e
Merge pull request #83536 from yutedz/del-volume-err
Log the error return from store.Delete
2019-10-08 19:59:50 -07:00
Kubernetes Prow Robot
72d052a444
Merge pull request #81797 from yastij/move-metrics-util
move util/metrics to component-base
2019-10-08 17:08:05 -07:00
Yassine TIJANI
c1487840bc move util/metrics to component-base
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-08 14:42:31 +02:00
Ted Yu
f0a6aa1e9b Log error from AddIndexers in NewAttachDetachController 2019-10-07 16:15:25 -07:00
Ted Yu
b81242b62e Remove stale comment about resyncPeriod 2019-10-06 05:02:07 -07:00
Yecheng Fu
b5889ee82c update internal error message 2019-10-06 14:37:31 +08:00
Ted Yu
56717a79ff Log the error return from store.Delete 2019-10-05 19:34:39 -07:00
Kubernetes Prow Robot
74dc287490
Merge pull request #83420 from yutedz/sched-assume-cache
Check the return value from store.Update
2019-10-04 10:22:18 -07:00
Ted Yu
94d4bf1287 Return proper error message when BindPodVolumes fails 2019-10-04 04:36:48 -07:00
Ted Yu
c264338741 Check the return value from store.Update 2019-10-02 12:02:13 -07:00
Kubernetes Prow Robot
14e5adfc85
Merge pull request #82683 from davidz627/fix/translationStruct
Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing
2019-09-29 10:11:37 -07:00
David Zhu
92cb06a2e7 Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing in future 2019-09-27 12:59:53 -07:00
Kubernetes Prow Robot
11ce7da888
Merge pull request #82740 from hwdef/del-unuse-var1
del unuse var in pkg/controller
2019-09-19 11:05:15 -07:00
Shintaro Murakami
ad333ac421 Return error when failed to get storage class 2019-09-18 15:59:34 +09:00
hwdef
851eac6a97 del unuse var in pkg/controller 2019-09-16 15:05:24 +08:00
RainbowMango
6bb1229f4b Update bazel by hack/update-bazel.sh 2019-09-12 16:05:21 +08:00
RainbowMango
d6fdac8c56 Migrate prometheus bucket functionality to kube-metrics. 2019-09-12 16:02:53 +08:00
Kubernetes Prow Robot
001f2cd2b5
Merge pull request #82255 from cofyc/avoid-import-cycle
volume scheduling: move metrics to a separate package to avoid import cycle
2019-09-11 10:43:20 -07:00
Kubernetes Prow Robot
cedffee93e
Merge pull request #82239 from sttts/sttts-persistentvolume-controller-data-race
persistentvolume-controller: fix data race of non-deepcopied objects in fake client
2019-09-03 14:35:12 -07:00
Yecheng Fu
8a7607a308 volume scheduling: move metrics code into a separate pkg 2019-09-03 14:38:26 +08:00
Dr. Stefan Schimanski
7816ad7991 persistentvolume-controller: fix data race of non-deepcopied objects in fake client 2019-09-02 15:23:55 +02:00
Kubernetes Prow Robot
d6bc4eb853
Merge pull request #81624 from logicalhan/cm-migration
migrate controller-manager metrics to stability framework
2019-08-29 05:30:09 -07:00
sunxiaofei03
45d41ed9e5 replace iteration with hashmap in *state_of_world 2019-08-29 19:22:25 +08:00
Han Kang
59db3ac27e migrate controller-manager metrics to stability framework 2019-08-28 12:26:57 -07:00
Han Kang
8da448dbe3 migrate scheduler metrics endpoint to metrics stability framework 2019-08-28 03:40:43 -07:00
Kubernetes Prow Robot
927f45191e
Merge pull request #81527 from yastij/move-controller-util
move WaitForCacheSync to the sharedInformer package
2019-08-27 00:52:54 -07:00
Yassine TIJANI
7e4c3096fe move WaitForCacheSync to the sharedInformer package
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-08-22 16:13:41 +01:00
Sadlil Rhythom
7a8eaf4561 controller:volume fix static check failures 2019-08-21 09:37:42 +02:00
Kubernetes Prow Robot
7420bb2214
Merge pull request #80492 from matte21/pvc-protection-controller-fix-issue-75980
Add live list of pods to PVC protection controller to make sure it does not delete a PVC which is being used by a Pod
2019-08-16 05:06:44 -07:00
czm
cdcf1c0ea2 fix some typos in recycle_test.go 2019-08-15 11:34:46 +08:00
matte21
1371490bd6 Lowercase first letter of chainable errors in PVC protection controller
Lowercase first letter of error messages that are not printed right
away to ease chaining with other error messages in PVC protection
controller.
2019-08-15 00:46:02 +02:00
matte21
791d1c81f0 Add live list of pods to PVC protection controller
Add live list of pods to PVC protection controller, as opposed to doing
only a cache-based list through the Informer. Both lists are performed
while processing a PVC with deletionTimestamp set to check whether Pods
using the PVC exist and remove the finalizer to enable deletion of the
PVC if that's not the case. Prior to this commit only the cache-based
list was done but that's unreliable because a pod using the PVC might
exist but not be in the cache just yet. On the other hand, the live
list is 100% reliable.

Note that it would be enough to do only the live list. Instead, this
commit adds it after the cache-based list and performs it only if the
latter finds no Pod blocking deletion of the PVC being processed. The
rationale is that live lists are expensive and it's desirable to
minimize them. The drawback is that if at the time of the cache-based
list the cache has not been notified yet of the deletion of a Pod using
the PVC the PVC is kept. Correctness is not compromised because the
finalizer will be removed when the Pod deletion notification is
received, but this means PVC deletion is delayed. Reducing live lists
was valued more than deleting PVCs slightly faster.

Also, add a unit test that fails without the change introduced by this
commit and revamp old unit tests. The latter is needed because expected
behavior is described in terms of API calls the controller makes, and
this commit introduces new API calls (the live lists).
2019-08-15 00:46:02 +02:00
AllenZMC
d266b79a39
fix some typos in testing.go 2019-08-14 20:53:24 +08:00
Travis Rhoden
4574473753
Rename mount.NewOsExec to mount.NewOSExec 2019-08-09 12:30:56 -06:00
Kubernetes Prow Robot
ef8869466c
Merge pull request #80978 from wojtek-t/selflink_deprecation
Deprecate SelfLink and introduce feature gate to disable its propagation
2019-08-08 03:47:20 -07:00
wojtekt
399d09ce4a Fix GetReference function 2019-08-07 16:49:29 +02:00
Kubernetes Prow Robot
decdf8891f
Merge pull request #80460 from mrkm4ntr/pvc-class-name
Use v1helper.GetPersistentVolumeClaimClass for compatibility
2019-08-05 15:08:30 -07:00
Kubernetes Prow Robot
6f8944aa54
Merge pull request #79696 from yittg/fix-pv-controller-affinity
fix pv-controller sync check node affinity for scheduled claim
2019-07-26 20:15:58 -07:00
Kubernetes Prow Robot
d5d6061c8e
Merge pull request #80476 from matte21/fix-pvcs-leaks
PVC protection controller: fix PVC leaks
2019-07-26 05:31:59 -07:00
matte21
b4fed83a4a PVC protection controller: get rid of PVC leaks
Make the PVC protection controller robust to cases where a Pod X is deleted,
then a Pod Y with the same namespaced name is created and the two events are
delivered via a single update notification. Both pods should be processed,
because X might be blocking deletion of a PVC which is not referenced by Y.
Prior to this commit only the newer pod is processed, which means that it
is possible to leak PVCs.

Also, add unit tests to reflect the change.
2019-07-26 11:17:17 +02:00
Yi Tang
8c13f9dea3 fix pv controller not find pv for pvc provisioning 2019-07-26 16:24:30 +08:00
Kubernetes Prow Robot
bf2dd03083
Merge pull request #80318 from davidxia/fix-err-caps
cleanup: fix some log and error capitalizations
2019-07-25 10:41:28 -07:00
AllenZMC
852040c036
fix typos in pv_controller.go
make code kinda more readable
2019-07-25 11:28:19 +08:00
Shintaro Murakami
c94e800008 Use v1helper.GetPersistentVolumeClaimClass for compatibility 2019-07-24 10:35:00 +09:00
David Xia
fabfd950b1
cleanup: fix some log and error capitalizations
Part of https://github.com/kubernetes/kubernetes/issues/15863
2019-07-20 18:26:16 -04:00
Kubernetes Prow Robot
8d4c49faae
Merge pull request #80088 from ZP-AlwaysWin/dev01
Fix golint failure in pkg/controller/volume/expand
2019-07-18 09:52:12 -07:00
ZP-AlwaysWin
1573be94ae fix pkg/controller/volume/expand/pvc_populator.go 2019-07-17 09:00:24 +08:00
Shintaro Murakami
7c0b33e012 Add check to reduce orphaned volume 2019-07-11 16:31:56 +09:00
Ted Yu
a18633427b Drop unnecessary claim parameter from PersistentVolumeController#updateBindVolumeToClaim 2019-07-01 13:30:11 +08:00
wojtekt
cba13eb9ad Autogenerate code 2019-06-29 15:26:09 +02:00
wojtekt
fd819f8fdc Move APIObjectVersioner 2019-06-28 21:16:49 +02:00
Kubernetes Prow Robot
f20fb80aaa
Merge pull request #78911 from tedyu/list-pv
Do not add non-PersistentVolume to return value for pvAssumeCache#ListPVs
2019-06-14 23:06:47 -07:00
Kubernetes Prow Robot
5777fdfe31
Merge pull request #78105 from cwdsuzhou/narrow_down_lock
Narrow down the lock
2019-06-14 04:08:23 -07:00
Ted Yu
f3c90b058c Do not add non-PersistentVolume to return value for pvAssumeCache#ListPVs 2019-06-11 10:27:26 -07:00
Kubernetes Prow Robot
b3c1bbb471
Merge pull request #78061 from yuxiangqian/metrics
Enhance to record more accurate e2e provision/deletion latency metric
2019-05-31 20:45:13 -07:00
xiangqian
38a884aa04 using storage class provisioner instead of annotation of a pv for external provisioner
minor updates
2019-05-30 10:19:36 -07:00
Kubernetes Prow Robot
05df640f33
Merge pull request #77994 from gnufied/csi-resize-migration
Handle CSI volume resize migration.
2019-05-29 21:28:43 -07:00
xiangqian
9688511595 record provision and deletion latency metric
instead of using provisioner from storage class directly, uses plugin name firstly
2019-05-29 14:15:30 -07:00
Hemant Kumar
7563b4d01b Address comments about retry in online resizing block 2019-05-29 11:01:45 -04:00
Hemant Kumar
d119899e22 handle review comments 2019-05-28 15:22:41 -04:00
caiweidong
e39ec09975 Add error info for plugin do not support attachment 2019-05-23 18:32:49 +08:00
Hemant Kumar
33b95ebddb add some tests for expand controller
Update bazel file
2019-05-20 10:55:23 -04:00
caiweidong
5a0e7f19b6 Narrow down the lock 2019-05-20 19:12:27 +08:00
Hemant Kumar
405d33eae4 Add code to handle in-tree to CSI migration for resizing 2019-05-17 10:57:44 -04:00
Hemant Kumar
4886e8782c name the queue properly and use lower case for error message 2019-05-16 21:34:57 -04:00
Hemant Kumar
673773cbde check for pvc objects 2019-05-16 12:23:52 -04:00
Matthew Wong
c16a555654 Use workqueue model in expand controller
Add a test for patch creation
2019-05-14 16:42:06 -04:00
Andrew Kim
c919139245 update import of generic featuregate code from k8s.io/apiserver/pkg/util/feature -> k8s.io/component-base/featuregate 2019-05-08 10:01:50 -04:00
Kubernetes Prow Robot
95eb3a6702
Merge pull request #77452 from cwdsuzhou/fix_error_overrided
fix always print EventTypeWarning due to err override
2019-05-07 09:52:10 -07:00
Kubernetes Prow Robot
43284ecbfc
Merge pull request #77442 from cofyc/fix77084
Fix go lint failures in volume scheduling packages
2019-05-07 00:24:07 -07:00
Kubernetes Prow Robot
86a0a3d883
Merge pull request #77443 from cofyc/fix77085
Remove private copies and update the code to use shared annotations
2019-05-06 22:53:52 -07:00
Yecheng Fu
4abd73048c Do one more level of casting to get the 'assumeCache' 2019-05-07 10:55:58 +08:00
caiweidong
722f42caba fix always print EventTypeWarning due to err overrided 2019-05-05 20:19:01 +08:00
Yecheng Fu
3315474f55 Fix go lint failures in a few packages
- pkg/controller/volume/persistentvolume/testing
- pkg/controller/volume/scheduling
2019-05-05 09:45:25 +08:00