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
e7bf482eaa
plugins: SetConfig shouldn't panic on nil driver configs
2018-10-30 17:14:27 -07:00
Michael Schurter
fd2fcd7cb6
drivers: only log non-cancellation errors
2018-10-30 17:13:35 -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
da7563b8c3
Merge pull request #4795 from hashicorp/f-plugin-config
...
Pass client configuration to plugins through loader
2018-10-29 18:42:27 -07:00
Nick Ethier
394cbc81b6
plugins/drivers: nil gaurd driver config when building executor config
2018-10-29 21:43:19 -04:00
Nick Ethier
95d381cff7
rename NomadConfig to ClientAgentConfig
2018-10-29 21:34:34 -04:00
Michael Schurter
41b40b9296
plugins/drivers: fix panic when copying a nil TaskHandle
2018-10-19 09:45:45 -07:00
Nick Ethier
7f69bcd4cd
added driver specific client config struct to plugin configuration
2018-10-18 23:31:01 -04:00
Alex Dadgar
0202b183cc
Merge pull request #4793 from hashicorp/b-no-cty
...
Do not use cty in drivers
2018-10-16 20:04:41 -07:00
Nick Ethier
87748fe423
update rkt and exec setconfig funcs
2018-10-16 23:00:26 -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
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
Alex Dadgar
a10d3964d0
Do not use cty in drivers
2018-10-16 17:17:07 -07:00
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