Commit Graph

1496 Commits

Author SHA1 Message Date
Patrick Ohly
720ad4afeb rbd: protect against concurrent gRPC calls
The timeout value in external-provisioner is fairly low. It's not
uncommon that it times out and retries before the rbdplugin is done
with CreateVolume. rbdplugin has to serialize calls and ensure that
they are idempotent to deal with this.
2018-10-26 15:29:48 +02:00
Huamin Chen
188cdd1d68
Merge pull request #89 from rootfs/containerized
support nsmounter when running in containerized mode
2018-10-15 20:25:40 -04:00
Huamin Chen
b93418815f
Merge pull request #90 from rootfs/master
fix golint
2018-10-15 11:08:39 -04:00
Huamin Chen
eda167ca0d fix golint
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-10-15 15:06:21 +00:00
Huamin Chen
3436a094f7 support nsmounter when running in containerized mode
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-10-15 14:59:41 +00:00
Huamin Chen
de114550d9
Merge pull request #88 from Cynerva/gkk/rbd-xfs
csi-rbdplugin: Install xfsprogs to support fsType: xfs
2018-10-12 13:22:38 -04:00
George Kraft
b43108f35b csi-rbdplugin: Install xfsprogs to support fsType: xfs 2018-10-12 11:35:34 -05:00
Huamin Chen
e761d69ce8
Merge pull request #84 from pohly/delete-idempotency
rbdplugin: idempotent DeleteVolume
2018-10-09 11:04:45 -04:00
Patrick Ohly
25e3a961c3 rbdplugin: idempotent DeleteVolume
When the initial DeleteVolume times out (as it does on slow clusters
due to the low 10 second limit), the external-provisioner calls it
again. The CSI standard requires the second call to succeed if the
volume has been deleted in the meantime. This didn't work because
DeleteVolume returned an error when failing to find the volume info
file:

  rbdplugin: E1008 08:05:35.631783       1 utils.go:100] GRPC error: rbd: open err /var/lib/kubelet/plugins/csi-rbdplugin/controller/csi-rbd-622a252c-cad0-11e8-9112-deadbeef0101.json/open /var/lib/kubelet/plugins/csi-rbdplugin/controller/csi-rbd-622a252c-cad0-11e8-9112-deadbeef0101.json: no such file or directory

The fix is to treat a missing volume info file as "volume already
deleted" and return success. To detect this, the original os error
must be wrapped, otherwise the caller of loadVolInfo cannot determine
the root cause.

Note that further work may be needed to make the driver really
resilient, for example there are probably concurrency issues.
But for now this fixes: #82
2018-10-09 12:08:56 +02:00
Huamin Chen
239f295dd1
Merge pull request #79 from rootfs/rbd-nbd
allow monitors be embedded in credential secret
2018-09-24 08:58:09 -04:00
Huamin Chen
d5b7543565 allow monitors be embedded in credential secret
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-21 14:43:01 +00:00
Róbert Vašek
2982fbd79f
Merge pull request #78 from nak3/typo
Fix misspelling of "successfully"
2018-09-21 16:18:24 +02:00
Kenjiro Nakayama
c1e072de0b Fix misspelling of "successfully" 2018-09-21 23:08:23 +09:00
Huamin Chen
6e61a8449b
Merge pull request #77 from rootfs/rbd-nbd
set dns policy in csi plugin so storage class can use mons' FQDN
2018-09-19 11:18:39 -04:00
Huamin Chen
4453cfce5b set dns policy in csi plugin so storage class can use mons' FQDN
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-19 14:39:43 +00:00
Huamin Chen
bbf1d1c5b0
Merge pull request #76 from rootfs/rbd-nbd
allow image registry override
2018-09-19 10:37:27 -04:00
Huamin Chen
0883596574 allow image registry override
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-19 14:21:21 +00:00
Huamin Chen
189ec8486d
Merge pull request #75 from rootfs/rbd-nbd
support rbd-nbd
2018-09-18 10:48:56 -04:00
Huamin Chen
c311bfcad3 update rbd doc 2018-09-18 14:28:55 +00:00
Huamin Chen
30a5d9a6e7 add rbd-nbd mounter in storage class
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-18 14:09:12 +00:00
Huamin Chen
6f3625b11e review feedback
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-18 13:10:28 +00:00
Huamin Chen
8955eb03bc support rbd-nbd
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-09-17 18:12:22 +00:00
Huamin Chen
c2b69d30e0
Merge pull request #74 from mkimuram/pluginwatcher
Add configurations to handle kubelet-plugin-watcher to sample yaml files
2018-09-11 07:59:02 -04:00
Masaki Kimura
02fdf238b0 Add configurations to handle kubelet-plugin-watcher to sample yaml files
Fixes: #73
2018-09-10 19:16:17 +00:00
Huamin Chen
06e6fed9ec
Merge pull request #71 from gman0/cephfs-ceph-user
csi-cephfs now creates/deletes dedicated ceph user in CreateVolume/DeleteVolume
2018-09-04 09:35:06 -04:00
gman
3c11129149 cephfs: ceph user is created in CreateVolume and deleted in DeleteVolume 2018-08-28 10:21:11 +02:00
gman
9c3389d784 cephfs/util: log execCommandJson; cache mount.New() instance 2018-08-28 10:19:28 +02:00
gman
12958d0a9a cephfs/cephuser: fixed getCephUser
output from `ceph auth -f json get` contains non-JSON data in the beginning
workaround for this is searching for the start of valid JSON data (starts with "[{")
and start reading from there
2018-08-28 10:13:53 +02:00
Huamin Chen
d09ce2d003
Merge pull request #69 from gman0/cephfs-probe
cephfs: volumemounter probe
2018-08-14 10:59:14 -04:00
gman
6ddf98addf cephfs: cache available volume mounters 2018-08-14 16:48:30 +02:00
gman
c515a013d3 cephfs: volumemounter probe
The driver will now probe for either ceph fuse/kernel every time
it's about to mount a cephfs volume.

