Danielle Lancashire
9a23e27439
client_csi: Validate Access/Attachment modes
2020-03-23 13:58:28 -04:00
Danielle Lancashire
2fc65371a8
csi: ClientCSIControllerPublish* -> ClientCSIControllerAttach*
2020-03-23 13:58:28 -04:00
Danielle Lancashire
259852b05f
csi: Model Attachment and Access modes
2020-03-23 13:58:28 -04:00
Danielle Lancashire
2c29b1c53d
client: Setup CSI RPC Endpoint
...
This commit introduces a new set of endpoints to a Nomad Client:
ClientCSI.
ClientCSI is responsible for mediating requests from a Nomad Server to
a CSI Plugin running on a Nomad Client. It should only really be used to
make controller RPCs.
2020-03-23 13:58:28 -04:00
Danielle Lancashire
72ee2d4c1c
csi: Add initial plumbing for controller rpcs
2020-03-23 13:58:28 -04:00
Danielle Lancashire
426c26d7c0
CSI Plugin Registration ( #6555 )
...
This changeset implements the initial registration and fingerprinting
of CSI Plugins as part of #5378 . At a high level, it introduces the
following:
* A `csi_plugin` stanza as part of a Nomad task configuration, to
allow a task to expose that it is a plugin.
* A new task runner hook: `csi_plugin_supervisor`. This hook does two
things. When the `csi_plugin` stanza is detected, it will
automatically configure the plugin task to receive bidirectional
mounts to the CSI intermediary directory. At runtime, it will then
perform an initial heartbeat of the plugin and handle submitting it to
the new `dynamicplugins.Registry` for further use by the client, and
then run a lightweight heartbeat loop that will emit task events
when health changes.
* The `dynamicplugins.Registry` for handling plugins that run
as Nomad tasks, in contrast to the existing catalog that requires
`go-plugin` type plugins and to know the plugin configuration in
advance.
* The `csimanager` which fingerprints CSI plugins, in a similar way to
`drivermanager` and `devicemanager`. It currently only fingerprints
the NodeID from the plugin, and assumes that all plugins are
monolithic.
Missing features
* We do not use the live updates of the `dynamicplugin` registry in
the `csimanager` yet.
* We do not deregister the plugins from the client when they shutdown
yet, they just become indefinitely marked as unhealthy. This is
deliberate until we figure out how we should manage deploying new
versions of plugins/transitioning them.
2020-03-23 13:58:28 -04:00
Lang Martin
55ed831c56
vendor: Add github.com/grpc-ecosystem/go-grpc-middleware/retry
2020-03-23 13:58:28 -04:00
Danielle Lancashire
e2450bb251
vendor: go-hclog 0.10.1 -> 0.11.0
2020-03-23 13:58:28 -04:00
Danielle Lancashire
438657d822
vendor: Init csi protobufs
2020-03-23 13:58:28 -04:00
Mahmood Ali
8142d42f85
Merge pull request #7431 from hashicorp/ci-golang-1.14.1
...
use golang 14.1
2020-03-23 13:22:11 -04:00
Mahmood Ali
3f27ad14d8
use golang 14.1
2020-03-23 13:02:14 -04:00
Jonathan Neal
1375272507
Replace internal DocsPage with @hashicorp/react-docs-page
2020-03-23 12:28:00 -04:00
Mahmood Ali
84b5a6e57f
Merge pull request #7428 from hashicorp/revert-7416-bump-go-dockerclient
...
Revert "vendor: fsouza/go-docker-client v1.6.3"
2020-03-23 10:50:14 -04:00
Mahmood Ali
fd5d033e32
Revert "vendor: fsouza/go-docker-client v1.6.3"
2020-03-23 10:48:47 -04:00
Mahmood Ali
7f81b20990
Merge pull request #7416 from greut/bump-go-dockerclient
...
vendor: fsouza/go-docker-client v1.6.3
2020-03-23 08:04:36 -04:00
Yoan Blanc
2e1a139c66
govendor sync
...
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-23 08:42:18 +01:00
Yoan Blanc
fd671b40d3
vendor: docker/docker -> moby/moby
...
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-23 08:37:55 +01:00
Yoan Blanc
ed8dcccb54
docker: disable swap in Windows only
...
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-23 08:35:09 +01:00
Dane Harrigan
588b30814e
Merge pull request #7373 from hashicorp/daneharrigan-patch-1
...
Update consul-connect.mdx
2020-03-22 22:22:43 -07:00
Yoan Blanc
1bc3a1f615
vendor: upgrade some parts of docker
...
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-22 10:18:06 +01:00
Yoan Blanc
d9ea68e807
fixup! fixup! vendor: fsouza/go-docker-client v1.6.3
...
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-22 10:04:52 +01:00
Yoan Blanc
392e95d496
fixup! vendor: fsouza/go-docker-client v1.6.3
...
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-22 09:29:49 +01:00
Yoan Blanc
8e744d1877
vendor: fsouza/go-docker-client v1.6.3
...
Signed-off-by: Yoan Blanc <yoan@dosimple.ch>
2020-03-22 09:25:46 +01:00
Mahmood Ali
2bb9eb4e78
Merge pull request #6843 from hashicorp/lifecycle
...
Task Lifecycle
2020-03-21 19:15:09 -04:00
Mahmood Ali
01dc3c16e4
fix one test usage of BlockUntil
2020-03-21 18:25:13 -04:00
Mahmood Ali
5801039214
address review feedback
2020-03-21 17:52:58 -04:00
Mahmood Ali
e1f53347e9
tr: proceed to mark other tasks as dead if alloc fails
2020-03-21 17:52:58 -04:00
Mahmood Ali
e30d26b404
fix test
2020-03-21 17:52:57 -04:00
Jasmine Dahilig
73a64e4397
change jobspec lifecycle stanza to use sidecar attribute instead of
...
block_until status
2020-03-21 17:52:57 -04:00
Jasmine Dahilig
89778bc88d
fix restart policy for system jobs with no lifecycle
2020-03-21 17:52:56 -04:00
Jasmine Dahilig
1485b342e2
remove deadline code for now
2020-03-21 17:52:56 -04:00
Jasmine Dahilig
56e0b8e933
refactor TaskHookCoordinator tests to use mock package and add failed init and sidecar test cases
2020-03-21 17:52:56 -04:00
Jasmine Dahilig
b69e8e3a42
remove api package dependency on structs package
2020-03-21 17:52:55 -04:00
Jasmine Dahilig
7b3f3497ed
mock task hook coordinator in consul integration test
2020-03-21 17:52:55 -04:00
Jasmine Dahilig
2a8dac077c
remove debugging test code from TestAllocRunner_TaskLeader_StopRestoredTG
2020-03-21 17:52:54 -04:00
Jasmine Dahilig
deb26aefab
fix bug in lifecycle restore tests after refactor
2020-03-21 17:52:54 -04:00
Jasmine Dahilig
2e93d7a875
fix failing ci test: TestTaskRunner_UnregisterConsul_Retries
2020-03-21 17:52:54 -04:00
Jasmine Dahilig
d54a83afee
fix linting errors
2020-03-21 17:52:53 -04:00
Jasmine Dahilig
3d1ffb9337
add task hook coordinator many init tasks test case
2020-03-21 17:52:53 -04:00
Jasmine Dahilig
80f0256cb4
refactor task hook coordinator helper method and tests
2020-03-21 17:52:53 -04:00
Jasmine Dahilig
a0fe570317
clean up restore test
2020-03-21 17:52:52 -04:00
Jasmine Dahilig
7ed08eb75a
partial test for restore functionality
2020-03-21 17:52:52 -04:00
Jasmine Dahilig
0c44d0017d
account for client restarts in task lifecycle hooks
2020-03-21 17:52:51 -04:00
Jasmine Dahilig
81d051d7e8
fix bug in lifecycle scheduler test mocks
2020-03-21 17:52:51 -04:00
Jasmine Dahilig
4ab39318cc
clean up restart conditions and restart tests for task lifecycle
2020-03-21 17:52:50 -04:00
Jasmine Dahilig
7064deaafb
put lifecycle nil and empty checks in api Canonicalize
2020-03-21 17:52:50 -04:00
Jasmine Dahilig
39b5eb245c
remove api dependency on structs package, copy lifecycle defaults to api package
2020-03-21 17:52:49 -04:00
Jasmine Dahilig
34f8055f39
remove logging debug line from cli
2020-03-21 17:52:49 -04:00
Jasmine Dahilig
b7f08c9d13
add appropriate lifecycle deadline default of 120s
2020-03-21 17:52:48 -04:00
Jasmine Dahilig
0cc9212a54
add test cases for scheduler alloc placement with lifecycle resources
2020-03-21 17:52:47 -04:00