Commit Graph

3238 Commits

Author SHA1 Message Date
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
Huamin Chen
2fa82b47ea
Merge pull request #57 from gman0/v0.3.0-vendor
[CSI 0.3.0 1/4] vendor update
2018-08-06 09:12:24 -04:00
gman
0ce2c68454 vendor: Gopkg.toml: added protobuf override to v1.1.0 2018-08-01 10:17:20 +02:00
gman
8ea659f0d5 vendor update for CSI 0.3.0 2018-07-31 14:53:26 +02:00
Kenjiro Nakayama
e8784ec094 Logging command and options for debug friendly
Some commands were executed in ceph-csi, but users do not know what
commands with what options were executed. Hence, it is difficult to
debug once the command did not work fine.

This patch adds logging what commmand and options are executed.
2018-07-31 15:31:11 +09:00
Kenjiro Nakayama
b649d4f1f6 Add nonempty option to ceph-fuse to support ReadWriteMany
fuse mount does not allow to mount directory if it contains some
files. Due to this, currently scaled pod with cephfs failed to mount
by ceph-fuse.

This patch adds nonempty option to ceph-fuse command to support
ReadWriteMany with ceph-fuse.
2018-07-31 14:44:33 +09:00
Huamin Chen
6f484f92fc
Merge pull request #52 from nak3/clean-up
Correct cephfsplugin binary path
2018-07-26 10:40:36 -04:00
Kenjiro Nakayama
c1ec54e5c6 Correct cephfsplugin binary path
Makefile has a wrong path to `deploy/cephfs/docker/rbdplugin`. This
patch changes to `deploy/cephfs/docker/cephfsplugin`.
2018-07-26 18:20:40 +09:00
Huamin Chen
51642c9a3a
Merge pull request #43 from alvistack/ceph_version-mimic
Update CEPH_VERSION to mimic
2018-07-21 15:35:03 -04:00