k3s/pkg/volume/util
James Ravn 9992bd23c2 Mark detached only if no pending operations
To safely mark a volume detached when the volume controller manager is used.

An example of one such problem:

1. pod is created, volume is added to desired state of the world
2. reconciler process starts
3. reconciler starts MountVolume, which is kicked off asynchronously via
   operation_executor.go
4. MountVolume mounts the volume, but hasn't yet marked it as mounted
5. pod is deleted, volume is removed from desired state of the world
6. reconciler detects volume is no longer in desired state of world,
   removes it from volumes in use
7. MountVolume tries to mark volume in use, throws an error because
   volume is no longer in actual state of world list.
8. controller-manager tries to detach the volume, this fails because it
   is still mounted to the OS.
9. EBS gets stuck indefinitely in busy state trying to detach.
2017-02-13 11:51:44 +00:00
..
nestedpendingoperations Mark detached only if no pending operations 2017-02-13 11:51:44 +00:00
operationexecutor Mark detached only if no pending operations 2017-02-13 11:51:44 +00:00
types start the apimachinery repo 2017-01-11 09:09:48 -05:00
volumehelper Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
BUILD Update generated files 2017-01-29 21:41:45 +01:00
OWNERS Update OWNERS for pkg/volume/util/ 2016-11-13 18:02:15 -08:00
atomic_writer.go start the apimachinery repo 2017-01-11 09:09:48 -05:00
atomic_writer_test.go move authoritative client-go utils out of pkg 2017-01-24 08:59:18 -05:00
device_util.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
device_util_linux.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
device_util_linux_test.go fix go vet errors 2016-08-10 16:45:41 -07:00
device_util_unsupported.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
fs.go pkg/api/resource: move to apimachinery 2017-01-29 21:41:44 +01:00
fs_unsupported.go pkg/api/resource: move to apimachinery 2017-01-29 21:41:44 +01:00
io_util.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
util.go fix redundant alias clientset 2017-01-12 10:21:05 +08:00