moby/plugin
Brian Goff 3816b51438 Fixup some issues with plugin refcounting
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>
2017-10-21 15:17:57 -04:00
..
executor/containerd Decouple plugin manager from libcontainerd package 2017-09-19 12:17:55 -04:00
v2 Update containerd to 06b9cb35161009dcb7123345749fef02f7cea8e0 2017-08-21 12:04:07 -07:00
backend_linux.go LCOW: API: Add platform to /images/create and /build 2017-10-06 11:44:18 -07:00
backend_unsupported.go Make plugin emit strongly typed, consumable events 2017-07-06 14:26:06 -04:00
blobstore.go LCOW: API: Add platform to /images/create and /build 2017-10-06 11:44:18 -07:00
defs.go Make plugin emit strongly typed, consumable events 2017-07-06 14:26:06 -04:00
errors.go Remove string checking in API error handling 2017-08-15 16:01:11 -04:00
events.go Make plugin emit strongly typed, consumable events 2017-07-06 14:26:06 -04:00
manager.go LCOW: API: Add platform to /images/create and /build 2017-10-06 11:44:18 -07:00
manager_linux.go Decouple plugin manager from libcontainerd package 2017-09-19 12:17:55 -04:00
manager_solaris.go Make plugins dir private. 2017-08-02 16:58:07 -04:00
manager_test.go fixed:go vetting warning unkeyed fields 2017-03-20 16:30:01 +08:00
manager_windows.go Make plugins dir private. 2017-08-02 16:58:07 -04:00
store.go Fixup some issues with plugin refcounting 2017-10-21 15:17:57 -04:00
store_test.go Fixup some issues with plugin refcounting 2017-10-21 15:17:57 -04:00