3816b51438
In some circumstances we were not properly releasing plugin references, leading to failures in removing a plugin with no way to recover other than restarting the daemon. 1. If volume create fails (in the driver) 2. If a driver validation fails (should be rare) 3. If trying to get a plugin that does not match the passed in capability Ideally the test for 1 and 2 would just be a unit test, however the plugin interfaces are too complicated as `plugingetter` relies on github.com/pkg/plugin/Client (a concrete type), which will require spinning up services from within the unit test... it just wouldn't be a unit test at this point. I attempted to refactor this a bit, but since both libnetwork and swarmkit are reliant on `plugingetter` as well, this would not work. This really requires a re-write of the lower-level plugin management to decouple these pieces. Signed-off-by: Brian Goff <cpuguy83@gmail.com> |
||
---|---|---|
.. | ||
executor/containerd | ||
v2 | ||
backend_linux.go | ||
backend_unsupported.go | ||
blobstore.go | ||
defs.go | ||
errors.go | ||
events.go | ||
manager.go | ||
manager_linux.go | ||
manager_solaris.go | ||
manager_test.go | ||
manager_windows.go | ||
store.go | ||
store_test.go |