Commit Graph

436 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
5708511499 Merge pull request #88708 from mikedanese/deleteopts
Migrate clientset metav1.DeleteOpts to pass-by-value
2020-03-05 23:09:23 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Hemant Kumar
c52d4bf32f Implement changes into volume plugins for skipping chown
Add a separate function for walking directories
2020-03-04 21:23:31 -05:00
andyzhangx
b3a27c44bf fix comments 2020-03-04 11:33:06 +00:00
andyzhangx
0c81a2f6b0 fix: ignore dir check in csi node stage/publish 2020-03-03 11:55:48 +00:00
Jan Safranek
afcbb68386 Fix unit test to fail with proper final gRPC code
Plain "errors.New" is interpreted as transient error.
2020-03-02 12:54:03 +01:00
Jan Safranek
f6fc73573c Call NodeUnpublish after NodePublish timeout
When NodePublish times out and user deletes corresponding pod, the driver
may continue publishing the volume. In order to "cancel" this operation,
Kubernetes must issue NodeUnpublish and wait until it finishes.

Therefore, NodeUnpublish should be called even if the target directory
(created by the driver) does not exist yet.
2020-03-02 12:54:02 +01:00
Jan Safranek
86a5bd98b6 Add uncertain map state to block volumes
Volume mount should be marked as uncertain after NodeStage / NodePublish
timeout or similar error, when the driver can continue with the operation in
background.
2020-03-02 12:54:02 +01:00
andyzhangx
5a6435ad76 fix: corrupted mount point in csi driver
add test

fix build failure and bazel

