open-nomad/client
Mahmood Ali 2588b3bc98 cleanup driver eventor goroutines
This fixes few cases where driver eventor goroutines are leaked during
normal operations, but especially so in tests.

This change makes few modifications:

First, it switches drivers to use `Context`s to manage shutdown events.
Previously, it relied on callers invoking `.Shutdown()` function that is
specific to internal drivers only and require casting.  Using `Contexts`
provide a consistent idiomatic way to manage lifecycle for both internal
and external drivers.

Also, I discovered few places where we don't clean up a temporary driver
instance in the plugin catalog code, where we dispense a driver to
inspect and validate the schema config without properly cleaning it up.
2020-05-26 11:04:04 -04:00
..
allocdir Run Linux Images (LCOW) and Windows Containers side by side (#7850) 2020-05-04 13:08:47 -04:00
allochealth allochealth: Fix when check health preceeds task health 2020-05-13 07:44:39 -04:00
allocrunner volumes: return better error messages for unsupported task drivers (#8030) 2020-05-21 09:18:02 -04:00
allocwatcher client/allocwatcher: fix dropped test error (#6592) 2019-10-31 08:29:25 -04:00
config command: use consistent CONSUL_HTTP_TOKEN name 2020-02-12 10:42:33 -06:00
consul docs: remove erroneous characters from comment 2020-03-30 13:26:48 -06:00
devicemanager csi: docstring and log message fixups (#7327) 2020-03-23 13:58:30 -04:00
dynamicplugins csi: dynamically update plugin registration (#7386) 2020-03-23 13:59:25 -04:00
fingerprint env_aws: combine 3 log lines into 1 2020-04-29 10:47:36 -06:00
interfaces Populate alloc stats API with device stats 2018-11-16 10:26:32 -05:00
lib ar: plumb client config for networking into the network hook 2019-07-31 01:04:06 -04:00
logmon update grpc 2020-03-03 08:39:54 -05:00
pluginmanager cleanup driver eventor goroutines 2020-05-26 11:04:04 -04:00
servers client: drop unused DC field from servers list 2019-05-20 14:19:15 -07:00
state client/heartbeatstop: don't store client state, use timeout 2020-05-01 12:35:49 -04:00
stats Update gopsutil code 2020-03-15 09:37:05 +01:00
structs csi: support for VolumeContext and VolumeParameters (#7957) 2020-05-15 08:16:01 -04:00
taskenv Update hcl2 vendoring 2020-05-19 15:00:03 -04:00
testutil fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
vaultclient vendor: vault api and sdk 2020-03-21 17:57:48 +01:00
acl.go Audit config, seams for enterprise audit features 2020-03-23 13:47:42 -04:00
acl_test.go Audit config, seams for enterprise audit features 2020-03-23 13:47:42 -04:00
agent_endpoint.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
agent_endpoint_test.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
alloc_endpoint.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
alloc_endpoint_test.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
alloc_watcher_e2e_test.go tests: swap lib/freeport for tweaked helper/freeport 2019-12-09 08:37:32 -06:00
client.go client/heartbeatstop: don't store client state, use timeout 2020-05-01 12:35:49 -04:00
client_stats_endpoint.go Server side impl + touch ups 2018-02-15 13:59:02 -08:00
client_stats_endpoint_test.go tests: swap lib/freeport for tweaked helper/freeport 2019-12-09 08:37:32 -06:00
client_test.go client: enable nomad client to request and set SI tokens for tasks 2020-01-31 19:03:38 -06:00
csi_endpoint.go csi: support for VolumeContext and VolumeParameters (#7957) 2020-05-15 08:16:01 -04:00
csi_endpoint_test.go CSI: move node unmount to server-driven RPCs (#7596) 2020-04-02 16:04:56 -04:00
driver_manager_test.go tests: fix data race in client TestDriverManager_Fingerprint_Periodic 2019-05-21 09:49:56 -04:00
fingerprint_manager.go goimports until make check is happy 2019-01-23 06:27:14 -08:00
fingerprint_manager_test.go client/drivermananger: add driver manager 2018-12-18 22:55:18 -05:00
fs_endpoint.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
fs_endpoint_test.go fixup! vendor: explicit use of hashicorp/go-msgpack 2020-03-31 09:48:07 -04:00
gc.go Plugins use parent loggers 2019-01-11 11:36:37 -08:00
gc_test.go tests: deflake TestAllocGarbageCollector_MakeRoomFor_MaxAllocs 2020-03-30 07:06:53 -04:00
heartbeatstop.go server: stop after client disconnect (#7939) 2020-05-13 16:39:04 -04:00
heartbeatstop_test.go client/heartbeatstop: don't store client state, use timeout 2020-05-01 12:35:49 -04:00
node_updater.go client: use NewNodeEvent builder for consistency (#7559) 2020-03-31 10:02:16 -04:00
rpc.go CSI: move node unmount to server-driven RPCs (#7596) 2020-04-02 16:04:56 -04:00
rpc_test.go Simplify Bootstrap logic in tests 2020-03-02 13:47:43 -05:00
testing.go goimports until make check is happy 2019-01-23 06:27:14 -08:00
util.go client: defensive against getting stale alloc updates 2019-06-29 04:17:35 -05:00
util_test.go Update state with server 2018-10-16 16:53:29 -07:00