Danielle Tomlinson
3287c3f019
chore: General Cleanup
2019-01-17 18:43:14 +01:00
Mahmood Ali
fe8c60e157
chore: Stylistic cleanup
...
Co-Authored-By: dantoml <dani@tomlinson.io >
2019-01-17 18:43:14 +01:00
Danielle Tomlinson
8a4ffea94a
chore: Cleanup formatting
2019-01-17 18:43:13 +01:00
Danielle Tomlinson
8547428807
plugins: Load plugins on windows
2019-01-17 18:43:13 +01:00
Mahmood Ali
b51ecacd23
remove lxc references
2019-01-08 09:28:20 -05:00
Alex Dadgar
437f03d877
recover
2019-01-07 14:49:40 -08:00
Alex Dadgar
07a7555acd
lint
2018-12-18 16:48:00 -08:00
Alex Dadgar
ed4f8eac6e
Add plugin API versioning to plugin loader and plugins
2018-12-18 16:48:00 -08:00
Danielle Tomlinson
113205318c
plugins: Add support for serving driver plugins
2018-12-01 17:30:54 +01:00
Preetha Appan
829bf74aa8
modify fingerprint interface to use typed attribute struct
2018-11-28 10:01:03 -06:00
Mahmood Ali
b546247626
Add Driver Plugin for LXC
2018-11-27 21:40:43 -05:00
Nick Ethier
37ed75502e
docker: move recoverable error proto to shared structs
2018-11-19 22:59:16 -05:00
Nick Ethier
98b295d617
docker: started work on porting docker driver to new plugin framework
2018-11-19 22:59:15 -05:00
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
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
Alex Dadgar
37f239ea74
fix race
2018-11-07 12:22:07 -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
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
7d28d346d5
qemu: fix build and register by default
...
API changes had broken the build.
2018-10-29 22:10:37 -07:00
Nick Ethier
95d381cff7
rename NomadConfig to ClientAgentConfig
2018-10-29 21:34:34 -04:00
Nick Ethier
7f69bcd4cd
added driver specific client config struct to plugin configuration
2018-10-18 23:31:01 -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
Michael Schurter
7848acbea4
register drivers by default
...
Do not register mock_driver on release builds.
2018-10-16 16:56:56 -07:00
Alex Dadgar
14cc4f7337
extra logging
2018-10-16 16:56:55 -07:00
Alex Dadgar
e2553a13d4
Fix client reloading and pass the plugin loaders to server and client
2018-10-16 16:56:55 -07:00
Alex Dadgar
7882ae4a1f
Plugin loader initialization
2018-10-16 16:54:12 -07:00
Alex Dadgar
957ea01a86
Internal plugin catalog
2018-10-16 16:53:31 -07:00
Alex Dadgar
807de0eb33
Add BlockAttrs
2018-10-15 20:47:38 -07:00
Alex Dadgar
6fb074e0e8
Merge pull request #4783 from hashicorp/f-device-scheduling
...
Device constraint checking
2018-10-15 15:31:32 -07:00
Alex Dadgar
7b1753bd9a
Merge pull request #4780 from hashicorp/f-device-attributes
...
Device fingerprinting uses Attribute object
2018-10-15 13:37:49 -07:00
Alex Dadgar
a7e40bb85b
fix typos
2018-10-15 13:15:58 -07:00
Alex Dadgar
ef82a33329
Check constraints on devices
2018-10-14 13:35:47 -07:00
Alex Dadgar
41bd0da920
Replace attributes map with new Attribute object
2018-10-13 14:08:58 -07:00
Alex Dadgar
38a421a54b
Use Attribute in device fingerprinting
2018-10-13 11:43:06 -07:00
Alex Dadgar
cb773f3dc1
fmt -s
2018-10-12 15:34:21 -07:00
Alex Dadgar
929eb5570a
New parser and comparison
2018-10-12 15:25:34 -07:00
Alex Dadgar
f2e1cefda1
Units defined and parsing
2018-10-11 23:30:28 -07:00
Alex Dadgar
0917b49871
fix documentation of reattach and use testlog
2018-09-18 10:48:37 -07:00
Alex Dadgar
6aaaa396f5
singleton wrapper
2018-09-18 10:08:46 -07:00
Alex Dadgar
32f9da9e07
small fixes
2018-09-15 16:42:38 -07:00
Alex Dadgar
762d52e03a
review comments
2018-09-10 17:29:28 -07:00