Alex Dadgar
37f239ea74
fix race
2018-11-07 12:22:07 -08:00
Alex Dadgar
ad4c26a1e3
review comments
2018-11-07 11:31:52 -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
Michael Schurter
e58a91b701
client: update alloc status when terminating
...
Defensively update alloc status whenever killing all tasks.
2018-11-05 15:11:10 -08:00
Michael Schurter
a22205cd8f
client: block on context as well as waitCh
...
For lifecycle operations such as Restart and Kill, the client should not
expect driver plugins to be well behaved and close their waitCh on
context cancelation. Always wait on the passed in context as well as the
waitCh.
2018-11-05 12:32:05 -08:00
Michael Schurter
740ca8e6ca
client: fix tr lifecycle logic and shutdown delay
...
ShutdownDelay must be honored whenever the task is killed or restarted.
Services were not being deregistered prior to restarting.
2018-11-05 12:32:05 -08:00
Michael Schurter
d5c8e5bd26
client: fix ar and tr tests
2018-11-05 12:32:05 -08:00
Michael Schurter
9b82025608
client: do not run terminal allocs
2018-11-05 12:32:05 -08:00
Michael Schurter
fdbe446ea6
client: first pass at implementing task restoring
...
Task restoring works but dead tasks may be restarted
2018-11-05 12:32:05 -08:00
Nick Ethier
4b08ef0534
Merge pull request #4765 from jippi/increase-line-scan-limit
...
fix: increase log rotator line scan limit
2018-10-29 18:46:30 -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
95d381cff7
rename NomadConfig to ClientAgentConfig
2018-10-29 21:34:34 -04:00
Michael Schurter
16c25b8a60
Merge pull request #4803 from hashicorp/b-leader-fixes
...
AR Fixes: task leader handling, restoring, state updating, AR.Destroy deadlocks
2018-10-29 17:38:59 -05:00
Michael Schurter
0b4e15c366
tests: more fixes due to api changes
2018-10-29 15:25:22 -07:00
Preetha Appan
4231dc4729
Stat path to binary to handle raw exec driver interpolated binary path
2018-10-26 17:24:05 -05:00
Preetha Appan
af3a62e750
Fix test linting
2018-10-26 10:30:12 -05:00
Michael Schurter
05365806ac
ar: initialize allocwatcher on restore
...
Fixes a panic. Left a comment on how the behavior could be improved, but
this is what releases <0.9.0 did.
2018-10-19 09:45:45 -07:00
Michael Schurter
d71e7666bd
ar: fix leader handling, state restoring, and destroying unrun ARs
...
* Migrated all of the old leader task tests and got them passing
* Refactor and consolidate task killing code in AR to always kill leader
tasks first
* Fixed lots of issues with state restoring
* Fixed deadlock in AR.Destroy if AR.Run had never been called
* Added a new in memory statedb for testing
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
Michael Schurter
2aed3e8527
ar: refactor task killing into 1 method
...
Update comments and address some PR comments from #4775
2018-10-17 10:06:59 -07:00
Michael Schurter
e029980b25
tests: explicitly cleanup after clients
2018-10-17 10:06:59 -07:00
Michael Schurter
2417ec5621
ar: fix task leader, update, and stop handling
2018-10-17 10:06:59 -07:00
Michael Schurter
e130fcc0c7
tr: cleanup hook logs
2018-10-17 09:42:32 -07:00
Nick Ethier
3244a4cc57
plumb NomadConfig into plugins
2018-10-16 22:47:22 -04:00
Nick Ethier
7f5046849e
drivers/exec: add exec implementation
2018-10-16 22:45:28 -04:00
Michael Schurter
4cf022ceed
templates: fix tests
2018-10-16 16:56:57 -07:00
Michael Schurter
cf42289c8b
fix linter errors
2018-10-16 16:56:57 -07:00
Michael Schurter
cb1996461e
client: remove unused handleproxy
2018-10-16 16:56:56 -07:00
Michael Schurter
e026d6e80a
tr: remove unused DriverHandle interface
...
was causing typed nil interface panics and served no purpose
2018-10-16 16:56:56 -07:00
Michael Schurter
2256917936
Port client portion of #4392 to new taskrunner
...
PR #4392 was merged to master *after* allocrunnerv2 was branched, so the
client-specific portions must be ported from master to arv2.
2018-10-16 16:56:56 -07:00
Michael Schurter
a44e82f326
tr: implement dispatch payload hook
...
Now passing the TaskDir struct to prestart hooks instead of just the
root task dir itself as dispatch needs local/.
2018-10-16 16:56:56 -07:00
Nick Ethier
19b222b127
client: log retry during driver fingerprint redispense
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
Nick Ethier
993e045ff9
taskrunner: return error on waitCh
2018-10-16 16:56:56 -07:00
Nick Ethier
44cc52a0d4
client: simplify driver plugin logic from review comments
2018-10-16 16:56:56 -07:00
Nick Ethier
d68f2f0819
client: fix broked tests from refactoring
2018-10-16 16:56:56 -07:00
Nick Ethier
4f9522dd54
client: review comments and fixup/skip tests
2018-10-16 16:56:56 -07:00
Nick Ethier
ea9ed2282e
client: refactor post allocrunnerv2 finalization
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
Alex Dadgar
3c0b073513
compile on windows
2018-10-16 16:56:56 -07:00
Alex Dadgar
7b7cb382dc
more test fixes
2018-10-16 16:56:56 -07:00
Alex Dadgar
3a492bb33f
allocrunnerv2 -> allocrunner
2018-10-16 16:56:56 -07:00
Alex Dadgar
f91b269b2a
fix test compiling
2018-10-16 16:56:55 -07:00
Alex Dadgar
31d49c72ab
skip building deprecated files
2018-10-16 16:56:55 -07:00
Alex Dadgar
2e535aefcc
move files around
2018-10-16 16:56:55 -07:00
Michael Schurter
37387bbf6f
tests: fix missing logger caused by bad merge
2018-10-16 16:56:55 -07:00
Michael Schurter
3b8da3065e
tr: properly comment handle fields
2018-10-16 16:56:55 -07:00
Michael Schurter
8e9289676b
ar: AllocState should not mutate ar.state
...
If ar.state.TaskStates has not been set, set it on the copy of ar.state.
That keeps ar.state manipulations in one location and allows AllocState
to only acquire read-locks.
2018-10-16 16:56:55 -07:00