Commit Graph

506 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
e9033989a0 vendor updates 2018-03-07 11:43:06 -05:00
Serguei Bezverkhi
1f1e8cea37 Updated vednor files 2018-02-15 08:50:31 -05:00
Serguei Bezverkhi
27334ac60d just code files 2018-01-15 11:50:50 -05:00
Serguei Bezverkhi
7b24313bd6 vendor files 2018-01-10 13:42:26 -05:00