This also affects CreateVolume/DeleteVolume where the mounting
was hard-coded to ceph kernel client till now - mounter configuration
and probing are now honored.
2018-08-14 11:19:41 +02:00
Huamin Chen
43b9f9aeaa
Merge pull request #61 from sngchlko/support-snapshot-in-rbdplugin
Support snapshot in rbdplugin
2018-08-09 09:31:31 -04:00
Seungcheol Ko
38aa575925 check snapshot feature 2018-08-09 22:07:13 +09:00
Seungcheol Ko
4312907f7b remove the snapshot if can't store snapshot information 2018-08-09 22:07:06 +09:00
Seungcheol Ko
b0e68a52e0 Refactoring using users 2018-08-09 22:07:00 +09:00
Seungcheol Ko
7d90783f03 fix nit 2018-08-09 22:06:51 +09:00
Róbert Vašek
069140e74a
Merge pull request #65 from clkao/execCommandJson-error
Log error output for execCommandJson as well.
2018-08-08 17:58:52 +02:00
Chia-liang Kao
a1de128a81 Log error output for execCommandJson as well. 2018-08-08 23:39:19 +08:00
Huamin Chen
4fcd5eb651
Merge pull request #62 from gman0/v0.3.0-cephfs
[CSI 0.3.0 3/4] csi-cephfs 0.3.0
2018-08-08 10:03:16 -04:00
gman
06a2a069fd examples: cephfs storage class: changed the comments a bit 2018-08-08 15:22:14 +02:00
gman
1c38412e39 cephfs: CSI 0.3.0; NodeStageVolume/NodeUnstageVolume; refactoring 2018-08-08 14:47:25 +02:00
Seungcheol Ko
f0fba1240a Revert "Implement NodeGetInfo for csi spec 3.0"
This reverts commit c93466b009.
2018-08-08 20:22:59 +09:00
Seungcheol Ko
b1ccdbb154 Support snapshot feature in rbdplugin 2018-08-08 17:16:07 +09:00
Seungcheol Ko
c93466b009 Implement NodeGetInfo for csi spec 3.0 2018-08-08 14:41:45 +09:00
Huamin Chen
4331960ab3
Merge pull request #55 from nak3/nonempty
Add nonempty option to ceph-fuse to support ReadWriteMany
2018-08-07 14:14:57 -04:00
Huamin Chen
50bbfb5bae
Merge pull request #56 from nak3/debug-friendly
Logging command and options for debug friendly
2018-08-07 14:14:31 -04:00
Huamin Chen
78a7185e37
Merge pull request #59 from gman0/v0.3.0-docs
[CSI 0.3.0 2/4] Makefile, manifests, docs, examples
2018-08-07 09:47:32 -04:00
gman
af7824cafa updated README, added docs 2018-08-07 15:11:22 +02:00
gman
e8ea0aa713 added examples 2018-08-07 15:11:22 +02:00
gman
e2910f1c18 deployment update for 0.3.0 2018-08-07 15:11:22 +02:00