Commit Graph

5 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
gman
8ea659f0d5 vendor update for CSI 0.3.0 2018-07-31 14:53:26 +02:00
Serguei Bezverkhi
1ff1f8be30 code update 2018-03-08 13:22:40 -05:00
Serguei Bezverkhi
de16b0f5e9 Refactor rbdplugin for CSI 0.2.0 spec 2018-02-15 10:49:38 -05:00
Serguei Bezverkhi
27334ac60d just code files 2018-01-15 11:50:50 -05:00