Michael Schurter
07fe87918a
test: index no longer guaranteed on job list
...
Also switch to require and add t.Helper to appropriate funcs.
2018-03-21 16:55:22 -07:00
Michael Schurter
b58a22c2e9
remove spurious TODOs and FIXMEs
2018-03-21 16:55:22 -07:00
Michael Schurter
ec09ea61be
test: must initialize jobResults with new func
2018-03-21 16:51:45 -07:00
Michael Schurter
636693830f
test: disable node drainer during tests
...
Node drainer would throw off the index checks
2018-03-21 16:51:45 -07:00
Michael Schurter
e8673b14ef
test: disable drain during fsm test
...
drainer was unsetting drain before fsm could read written value
2018-03-21 16:51:45 -07:00
Michael Schurter
b8b1922b9b
test: fix by using mock.BatchJob
2018-03-21 16:51:45 -07:00
Michael Schurter
50a94d73c9
test: try to prevent flakiness on travis
2018-03-21 16:51:45 -07:00
Michael Schurter
80885623c1
test: don't call t.Fatal from within a goroutine
2018-03-21 16:51:45 -07:00
Michael Schurter
17161ec5f9
tests: use mock.BatchJob to fix tests
2018-03-21 16:51:45 -07:00
Michael Schurter
9b88749ced
mock: add BatchJob() helper
2018-03-21 16:51:45 -07:00
Michael Schurter
1537061ebc
alloc_runner: watch health for deployed batch jobs
2018-03-21 16:51:45 -07:00
Michael Schurter
2bb18741b0
api: fix tests to expect default migrate strategy
2018-03-21 16:51:45 -07:00
Michael Schurter
aab1fb7672
Fix linting errors
2018-03-21 16:51:45 -07:00
Michael Schurter
4efbc349a4
rpcapi: remove; unused
2018-03-21 16:51:45 -07:00
Alex Dadgar
98935b82e0
fix race in drain integration tests
2018-03-21 16:51:45 -07:00
Michael Schurter
08c9116f2d
Refactor assertOps into a helper func
2018-03-21 16:51:45 -07:00
Michael Schurter
e003b0534b
Remove debug prints
2018-03-21 16:51:45 -07:00
Michael Schurter
8ef7863bed
Deregister garbage collected jobs
2018-03-21 16:51:45 -07:00
Michael Schurter
74dc8fd460
JobNs -> NamespacedID
...
Also drop the New func as it's easy to swap the order of arguments since
they're both strings.
2018-03-21 16:51:45 -07:00
Michael Schurter
8217ebf11e
drainer: RegisterJob -> RegisterJobs
...
Test job watcher
2018-03-21 16:51:45 -07:00
Michael Schurter
0a1f1d2c56
Fix deadline heap triggering
...
Chan must be buffered to avoid skipping triggering altogether
Also made timing in a test a bit more lenient
2018-03-21 16:51:45 -07:00
Michael Schurter
e669e8213a
Improve drain log messages
...
Also delay "node complete" after the node has been marked complete to
capture a few more alloc events. There are other ways to implement this
that could trade off correctness for responsiveness as technically a
node is considered drained when all of its allocs have been marked to
stop and not when they've actually stopped (which may not happen for a
long time).
2018-03-21 16:51:45 -07:00
Michael Schurter
11d0eae5ed
Monitor node drains until completion in CLI
...
allow -detach like other commands
2018-03-21 16:51:45 -07:00
Michael Schurter
6347baec55
Add DesiredTransition.ShouldMigrate to api pkg
2018-03-21 16:51:45 -07:00
Michael Schurter
fb6c821526
Fix node eligibility test
2018-03-21 16:51:45 -07:00
Alex Dadgar
270699bab2
fix comment
2018-03-21 16:51:45 -07:00
Alex Dadgar
5324e56e1c
sharding
2018-03-21 16:51:44 -07:00
Alex Dadgar
ad2f211712
Batch drain update
2018-03-21 16:51:44 -07:00
Alex Dadgar
45e7e88558
Fix deadline handling
2018-03-21 16:51:44 -07:00
Michael Schurter
efb6601129
Switch to drainerv2 impl
2018-03-21 16:51:44 -07:00
Alex Dadgar
d15371405f
Toggle Drain allows resetting eligibility
...
This PR allows marking a node as eligible for scheduling while toggling
drain. By default the `nomad node drain -disable` commmand will mark it
as eligible but the drainer will maintain in-eligibility.
2018-03-21 16:51:44 -07:00
Alex Dadgar
5b36af9860
code review
2018-03-21 16:51:44 -07:00
Alex Dadgar
bd701979b8
spelling fixes
2018-03-21 16:51:44 -07:00
Alex Dadgar
4b4e234516
Comments
2018-03-21 16:51:44 -07:00
Alex Dadgar
fb40e8babe
handle empty node case
2018-03-21 16:51:44 -07:00
Alex Dadgar
c0354223c2
integration test and basic fixes
2018-03-21 16:51:44 -07:00
Alex Dadgar
cec2c5a726
Drainer
2018-03-21 16:51:44 -07:00
Alex Dadgar
0e51b20657
job watcher
2018-03-21 16:51:44 -07:00
Alex Dadgar
d45532d038
Node's being untracked or having updated deadlines, updates the deadliner
2018-03-21 16:51:44 -07:00
Alex Dadgar
da368105e6
node watcher
2018-03-21 16:51:44 -07:00
Alex Dadgar
e566fcdf5f
drain heap
2018-03-21 16:51:44 -07:00
Alex Dadgar
6026af2a8a
Initial design
2018-03-21 16:51:44 -07:00
Alex Dadgar
c00c02df62
System test runs on mac
2018-03-21 16:51:44 -07:00
Alex Dadgar
a027016b87
Fix file names
2018-03-21 16:51:44 -07:00
Alex Dadgar
7f989499ff
Correct defaulting
2018-03-21 16:51:44 -07:00
Michael Schurter
478209807e
refactor main drainloop into 2 more methods
2018-03-21 16:51:44 -07:00
Michael Schurter
1f73cd5d42
drainer: refactor newStopAllocs, applyMigrations
2018-03-21 16:51:44 -07:00
Michael Schurter
3ca9cdfadc
client: don't monitor health of non-service jobs
...
Also fix system job draining; won't work without deadline fixes
2018-03-21 16:51:44 -07:00
Alex Dadgar
3fe3c6eff7
Improve DeadlineTime helper
2018-03-21 16:51:44 -07:00
Michael Schurter
3b25f784be
drainer: convert fsm errors to go errors
2018-03-21 16:51:44 -07:00