Commit Graph

376 Commits

Author SHA1 Message Date
Christian Huffman
4d2d063635 Included e2e test for CSIDriver FSGroupPolicy 2020-11-12 16:30:38 -05:00
Christian Huffman
01f70d69b7 Move CSIVolumeFSGroupPolicy to beta 2020-11-12 16:28:54 -05:00
Shihang Zhang
d2859cd89b plumb service account token down to csi driver 2020-11-12 09:26:43 -08:00
Kubernetes Prow Robot
2b4be7bb5f
Merge pull request #88759 from andyzhangx/csi-dir-fix
feat: ignore mount dir check in csi node stage/publish
2020-11-09 16:08:40 -08:00
Jan Safranek
9a765f8c2d Restore staging path creation
CSI says about NodeStage (=MountDevice):
// The CO SHALL ensure [...]
// that the path is directory and that the process serving the
// request has `read` and `write` permission to that directory. The
// CO SHALL be responsible for creating the directory if it does not
// exist.
2020-11-09 19:22:29 +01:00
Jan Safranek
55ffd9d5fc Add unit test for staging path creation 2020-11-09 19:22:25 +01:00
jornshen
db53ca01da change plugin name in fsgroupapplymetrics of csi and flexvolume to
distinguish different driver
2020-11-04 16:28:28 +08:00
jornshen
4ed7709774 Report a metric for time taken to perform recursive permission change 2020-10-26 21:04:30 +08:00
Kubernetes Prow Robot
0b8c2bf1a1
Merge pull request #94735 from mikedanese/flake
test flake: fix data race in csi_test.go
2020-09-22 12:24:01 -07:00
Srini Brahmaroutu
fbe5daed73 Change code to use staging/k8s.io/mount-utils 2020-09-16 21:51:24 -07:00
knight42
e89e72b637
test: ensure WaitForCacheSync is called after starting sharedInformerFacotry
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-09-15 16:02:35 +08:00
Mike Danese
94f4f06d13 test flake: fix data race in csi_test.go
The attach goroutine can currently t.Log/t.Error during or after the
subtest completion. This causes races like:

```
==================
WARNING: DATA RACE
Read at 0x00c000e90ac3 by goroutine 1231:
  testing.(*common).logDepth()
      GOROOT/src/testing/testing.go:736 +0xa9
  testing.(*common).log()
      GOROOT/src/testing/testing.go:729 +0x8f
  testing.(*common).Logf()
      GOROOT/src/testing/testing.go:775 +0x21
  k8s.io/kubernetes/pkg/volume/csi.TestCSI_VolumeAll.func21.1()
      pkg/volume/csi/csi_test.go:313 +0x1a4
Previous write at 0x00c000e90ac3 by goroutine 875:
  testing.tRunner.func1()
      GOROOT/src/testing/testing.go:1113 +0x484
  testing.tRunner()
      GOROOT/src/testing/testing.go:1131 +0x22a
  testing.tRunner()
      GOROOT/src/testing/testing.go:1127 +0x202
Goroutine 1231 (running) created at:
  k8s.io/kubernetes/pkg/volume/csi.TestCSI_VolumeAll.func21()
      pkg/volume/csi/csi_test.go:307 +0xf05
  testing.tRunner()
      GOROOT/src/testing/testing.go:1127 +0x202
Goroutine 875 (running) created at:
  testing.(*T).Run()
      GOROOT/src/testing/testing.go:1178 +0x796
  k8s.io/kubernetes/pkg/volume/csi.TestCSI_VolumeAll()
      pkg/volume/csi/csi_test.go:223 +0xb2c
  testing.tRunner()
      GOROOT/src/testing/testing.go:1127 +0x202
==================
```

See also this comment:

07c1788357/src/testing/testing.go (L1141-L1142)

Noticed in:

