CSI driver for Ceph
Go to file
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
cephfs cephfs/main: updated import path 2018-04-24 09:29:05 +02:00
deploy set dns policy in csi plugin so storage class can use mons' FQDN 2018-09-19 14:39:43 +00:00
docs allow monitors be embedded in credential secret 2018-09-21 14:43:01 +00:00
examples allow monitors be embedded in credential secret 2018-09-21 14:43:01 +00:00
pkg rbdplugin: idempotent DeleteVolume 2018-10-09 12:08:56 +02:00
rbd code update 2018-03-08 13:22:40 -05:00
vendor rbdplugin: idempotent DeleteVolume 2018-10-09 12:08:56 +02:00
.gitignore Merge branch 'master' into wip-cephfs 2018-03-13 11:21:34 +01:00
.travis.yml consolidate container deploy 2018-07-19 14:06:57 -04:00
deploy.sh deployment update for 0.3.0 2018-08-07 15:11:22 +02:00
Gopkg.lock rbdplugin: idempotent DeleteVolume 2018-10-09 12:08:56 +02:00
Gopkg.toml vendor: Gopkg.toml: added protobuf override to v1.1.0 2018-08-01 10:17:20 +02:00
LICENSE add Apache License 2018-01-10 16:12:00 +00:00
Makefile Fix misspelling of "successfully" 2018-09-21 23:08:23 +09:00
README.md updated README, added docs 2018-08-07 15:11:22 +02:00

Ceph CSI 0.3.0

Container Storage Interface (CSI) driver, provisioner, and attacher for Ceph RBD and CephFS.

Overview

Ceph CSI plugins implement an interface between CSI enabled Container Orchestrator (CO) and CEPH cluster. It allows dynamically provisioning CEPH volumes and attaching them to workloads. Current implementation of Ceph CSI plugins was tested in Kubernetes environment (requires Kubernetes 1.11+), but the code does not rely on any Kubernetes specific calls (WIP to make it k8s agnostic) and should be able to run with any CSI enabled CO.

For details about configuration and deployment of RBD and CephFS CSI plugins, see documentation in docs/.

For example usage of RBD and CephFS CSI plugins, see examples in examples/.

Troubleshooting

Please submit an issue at: Issues