Commit Graph

75 Commits

Author SHA1 Message Date
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
Nick Ethier
207522be55 drivers/rawexec: PR comments and feedback 2018-10-16 16:56:55 -07:00
Nick Ethier
0d7bf53c57 plugin/drivers: rework eventer and change naming stream -> consumer 2018-10-16 16:56:55 -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
Nick Ethier
fc16a5c527 plugin/drivers: plumb in stdout/stderr paths 2018-10-16 16:53:31 -07:00
Nick Ethier
50b2981f0f raw_exec: move package outside of plugins dir 2018-10-16 16:53:31 -07:00
Nick Ethier
391005706f fix package references after drivers/base subpackage removed 2018-10-16 16:53:31 -07:00
Nick Ethier
c9f0d2e0b4 driver/raw_exec: port existing raw_exec tests and add some testing utilities 2018-10-16 16:53:31 -07:00
Nick Ethier
05ca3e9f10 driver/raw_exec: export driver config fields so they are encoded 2018-10-16 16:53:31 -07:00
Nick Ethier
8f2f603642 lint: remove unused code and fix spelling 2018-10-16 16:53:31 -07:00
Nick Ethier
650ac5a83e driver/raw_exec: more tests and bug fixes
added wrapper struct for plugin.ReattachConfig to better handle serialization
2018-10-16 16:53:31 -07:00
Nick Ethier
2b655e4463 driver/raw_exec: initial raw_exec implementation 2018-10-16 16:53:31 -07:00
Nick Ethier
e2bf0a388e clientv2: base driver plugin (#4671)
Driver plugin framework to facilitate development of driver plugins.

Implementing plugins only need to implement the DriverPlugin interface.
The framework proxies this interface to the go-plugin GRPC interface generated
from the driver.proto spec.

A testing harness is provided to allow implementing drivers to test the full
lifecycle of the driver plugin. An example use:

func TestMyDriver(t *testing.T) {
    harness := NewDriverHarness(t, &MyDiverPlugin{})
    // The harness implements the DriverPlugin interface and can be used as such
    taskHandle, err := harness.StartTask(...)
}
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
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
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
Alex Dadgar
f0b6a8bfbc Plugin loader 2018-09-09 16:41:47 -07:00
Alex Dadgar
da0bec03c1 Fix make check errors 2018-09-04 16:03:52 -07:00
Alex Dadgar
3879a875cc Fix device launcher ctx cleanup 2018-09-04 15:48:38 -07:00
Alex Dadgar
dc48000da1 Update README.md 2018-08-28 15:08:59 -07:00