open-nomad/client/pluginmanager/csimanager
Tim Gross 246db87a74
CSI: allow for concurrent plugin allocations (#12078)
The dynamic plugin registry assumes that plugins are singletons, which
matches the behavior of other Nomad plugins. But because dynamic
plugins like CSI are implemented by allocations, we need to handle the
possibility of multiple allocations for a given plugin type + ID, as
well as behaviors around interleaved allocation starts and stops.

Update the data structure for the dynamic registry so that more recent
allocations take over as the instance manager singleton, but we still
preserve the previous running allocations so that restores work
without racing.

Multiple allocations can run on a client for the same plugin, even if
only during updates. Provide each plugin task a unique path for the
control socket so that the tasks don't interfere with each other.
2022-02-23 15:23:07 -05:00
..
doc.go
fingerprint.go CSI: fingerprint detailed node capabilities 2021-04-01 16:00:58 -04:00
fingerprint_test.go
instance.go CSI: make gRPC client creation more robust (#12057) 2022-02-15 16:57:29 -05:00
instance_test.go csi: checkpoint volume claim garbage collection (#7782) 2020-04-23 11:06:23 -04:00
interface.go CSI: use AccessMode/AttachmentMode from CSIVolumeClaim 2021-04-07 11:24:09 -04:00
manager.go CSI: allow for concurrent plugin allocations (#12078) 2022-02-23 15:23:07 -05:00
manager_test.go CSI: allow for concurrent plugin allocations (#12078) 2022-02-23 15:23:07 -05:00
usage_tracker.go CSI: move node unmount to server-driven RPCs (#7596) 2020-04-02 16:04:56 -04:00
usage_tracker_test.go CSI: move node unmount to server-driven RPCs (#7596) 2020-04-02 16:04:56 -04:00
volume.go CSI: node unmount from the client before unpublish RPC (#11892) 2022-01-28 08:30:31 -05:00
volume_test.go deps: upgrade docker and runc 2022-01-18 08:35:26 -06:00