Mahmood Ali
5af9296bb4
Expose Device Stats in /client/stats API endpoint
2018-11-14 14:41:19 -05:00
Mahmood Ali
dd47c590f0
Allow nullable fields in StatValues
...
In state values, we need to be able to distinguish between zero values
(e.g. `false`) and unset values (e.g. `nil`).
We can alternatively use protobuf `oneOf` and nested map to ensure
consistency of fields that are set together, but the golang
representation does not represent that well and introducing a mismatch
between representations. Thus, I opted not to use it.
2018-11-14 14:41:19 -05:00
Mahmood Ali
2f4c510cb7
Move Stat{Object|Value} to plugins/shared/structs
...
Moving them as they may be useful for other packages/plugins besides
devices.
2018-11-14 09:01:26 -05:00
Mahmood Ali
df694eb3be
Regenerate proto files with protoc-gen-go@v1.2.0
2018-11-14 09:01:26 -05:00
Mahmood Ali
851b275afc
Merge pull request #4858 from hashicorp/b-fix-master-20181109
...
Fix some tests in master
2018-11-13 16:08:26 -05:00
Alex Dadgar
6d0cd01a6a
Merge pull request #4868 from hashicorp/b-plugin-ctx
...
Plugin client's handle plugin dying
2018-11-13 10:26:53 -08:00
Mahmood Ali
179cdc6277
Address review comments
2018-11-13 10:21:40 -05:00
Mahmood Ali
572a1a205b
fix plugin test
2018-11-13 10:21:40 -05:00
Alex Dadgar
9d42f4d039
Plugin client's handle plugin dying
...
This PR plumbs the plugins done ctx through the base and driver plugin
clients (device already had it). Further, it adds generic handling of
gRPC stream errors.
2018-11-12 17:09:27 -08:00
Mahmood Ali
60166374d9
Add a helper functions for checking unix root
2018-11-08 10:00:49 -08:00
Alex Dadgar
37f239ea74
fix race
2018-11-07 12:22:07 -08:00
Alex Dadgar
eae45992db
reserve uses donectx
2018-11-07 10:43:15 -08:00
Alex Dadgar
a8e95502fe
tests
2018-11-07 10:43:15 -08:00
Alex Dadgar
57f40c7e3e
Device manager
...
Introduce a device manager that manages the lifecycle of device plugins
on the client. It fingerprints, collects stats, and forwards Reserve
requests to the correct plugin. The manager, also handles device plugins
failing and validates their output.
2018-11-07 10:43:15 -08:00
Alex Dadgar
77ad27de60
assign devices
2018-11-07 10:32:03 -08:00
Mahmood Ali
efe9a60556
register the java plugin
2018-11-06 12:41:39 -08:00
Michael Schurter
8122c76cd6
Merge pull request #4828 from hashicorp/b-restore
...
Implement client agent restarting
2018-11-05 18:50:15 -06:00
Michael Schurter
9b82025608
client: do not run terminal allocs
2018-11-05 12:32:05 -08:00
Michael Schurter
fdbe446ea6
client: first pass at implementing task restoring
...
Task restoring works but dead tasks may be restarted
2018-11-05 12:32:05 -08:00
Mahmood Ali
11a64f1332
Merge pull request #4826 from hashicorp/b-driver-exec-tweaks-20181031
...
Register exec driver plugin among some fixes
2018-11-02 10:11:05 -04:00
Mahmood Ali
a5e1e4b59e
Register exec driver plugin among some fixes
...
Namely, remove the `enabled` configuration flag, as it's specific to
`raw_exec` driver. Also, pass resource limits to underlying call.
2018-10-31 13:55:59 -04:00
Michael Schurter
864d545284
rkt: fix race, register by default, fix fingerprint
2018-10-30 17:37:00 -07:00
Michael Schurter
e7bf482eaa
plugins: SetConfig shouldn't panic on nil driver configs
2018-10-30 17:14:27 -07:00
Michael Schurter
fd2fcd7cb6
drivers: only log non-cancellation errors
2018-10-30 17:13:35 -07:00
Michael Schurter
7d28d346d5
qemu: fix build and register by default
...
API changes had broken the build.
2018-10-29 22:10:37 -07:00
Nick Ethier
da7563b8c3
Merge pull request #4795 from hashicorp/f-plugin-config
...
Pass client configuration to plugins through loader
2018-10-29 18:42:27 -07:00
Nick Ethier
394cbc81b6
plugins/drivers: nil gaurd driver config when building executor config
2018-10-29 21:43:19 -04:00
Nick Ethier
95d381cff7
rename NomadConfig to ClientAgentConfig
2018-10-29 21:34:34 -04:00
Michael Schurter
41b40b9296
plugins/drivers: fix panic when copying a nil TaskHandle
2018-10-19 09:45:45 -07:00
Nick Ethier
7f69bcd4cd
added driver specific client config struct to plugin configuration
2018-10-18 23:31:01 -04:00
Alex Dadgar
0202b183cc
Merge pull request #4793 from hashicorp/b-no-cty
...
Do not use cty in drivers
2018-10-16 20:04:41 -07:00
Nick Ethier
87748fe423
update rkt and exec setconfig funcs
2018-10-16 23:00:26 -04:00
Nick Ethier
16935d6f01
test for setting NomadConfig in plugin loader
2018-10-16 22:47:26 -04:00
Nick Ethier
3244a4cc57
plumb NomadConfig into plugins
2018-10-16 22:47:22 -04:00
Nick Ethier
832a214bac
drivers/exec: better fingerprinting and detection on non linux
2018-10-16 22:45:33 -04:00
Nick Ethier
7f5046849e
drivers/exec: add exec implementation
2018-10-16 22:45:28 -04:00
Alex Dadgar
a10d3964d0
Do not use cty in drivers
2018-10-16 17:17:07 -07:00
Michael Schurter
2361c1904b
tests: get tests building if not yet passing
2018-10-16 16:56:57 -07:00
Michael Schurter
2b249eee14
plugins: msgpack codec should use cty tags
2018-10-16 16:56:56 -07:00
Michael Schurter
7848acbea4
register drivers by default
...
Do not register mock_driver on release builds.
2018-10-16 16:56:56 -07:00
Preetha Appan
3c6d6b9377
Review comments
2018-10-16 16:56:56 -07:00
Preetha Appan
0ebc3bdd2f
RKT driver plugin and unit tests
2018-10-16 16:56:56 -07:00
Nick Ethier
2e055fe18a
client: add test for driverfailure during fingerprinting
2018-10-16 16:56:56 -07:00
Preetha Appan
53381035db
Get raw exec tests compiling and passing again
2018-10-16 16:56:56 -07:00
Nick Ethier
b016b2b5b0
plugin/driver: add Copy funcs
2018-10-16 16:56:56 -07:00
Nick Ethier
d335a82859
client: begin driver plugin integration
...
client: fingerprint driver plugins
2018-10-16 16:56:56 -07:00
Alex Dadgar
627e20801d
Fix lints
2018-10-16 16:56:56 -07:00
Nick Ethier
db981de8e4
drivers/shared: move eventer to subpackage under drivers shared package
2018-10-16 16:56:55 -07:00
Nick Ethier
ca27a0254b
drivers/utils: better handling of consumer cleanup in eventer
2018-10-16 16:56:55 -07:00
Nick Ethier
a8d50e83b1
plugins/drivers: remove bool to track if eventLoop shutdown and use context instead
2018-10-16 16:56:55 -07:00