fix golint
2020-02-26 09:43:51 +00:00
Jan Safranek
073d0b2340 Add getPublishDir and getVolumePluginDir
So we don't need to compute these backwards from getPublishPath and
getVolumeDevicePluginDir.
2020-02-17 10:51:39 +01:00
Jan Safranek
0bd2e629c7 Fix unit tests 2020-02-13 12:20:03 +01:00
Jan Safranek
e2d8e575f0 Add CSI block volume directory cleanup
CSI volume plugin creates number of files/directories when processing block
volumes. These files must be cleaned when the plugin is done with the
volume, i.e. at the end on TearDownDevice().
2020-02-13 12:19:31 +01:00
Kubernetes Prow Robot
92be16ce82 Merge pull request #88014 from andyzhangx/azure-csi-migration
fix: add azure disk migration support on CSINode
2020-02-11 23:16:09 -08:00
Kubernetes Prow Robot
fd0b34d69d Merge pull request #87911 from tedyu/rm-exp-backoff
Remove the exponential backoff in NodeGetInfo
2020-02-11 23:15:10 -08:00
andyzhangx
9cb7f54c0b fix: add azure disk migration support for CSINode 2020-02-11 11:39:55 +00:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Ted Yu
f48e5de963 Remove the exponential backoff in NodeGetInfo 2020-02-07 06:39:12 -08:00
Kubernetes Prow Robot
69e01784c1 Merge pull request #87838 from Ikuyadeu/path2filepath
Move 'path' package usage to 'path/filepath' (repeat the #87713)
2020-02-06 17:48:11 -08:00
Ted Yu
871739e4df Check getNodeInfoError against nil 2020-02-06 10:57:43 -08:00
Yuki Ueda
d1bc1875aa Move 'path' package usage to 'path/filepath' 2020-02-05 14:29:27 +09:00
Kubernetes Prow Robot
76c89645c5 Merge pull request #87713 from kkmsft/filepath-fixes-windows
Move 'path' package usage to 'path/filepath'.
2020-02-03 17:07:25 -08:00
Krishnakumar R(KK)
72fe307b35 Move 'path' package usage to 'path/filepath'.
In case of windows, the path package functions such as 'Dir' returns faulty directory path.
For eg: 'path.Dir' on 'c:\var\lib\kubelet\pods' returns '.', where as the result should
have been 'c:\var\lib\kubelet'. The filepath package returns the right values.
2020-01-30 15:53:18 -08:00
yuxiaobo
221396ac35 cleanup: delete unused func
Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
2020-01-20 18:20:57 +08:00
Kubernetes Prow Robot
d6412b856f Merge pull request #84345 from danielqsj/withdialer
replace grpc.WithDialer which is deprecated
2020-01-06 15:56:17 -08:00
danielqsj
19fe9f8d94 replace grpc.WithDialer which is deprecated 2019-12-26 17:46:59 +08:00
danielqsj
5bc0e26c19 unify alias of api errors under pkg and staging 2019-12-26 16:42:28 +08:00
Hemant Kumar
ca532c6fb2 Ensure that error is returned on NodePublish 2019-12-11 22:10:09 -05:00
Hemant Kumar
4b8e552a88 Use typed errors for special casing volume progress
Use typed errors rather than operation status for
indicating operation progress
2019-12-04 14:48:30 -05:00
Hemant Kumar
0741f6fa29 Ensure that metadata directory is not created if secret is not found
To ensure that metadata directory is not created if secret is not
found, we will move fetching secrets bit more earlier in the code.
2019-12-02 12:09:38 -05:00
Hemant Kumar
309c6f863a Handle the case of remounts correctly 2019-12-02 12:09:38 -05:00
Hemant Kumar
5feea93163 Rename MarkVolumeMountedOpts to MarkVolumeOpts
Also remove VolumeNotMounted state
2019-12-02 12:09:38 -05:00
Hemant Kumar
cdbd3ba5c2 Change interface of SetUp function 2019-12-02 12:09:38 -05:00
Hemant Kumar
db9ac38592 Change signature of MountDevice function and remove MountDeviceWithStatusTracking 2019-12-02 12:09:38 -05:00
Hemant Kumar
0c52b6606e Refactor NodeStage function
Timeout operations should result in
Fix unit tests for uncertainDeviceGlobalMounts
2019-12-02 12:09:38 -05:00
Hemant Kumar
57019e0628 Add tests for verifying in-progress state 2019-12-02 12:09:38 -05:00
Hemant Kumar
321e99367a Add code to handle Setup With Status tracking 2019-12-02 12:09:38 -05:00
Hemant Kumar
dc9e64c31e Implement return status codes 2019-12-02 12:02:27 -05:00
Hemant Kumar
50dbcb3e00 Make sure PodExistsInVolume does not uses uncertain volumes 2019-12-02 12:01:40 -05:00
Hemant Kumar
34a6007dfe Add code to mark volume as uncertain
Update bazel files
Add tests for volume mounts in uncertain state
2019-12-02 12:01:40 -05:00
David Zhu
21f7060c8f Plumb test state through to fake volume host creation for error handling 2019-11-18 14:45:01 -08:00
David Zhu
1a47bf54e2 De-race some CSI unit tests that were initializing the plugin manager…ger (and plugins) twice. Set some const variables earlier to support node info manager initialization and wait for initialization to complete before finishing plugin setup. 2019-11-15 11:23:32 -08: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
Masaki Kimura
4578c6c8ce Separate staging/publish and unstaging/unpublish logics for block 2019-11-15 01:55:20 +00:00
Masaki Kimura
7caf731773 Change publish path for CSI block volume per pod
This change is to allow CSI driver to publish the same volume for multipe pods on the same node.
2019-11-15 01:55:15 +00: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
Masaki Kimura
f363a03f0b Refactor BlockVolumeMapper and BlockVolumeUnmapper interface
- Rename MapDevice to MapPodDevice in BlockVolumeMapper
- Add UnmapPodDevice in BlockVolumeUnmapper (This will be used by csi driver later)
- Add CustomBlockVolumeMapper and CustomBlockVolumeUnmapper interface
- Move SetUpDevice and MapPodDevice to CustomBlockVolumeMapper
- Move TearDownDevice and UnmapPodDevice to CustomBlockVolumeUnmapper
- Implement CustomBlockVolumeMapper only in local and csi plugin
- Implement CustomBlockVolumeUnmapper only in fc, iscsi, rbd, and csi plugin
- Change MapPodDevice to return path and SetUpDevice not to return path
2019-11-14 22:01:11 +00:00
Masaki Kimura
8a159d7253 Move MapBlockVolume call to operation_generator and add UnmapBlockVolume 2019-11-14 15:58:26 +00:00
Kubernetes Prow Robot
c580a12c8e Merge pull request #83568 from bertinatto/volume_limits_ga
Promote volume limits to GA
2019-11-12 11:50:22 -08:00
Kubernetes Prow Robot
897ce3073c Merge pull request #84533 from davidz627/fix/deprecatedPath
Remove plugin watching of deprecated directory and CSI v0 support in accordance with deprecation policy
2019-11-12 04:48:20 -08:00