Alex Dadgar
437f03d877
recover
2019-01-07 14:49:40 -08:00
Alex Dadgar
ed4f8eac6e
Add plugin API versioning to plugin loader and plugins
2018-12-18 16:48:00 -08:00
Mahmood Ali
b78130eaaf
Use absolute path in example device plugin
...
deviceDir is used for specifying mount/device host paths, and those
should be absolute paths.
2018-12-06 15:46:35 -05:00
Preetha Appan
829bf74aa8
modify fingerprint interface to use typed attribute struct
2018-11-28 10:01:03 -06: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
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
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
Nick Ethier
95d381cff7
rename NomadConfig to ClientAgentConfig
2018-10-29 21:34:34 -04:00
Nick Ethier
3244a4cc57
plumb NomadConfig into plugins
2018-10-16 22:47:22 -04:00
Alex Dadgar
38a421a54b
Use Attribute in device fingerprinting
2018-10-13 11:43:06 -07:00
Alex Dadgar
7972221db9
nvidia package restructue + build non-linux
2018-10-05 13:56:04 -07:00
oleksii.shyman
a7e04f1520
Introduce nvidia-plugin reserve
...
- added reserve functionality that returns OCI compliant env variables
specifying GPU IDs to be injected inside the container
2018-10-04 14:55:34 -07:00
oleksii.shyman
9c8c67e948
Introduce Nvidia-plugin stats
...
- created go-nvml wrapper for stats
- added stats feature to nvidia-plugin
2018-10-03 15:12:05 -07:00
oleksii.shyman
63f4fbf273
Introduce nvidia-plugin fingerprinting
...
- created go-nvml wrapper for fingerprinting
- added fingerprinting feature to nvidia-plugin
2018-10-03 15:11:56 -07:00
Alex Dadgar
dc48000da1
Update README.md
2018-08-28 15:08:59 -07:00
Alex Dadgar
ec2ecb4e90
launcher readme
2018-08-28 15:00:48 -07:00
Alex Dadgar
7d438219e6
Add stats to example plugin
2018-08-28 13:59:57 -07:00
Alex Dadgar
a0b01d16c6
Example device plugin and helpers
...
This PR introduces:
* An example device plugin that exposes files as devices for testing.
* Helpers for serving a device plugin
* A launcher binary that allows interacting with a device plugin without
needing a Nomad client.
2018-08-28 13:59:57 -07:00
Alex Dadgar
805d8cc841
gofmt -s
2018-08-28 10:32:03 -07:00
Alex Dadgar
203fe30d18
add stats to device interface
2018-08-27 16:11:07 -07:00
Alex Dadgar
117304139e
statistics protos
2018-08-23 11:18:35 -07:00
Alex Dadgar
03d0286752
Describe public interface of Fingerprint
2018-08-20 15:19:08 -07:00
Alex Dadgar
e11a510bd8
initial device go-plugin
2018-08-16 16:49:09 -07:00
Alex Dadgar
827dbabcc2
Fix protos
2018-08-09 13:29:05 -07:00
Alex Dadgar
8d16b7dc2a
review feedback
2018-08-07 13:03:21 -07:00
Alex Dadgar
48d71eb0fe
Base and device plugin and hclspec parser
2018-08-07 13:03:21 -07:00