Commit Graph

631 Commits

Author SHA1 Message Date
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
Yecheng Fu
2d0d226371 Move all private annotations to shared package and update code 2019-05-05 09:43:43 +08:00
Yecheng Fu
87ca3bd1d6 Create OWNERS in volume scheduling package 2019-05-04 16:46:12 +08:00
Yecheng Fu
842fed658c Refactor PV scheduling library into separate package 2019-05-02 14:45:52 +08:00
Yecheng Fu
0b6c028c8a Extract testing VolumeReactor into a separate package 2019-05-02 14:45:52 +08:00
Kubernetes Prow Robot
22c67bb113
Merge pull request #76333 from cwdsuzhou/clean_up_scheduler_binder
Rename some varibles and clean up codes in scheduler_binder.go
2019-04-19 17:18:03 -07:00
Davanum Srinivas
7b8c9acc09
remove unused code
Change-Id: If821920ec8872e326b7d85437ad8d2620807799d
2019-04-19 08:36:31 -04:00
caiweidong
1c5efe7eae Rename some varible and clean up codes in scheduler_binder.go 2019-04-19 11:06:17 +08:00
Vladimir Vivien
cfafde983b Volume AttachablePlugin.CanAttach() now returns both bool and error 2019-04-08 16:53:22 -04:00
Xing Yang
000ab86788 Move CSIDriver Lister to the controller 2019-04-05 12:20:11 -07:00
Vladimir Vivien
3777514f83 Adds DeviceMountablePlugin.CanDeviceMount check when retrieving plugins 2019-03-28 10:39:32 -04:00
Kubernetes Prow Robot
29e74dc58c
Merge pull request #75021 from cwdsuzhou/protectionutil
Move protection common funcs to protectionutil
2019-03-22 22:15:07 -07:00
Kubernetes Prow Robot
8ef336c05a
Merge pull request #74568 from hex108/pv
Remove redundant checker whether pod has claims in func FindPodVolumes
2019-03-21 22:50:31 -07:00
Kubernetes Prow Robot
4499275cb9
Merge pull request #72800 from stewart-yu/stewart-component-base
Move config local to every controller in KCM
2019-03-21 19:26:19 -07:00
Kubernetes Prow Robot
046dcbd1ed
Merge pull request #73917 from droslean/cleanup
replace loops with go idiomatic.
2019-03-19 19:01:04 -07:00
caiweidong
e9c13409a8 Move protection common func to protectionutil 2019-03-17 22:24:42 +08:00
David Zhu
41b3579345 Address review comments 2019-03-07 17:17:09 -08:00
David Zhu
7d2f4e97b8 Add ADC Fallback if Node doesn't have driver installed 2019-03-07 14:47:38 -08:00
Kubernetes Prow Robot
d31427637b
Merge pull request #74926 from ddebroy/csiprov2
Add new CSI translation APIs required by CSI sidecars and unit tests
2019-03-05 14:54:21 -08:00
Xing Yang
6265f4f78c CSINodeInfo/CSIDriver controller changes
This is the 2nd PR to move CSINodeInfo/CSIDriver APIs to
v1beta1 core storage APIs. It includes controller side changes.
It depends on the PR with API changes:
https://github.com/kubernetes/kubernetes/pull/73883
2019-03-04 16:41:58 -08:00
Deep Debroy
1da91ad39a Add GetIntreeNameFromCSIName and SupersedesInTreePlugin APIs and unit tests
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2019-03-04 16:36:45 -08:00
stewart-yu
ecbd5427e7 auto-generated file 2019-03-02 12:55:26 +08:00
stewart-yu
e01ff1641c move config local to every controllers in kube-controller-manager 2019-03-02 12:54:33 +08:00
Kubernetes Prow Robot
36787041cb
Merge pull request #73653 from ddebroy/migprov1
Support dynamic provisioning for CSI migration scenarios
2019-02-28 01:52:55 -08:00
Kubernetes Prow Robot
84dce4d119
Merge pull request #74393 from codenrhoden/refactor-subpath
Refactor subpath out of pkg/util/mount
2019-02-27 15:54:36 -08:00
Travis Rhoden
2c4d748bed Refactor subpath out of pkg/util/mount
This patch moves subpath functionality out of pkg/util/mount and into a
new package pkg/volume/util/subpath. NSEnter funtionality is maintained.
2019-02-26 19:59:53 -07:00
Deep Debroy
23478f104f PV Controller changes to support provisioning in CSI Migration scenarios
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2019-02-26 08:39:54 -08:00
Jordan Liggitt
d1e865ee34 Update client callers to use explicit versions 2019-02-26 08:36:30 -05:00
Jun Gong
a916f1b28c Remove redundant checker whether pod has claims in func FindPodVolumes 2019-02-26 13:06:52 +08:00
Kubernetes Prow Robot
808f2cf0ef
Merge pull request #72525 from justinsb/owners_should_not_be_executable
Remove executable file permission from OWNERS files
2019-02-14 23:55:45 -08:00
Kubernetes Prow Robot
2aedcbc7ca
Merge pull request #73761 from andrewsykim/remove-cloud-provider-volume-deps
remove cloud provider dependencies to pkg/volume
2019-02-12 18:45:24 -08:00
Nikolaos Moraitis
6e820cdcaf replace loops with go idiomatic. 2019-02-11 11:21:52 +01:00
houjun
a5cde1a463 Check for pvcVolume with IsOperationPending() before markPVCResizeInProgress() 2019-02-11 15:23:17 +08:00
Andrew Kim
ca6a051b00 remove cloud provider dependencies to pkg/volume
Co-authored-by: Weibin Lin <linweibin1@huawei.com>
2019-02-09 01:16:55 -05:00
Kubernetes Prow Robot
52b3956df4
Merge pull request #67638 from houjun41544/20180821
Fix fmt.Errorf messages
2019-02-08 13:13:49 -08:00
Kubernetes Prow Robot
f0b72df47e
Merge pull request #73789 from vladimirvivien/volume-plugin-can-attach
AttachableVolumePlugin CanAttach() method for attachable check
2019-02-08 09:06:17 -08:00
Kubernetes Prow Robot
b50c643be0
Merge pull request #73540 from rlenferink/patch-5
Updated OWNERS files to include link to docs
2019-02-08 09:05:56 -08:00
Vladimir Vivien
0a653b3b80 Adds method CanAttach() to check plugin attachability 2019-02-08 08:04:15 -05:00
Kubernetes Prow Robot
a1539d8e52
Merge pull request #73159 from cofyc/fix72329
Better way to share common utilities between PV controller and Volume Binder
2019-02-05 22:36:13 -08:00
Yecheng Fu
8b79fe3ebe Do not call methods on PersistentVolumeController 2019-02-06 12:04:05 +08:00
Roy Lenferink
b43c04452f Updated OWNERS files to include link to docs 2019-02-04 22:33:12 +01:00
danielqsj
657a1a1a34 change import alias of utils/strings 2019-01-30 10:44:09 +08:00
danielqsj
093328e57f migrate to k8s.io/utils/strings 2019-01-30 10:24:00 +08:00
Ted Yu
c8f1826185 Use read lock for scheduler_binder_cache GetDecisions 2019-01-26 13:06:23 -08:00
Kubernetes Prow Robot
0b62ad23c2
Merge pull request #72959 from cofyc/fix72954
Fix flaky test TestBindAPIUpdate
2019-01-22 11:12:59 -08:00
Kubernetes Prow Robot
54c4428eb4
Merge pull request #71276 from jingxu97/Oct/uncertain
Handle failed attach operation leave uncertain volume attach state
2019-01-17 22:52:57 -08:00
David Zhu
d8c9dc5bb5 Add IsMigratableToCSI to volume plugin interface 2019-01-17 14:43:52 -08:00
Yecheng Fu
f406c6bde7 Fix flaky test TestBindAPIUpdate 2019-01-17 11:25:18 +08:00
Yecheng Fu
dbd80460de Clear cache instead of saving nils if no claims to bind or provision 2019-01-16 21:21:36 +08:00
Yecheng Fu
c2d25e08d7 Skip if pod does not have claims. 2019-01-16 21:02:08 +08:00
Yecheng Fu
7fe97886a8 Merge UpdateProvisionedPVCs with UpdateBindings.
This simplifies code and saves a lock.
2019-01-16 21:02:08 +08:00
Kubernetes Prow Robot
ccb1e1f26d
Merge pull request #72045 from cofyc/fix71928
Make volume binder resilient to races
2019-01-11 17:42:32 -08:00
Justin SB
dd19b923b7
Remove executable file permission from OWNERS files 2019-01-11 16:42:59 -08:00
Jing Xu
7bac6ca73a Address comments
This commit addressed the comment and also add a unit test.
2019-01-11 10:57:37 -08:00
Yecheng Fu
1a62f53d3f If provisioning PVC's PV is not found, check next time. 2019-01-09 10:50:07 +08:00
Yecheng Fu
8b94b9625b Make volume binder resilient to races: unit tests 2019-01-09 10:50:07 +08:00
Kubernetes Prow Robot
8cb5bc49b6
Merge pull request #72636 from mesaugat/patch-1
Aesthetic changes and fix typo
2019-01-08 16:43:36 -08:00
Yecheng Fu
13d87fbff8 Make volume binder resilient to races
- FindPodVolumes do not error if PVC is assumed with selected node
- BindPodVolumes check against API objects
2019-01-08 02:14:13 +08:00
Saugat Acharya
926cabfc3a
Remove multiple spaces after a full stop 2019-01-07 17:04:46 +05:45
Saugat Acharya
956a21cd31
Aesthetic changes
* Remove multiple spaces after full stop
* Include a single space after a comment
* Fixed a typo
```diff
- eixst
+ exist
```
* Make comment and function name the same
2019-01-07 16:49:12 +05:45
Fabio Bertinatto
bb4fcddd1b Check PV requirements before scheduling pod 2019-01-04 12:33:18 +01:00
Jordan Liggitt
73dcfe12da Stop checking VolumeScheduling feature gate 2018-12-27 17:45:45 -05:00
Michelle Au
0b6fa24f65 Add msau42 to top-level volume approvers 2018-12-18 15:11:42 -08:00
k8s-ci-robot
79e5cb2cb7
Merge pull request #71302 from liggitt/verify-unit-test-feature-gates
Split mutable and read-only access to feature gates, limit tests to readonly access
2018-11-29 21:45:12 -08:00
k8s-ci-robot
3faeb7ba6f
Merge pull request #70360 from houjun41544/20181029-1
Fix an error in comment
2018-11-28 23:31:40 -08:00
Jordan Liggitt
2498ca7606 drop VerifyFeatureGatesUnchanged 2018-11-21 11:51:33 -05:00
Jordan Liggitt
70ad4dff48 Fix unit tests calling SetFeatureGateDuringTest incorrectly 2018-11-21 11:51:33 -05:00
Jing Xu
562d0fea53 Handle failed attach operation leave uncertain volume attach state
This commit adds the unit tests for the PR. It also includes some files
that are affected by the function name changes.
2018-11-19 17:21:49 -08:00
Jing Xu
47331cf0a2 WIP: Handle failed attach operation leave uncertain volume attach state
This PR fixes issue #32727.

