open-nomad/client/allocrunner
Tim Gross f6b3d38eb8
CSI: move node unmount to server-driven RPCs (#7596)
If a volume-claiming alloc stops and the CSI Node plugin that serves
that alloc's volumes is missing, there's no way for the allocrunner
hook to send the `NodeUnpublish` and `NodeUnstage` RPCs.

This changeset addresses this issue with a redesign of the client-side
for CSI. Rather than unmounting in the alloc runner hook, the alloc
runner hook will simply exit. When the server gets the
`Node.UpdateAlloc` for the terminal allocation that had a volume claim,
it creates a volume claim GC job. This job will made client RPCs to a
new node plugin RPC endpoint, and only once that succeeds, move on to
making the client RPCs to the controller plugin. If the node plugin is
unavailable, the GC job will fail and be requeued.
2020-04-02 16:04:56 -04:00
..
interfaces allow only positive shutdown delay 2019-12-16 11:38:30 -05:00
state stale allocation data leads to incorrect (and even negative) metrics (#5637) 2019-05-07 15:54:36 -04:00
taskrunner tests: restart restartpolicy for all tasks in tests 2020-03-24 21:52:48 -04:00
alloc_runner.go allocrunner: Push state from hooks to taskrunners 2020-03-23 13:58:30 -04:00
alloc_runner_hooks.go hook resources: Init with empty resources during setup 2020-03-23 13:58:30 -04:00
alloc_runner_test.go tests: update AR task restart policy 2020-03-24 17:00:42 -04:00
alloc_runner_unix_test.go tests: restart restartpolicy for all tasks in tests 2020-03-24 21:52:48 -04:00
allocdir_hook.go client: cleanup and document context uses 2019-03-12 15:03:54 -07:00
config.go client: Pass an RPC Client to AllocRunners 2020-03-23 13:58:30 -04:00
consulsock_hook.go connect: remove proxy socket for restarted client 2019-09-25 14:58:17 -04:00
consulsock_hook_test.go connect: add unix socket to proxy grpc for envoy (#6232) 2019-09-03 08:43:38 -07:00
csi_hook.go CSI: move node unmount to server-driven RPCs (#7596) 2020-04-02 16:04:56 -04:00
groupservice_hook.go client: enable configuring enable_tag_override for services 2020-02-10 08:00:55 -06:00
groupservice_hook_test.go update rest of consul packages 2020-02-16 16:25:04 -06:00
health_hook.go add default update stanza and max_parallel=0 disables deployments (#6191) 2019-09-02 10:30:09 -07:00
health_hook_test.go health: fail health if any task is pending 2020-03-22 11:13:41 -04:00
migrate_hook.go client: cleanup and document context uses 2019-03-12 15:03:54 -07:00
network_hook.go driver/networking: don't recreate existing network namespaces 2019-09-25 14:58:17 -04:00
network_hook_test.go driver/networking: don't recreate existing network namespaces 2019-09-25 14:58:17 -04:00
network_manager_linux.go spellcheck: Fix spelling of retrieve 2019-12-05 18:59:47 -06:00
network_manager_linux_test.go ar: rearrange network hook to support building on windows 2019-07-31 01:03:19 -04:00
network_manager_nonlinux.go ar: refactor network bridge config to use go-cni lib (#6255) 2019-09-04 16:33:25 -04:00
networking.go ar: refactor network bridge config to use go-cni lib (#6255) 2019-09-04 16:33:25 -04:00
networking_bridge_linux.go connect: enable proxy.passthrough configuration 2020-03-31 17:15:27 -06:00
task_hook_coordinator.go address review feedback 2020-03-21 17:52:58 -04:00
task_hook_coordinator_test.go refactor TaskHookCoordinator tests to use mock package and add failed init and sidecar test cases 2020-03-21 17:52:56 -04:00
testing.go client: enable nomad client to request and set SI tokens for tasks 2020-01-31 19:03:38 -06:00
upstream_allocs_hook.go client: cleanup and document context uses 2019-03-12 15:03:54 -07:00
util.go allocrunnerv2 -> allocrunner 2018-10-16 16:56:56 -07:00