Commit Graph

32 Commits

Author SHA1 Message Date
Nick Ethier
7f69bcd4cd added driver specific client config struct to plugin configuration 2018-10-18 23:31:01 -04:00
Nick Ethier
87748fe423 update rkt and exec setconfig funcs 2018-10-16 23:00:26 -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
Michael Schurter
2361c1904b tests: get tests building if not yet passing 2018-10-16 16:56:57 -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
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
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
Nick Ethier
2072611bdb driver/base: fixup comments from code review 2018-08-22 22:20:46 -04:00
Nick Ethier
5290754c01 driver/base: add task event emitting to proto 2018-08-22 22:20:46 -04:00
Nick Ethier
59e5500de9 driver/base: Add initial protobuf spec 2018-08-22 22:20:46 -04:00