https://github.com/kubernetes/kubernetes/pull/94449
https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/94449/pull-kubernetes-bazel-test/1304519003330318337
2020-09-11 22:19:42 -07:00
Kubernetes Prow Robot
30a9b8b126
Merge pull request #94389 from pacoxu/fix/94378
add lock for csi node update
2020-09-09 06:36:07 -07:00
Kubernetes Prow Robot
6ee74bf600
Merge pull request #94031 from knight42/fix/TestAttacherWithCSIDriver
test(csi): deflake TestAttacherWithCSIDriver
2020-09-03 11:13:55 -07:00
knight42
469f59a52a
test(csi): deflake TestAttacherWithCSIDriver
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-09-03 22:39:40 +08:00
pacoxu
2360f228ab add lock for csi node update
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2020-09-01 15:52:04 +08:00
Kubernetes Prow Robot
2e59a17dc1
Merge pull request #92288 from zhijianli88/cleanup-tempfiles
Cleanup tempfiles
2020-08-27 17:56:54 -07:00
Kubernetes Prow Robot
96c057ab48
Merge pull request #92001 from huffmanca/include-csidriver-fsgroup
Include CSIDriver capability to indicate fsGroup support
2020-07-16 09:11:42 -07:00
Hemant Kumar
ade2f83685 Simplify the code 2020-07-11 23:29:24 -04:00
Christian Huffman
58bd3e5230 Include CSIDriver SupportsFsGroup 2020-07-11 23:29:24 -04:00
Hemant Kumar
b8c0435bc2 Handle volume-in-use error 2020-07-11 09:02:58 -04:00
Hemant Kumar
6342dad709 Ensure that StagingPath is supplied to blockVolume expansion 2020-07-01 12:21:17 -04:00
Hemant Kumar
69613da0ae rename volumeid to volumeID 2020-07-01 11:34:31 -04:00
Hemant Kumar
75e13e370e Supply staging path for block expansion 2020-07-01 11:34:31 -04:00
Hemant Kumar
7d6959ce2c Add extra fields in node expansion CSI call 2020-07-01 11:34:31 -04:00
Kubernetes Prow Robot
14c69640d0
Merge pull request #87166 from jingxu97/Jan/mountcheckfix
Fix issue in kubelet getMountedVolumePathListFromDisk
2020-06-25 09:45:39 -07:00
Li Zhijian
02eaa4f354 cleanup tempfiles in unit test
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
2020-06-23 11:47:18 +08:00
Jing Xu
7012994a61 Fix issue in kubelet getMountedVolumePathListFromDisk
This PR fixes issue #74650. It adds the extra check for /mount dir under
pod volume dir. It also adds the unit test for this function
2020-06-22 10:00:43 -07:00
Kubernetes Prow Robot
98f250f883
Merge pull request #91307 from yuga711/attach
CSI: Modify VolumeAttachment check to use Informer/Cache
2020-06-15 08:10:10 -07:00
Jayasekhar Konduru
2a89577659 CSI: Modify VolumeAttachment check to use Informer/Cache
Change-Id: Ie70c8b6657c67eefbf13042f36d56ca84a2e42bb
2020-06-11 10:34:09 -07:00
Divyen Patel
148ef06a3d vSphere in-tree volumes migration to vSphere CSI driver 2020-06-08 16:17:02 -07:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
andyzhangx
8d5c65b8cd fix: comments(only create parent dir) 2020-04-21 07:15:02 +00:00
Mark Janssen
2c61627f8c Fix staticcheck failures for pkg/volume/...
Errors from staticcheck:
pkg/volume/azure_dd/azure_common.go:68:2: var winDiskNumFormat is unused (U1000)
pkg/volume/csi/csi_block.go:97:2: field volumeInfo is unused (U1000)
pkg/volume/csi/csi_block_test.go:56:6: func prepareBlockUnmapperTest is unused (U1000)
pkg/volume/csi/csi_client.go:108:2: const initialDuration is unused (U1000)
pkg/volume/csi/csi_client.go:109:2: const factor is unused (U1000)
pkg/volume/csi/csi_client.go:110:2: const steps is unused (U1000)
pkg/volume/csi/csi_client_test.go:83:8: this value of err is never used (SA4006)
pkg/volume/csi/csi_mounter.go:76:2: field options is unused (U1000)
pkg/volume/csi/csi_mounter_test.go:454:13: this value of err is never used (SA4006)
pkg/volume/csi/csi_plugin_test.go:766:16: this value of err is never used (SA4006)
pkg/volume/csi/csi_plugin_test.go:861:13: this value of err is never used (SA4006)
pkg/volume/csi/csi_plugin_test.go:1186:13: this value of err is never used (SA4006)
pkg/volume/csi/csi_plugin_test.go:1249:13: this value of err is never used (SA4006)
pkg/volume/csi/csi_test.go:305:5: the goroutine calls T.Fatalf, which must be called in the same goroutine as the test (SA2002)
pkg/volume/flexvolume/probe_test.go:67:10: this value of err is never used (SA4006)
pkg/volume/iscsi/iscsi_test.go:95:2: field attachCalled is unused (U1000)
pkg/volume/iscsi/iscsi_test.go:96:2: field detachCalled is unused (U1000)
pkg/volume/iscsi/iscsi_test.go:501:24: this value of err is never used (SA4006)
pkg/volume/iscsi/iscsi_util_test.go:159:2: this value of exist is never used (SA4006)
pkg/volume/local/local.go:351:57: argument devicePath is overwritten before first use (SA4009)
pkg/volume/plugins_test.go:119:2: this value of plug is never used (SA4006)
pkg/volume/plugins_test.go:125:2: this value of plug is never used (SA4006)
pkg/volume/quobyte/quobyte.go:474:23: this result of append is never used, except maybe in other appends (SA4010)
pkg/volume/quobyte/quobyte.go:477:23: this result of append is never used, except maybe in other appends (SA4010)
pkg/volume/quobyte/quobyte.go:480:23: this result of append is never used, except maybe in other appends (SA4010)
pkg/volume/rbd/rbd.go:886:2: field adminSecret is unused (U1000)
pkg/volume/rbd/rbd.go:887:2: field adminID is unused (U1000)
pkg/volume/rbd/rbd.go:888:2: field imageFormat is unused (U1000)
pkg/volume/rbd/rbd.go:889:2: field imageFeatures is unused (U1000)
pkg/volume/storageos/storageos.go:302:2: field secretName is unused (U1000)
pkg/volume/storageos/storageos_util_test.go:43:2: field apiAddr is unused (U1000)
pkg/volume/storageos/storageos_util_test.go:44:2: field apiUser is unused (U1000)
pkg/volume/storageos/storageos_util_test.go:45:2: field apiPass is unused (U1000)
pkg/volume/storageos/storageos_util_test.go:46:2: field apiVersion is unused (U1000)
pkg/volume/util/atomic_writer_test.go:756:49: argument err is overwritten before first use (SA4009)
pkg/volume/util/fsquota/common/quota_linux_common.go:37:2: const acct is unused (U1000)
pkg/volume/util/fsquota/common/quota_linux_common.go:38:2: const enforcing is unused (U1000)
pkg/volume/util/fsquota/project.go:168:31: identical expressions on the left and right side of the '==' operator (SA4000)
pkg/volume/util/fsquota/quota_linux.go:306:50: argument poduid is overwritten before first use (SA4009)
pkg/volume/util/fsquota/quota_linux_test.go:558:16: this value of err is never used (SA4006)
pkg/volume/util/subpath/subpath_linux.go:232:81: argument err is overwritten before first use (SA4009)
pkg/volume/util/subpath/subpath_linux_test.go:579:73: argument err is overwritten before first use (SA4009)
2020-04-09 22:08:07 +02:00
Kubernetes Prow Robot
2590f6cc77
Merge pull request #89435 from humblec/correct
Clean some code paths and correct static errors
2020-03-31 05:14:40 -07:00
Humble Chirammal
31b837b420 Clean some code paths and correct static errors
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2020-03-30 17:34:06 +05:30
Jan Safranek
8bdbd4d683 Fix CSINodeInfo startup
To speed up unit tests and add more observability when things go wrong.
2020-03-27 18:29:34 +01:00
David Zhu
8205f815fb Wait for APIServer 'ok' forever during CSINode initialization during Kubelet init 2020-03-27 18:27:57 +01:00
Christian Huffman
c6fd25d100 Updated CSIDriver references 2020-03-06 08:21:26 -05:00
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