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
Alex Dadgar
ec2ecb4e90
launcher readme
2018-08-28 15:00:48 -07:00
Alex Dadgar
ee9d3cfe0e
Add stats to launcher
2018-08-28 13:59:57 -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
Nick Ethier
280d6a3f55
lint: fix comment spelling
2018-08-22 22:47:38 -04:00
Nick Ethier
c77dbdb5ce
driver/base: fix proto pr comments
2018-08-22 22:20:46 -04:00
Nick Ethier
03ac6d8665
driver/base: add size on disk field for task
2018-08-22 22:20:46 -04:00