When an attach operation fails, it is still possible that the volume
will be attached to the node later. This PR adds the logic to record the
volume to node with attached state no matter whether the operation
succedded or not. If the operation fails, mark the attached state to
false. If the operation succeeded, mark the attached state to true. The
reconciler will still issue attach operation until it returns
successfully. If the pod is removed in the mean time, the reconciler
will issue detach operations for all the volumes no matter what is the
attached state.
2018-11-19 17:19:10 -08:00
Michelle Au
18453b01e6 Tolerate apiserver being older than controller-manager 2018-11-16 16:31:27 -08:00
Matthew Wong
dd517c9ff2 Update all tests to account for BlockVolume enabled by default 2018-11-16 13:38:59 -05:00
Jordan Liggitt
248d661327 Add tests to ensure storage feature gate changes don't escape packages 2018-11-16 10:52:53 -05:00
Michelle Au
fd64c08240 Fix storage feature gate test setting 2018-11-16 10:49:40 -05:00
Tomas Smetana
f9c9ef6ec0 PV Controller: fix recycling
In the situation when a PVC is deleted and a new one with the same name
bound to a different PV the "old" PV may fail to recycle since it's
associaded with a PVC that is detected as being in use. This may cause
the recycler processes to hang.
2018-11-15 16:38:25 +01:00
Yecheng Fu
dfe0a08f05 Improve usability of CSI plugin metrics
Use full qualified plugin name if volume spec is present.
2018-11-12 09:21:49 +08:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
k8s-ci-robot
3c10143967
Merge pull request #60195 from humblec/glusterfs-pvspec-3
Refactor GlusterFS PV spec.
2018-11-08 00:24:39 -08:00
Humble Chirammal
bdb051c72d Refactor GlusterFS PV spec.
This patch introduces glusterfsPersistentVolumeSource addition
to glusterfsVolumeSource. All fields remains same as glusterfsVolumeSource
with an addition of a new field
called `EndpointsNamespace` to define namespace of endpoint in the
spec.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2018-11-06 15:51:01 +05:30
k8s-ci-robot
faabfd9455
Merge pull request #70575 from houjun41544/20181102
Replace getPVCName() with a variable
2018-11-02 21:28:41 -07:00
k8s-ci-robot
69f5f5eff2
Merge pull request #67978 from WanLinghao/token_controller_improve
remove idle tokens in kubelet token manager
2018-11-02 12:28:47 -07:00
k8s-ci-robot
6813ebb568
Merge pull request #67851 from aniket-s-kulkarni/flexvolume-resize-implementation
Flexvolume resize implementation
2018-11-02 10:47:01 -07:00
houjun
fc5dc1ffd8 Replace getPVCName() with a variable 2018-11-02 17:23:18 +08:00
k8s-ci-robot
26083c3d09
Merge pull request #70124 from houjun41544/20181022
Fix missing 'break'
2018-10-30 17:41:13 -07:00
houjun
1373936b17 Fix an error in comment 2018-10-30 10:37:23 +08:00
houjun
caf3c25616 Fix an error in log info 2018-10-30 09:02:06 +08:00
Aniket Kulkarni
75350d11e9 adding support for expanding in use persistent volumes for Flex 2018-10-24 15:31:16 -04:00
wackxu
d5edcd3dc3 Add metrics to volume scheduling operations 2018-10-23 20:59:12 +08:00
houjun
9a84e413fc Fix missing 'break' 2018-10-23 17:14:05 +08:00
WanLinghao
7df1078d6f Currently, kubelet token mamanger only clean tokens who are expired. For tokens with long expiration, if the pod who creates them got killed or evicted, those tokens may stay in kubelet's memory until they are expired. It's bad for kubelet and node itself. After this patch, each time a pod was deleted, token manager would clean related tokens. 2018-10-22 09:32:59 +08:00
k8s-ci-robot
0f17e9ade6
Merge pull request #69386 from cblecker/go-1.11
Update to go1.11.1
2018-10-05 17:35:51 -07:00