Preetha Appan
8ddc076c1d
Refactor scheduler package to enable preemption for batch/service jobs
2019-04-10 20:24:01 -05:00
Alex Dadgar
41265d4d61
Change types of weights on spread/affinity
2019-01-30 12:20:38 -08:00
Preetha
f406e66ab8
Merge pull request #4881 from hashicorp/f-device-preemption
...
Device preemption
2018-12-11 18:34:19 -06:00
Preetha Appan
63681fac0c
use structured logging everywhere consistently
2018-12-03 08:31:41 -06:00
Danielle Tomlinson
9c72dafc95
scheduler: Add is_set/is_not_set constraints
...
This adds constraints for asserting that a given attribute or value
exists, or does not exist. This acts as a companion to =, or !=
operators, e.g:
```hcl
constraint {
attribute = "${attrs.type}"
operator = "!="
value = "database"
}
constraint {
attribute = "${attrs.type}"
operator = "is_set"
}
```
2018-11-15 11:00:32 -08:00
Preetha Appan
e5de50fba8
Initial implementation of device preemption
2018-11-15 11:09:26 -06:00
Preetha Appan
285b9b6001
Normalize scores correctly
2018-11-08 17:01:58 -06:00
Preetha Appan
f20f2ca8e9
Fixes device scheduling unit tests
...
Also changes the logic for score when there is more than one task
requesting a device. Since inter task affinities are already normalized,
we take the average of the scores across tasks.
2018-11-08 10:31:19 -06:00
Alex Dadgar
36abd3a3d8
review comments
2018-11-07 10:33:22 -08:00
Alex Dadgar
e3cbb2c82e
allocs fit checks if devices get oversubscribed
2018-11-07 10:33:22 -08:00
Alex Dadgar
6fa893c801
affinities
2018-11-07 10:32:03 -08:00
Alex Dadgar
feb83a2be3
assign devices
2018-11-07 10:32:03 -08:00
Preetha Appan
a6b714b81c
update preemption tests to use new node resource structs
...
also includes a fix to remove unnecessary subtraction of network mbits
2018-11-02 17:59:53 -05:00
Preetha
b2b52b1ada
Merge pull request #4794 from hashicorp/f-preemption-systemjobs
...
Preemption for system jobs
2018-11-02 16:28:06 -05:00
Preetha Appan
d03201adf8
Fix formatting of allocation score metrics
2018-10-30 12:03:23 -05:00
Preetha Appan
f1c3eb2792
Introduce interface with multiple implementations for resource distance
2018-10-30 11:06:32 -05:00
Preetha Appan
047af5141e
refactor preemption code to use method recievers and setters for common fields
2018-10-30 11:06:32 -05:00
Preetha Appan
1a5421f5d7
more minor cleanup
2018-10-30 11:06:32 -05:00
Preetha Appan
0494a098ce
More style and readablity fixes from review
2018-10-30 11:06:32 -05:00
Preetha Appan
8807c25b11
Modify preemption code to use new style of resource structs
2018-10-30 11:06:32 -05:00
Preetha Appan
cc295b90de
Implement preemption for system jobs.
...
This commit implements an allocation selection algorithm for finding
allocations to preempt. It currently special cases network resource asks
from others (cpu/memory/disk/iops).
2018-10-30 11:06:32 -05:00
Alex Dadgar
a78cefec18
use int64
2018-10-16 15:34:32 -07:00
Preetha Appan
7c0d8c646c
Change CPU/Disk/MemoryMB to int everywhere in new resource structs
2018-10-16 16:21:42 -05:00
Alex Dadgar
bac5cb1e8b
Scheduler uses allocated resources
2018-10-02 17:08:25 -07:00
Alex Dadgar
3c19d01d7a
server
2018-09-15 16:23:13 -07:00
Preetha Appan
eccf128c5c
Some minor changes from code review
2018-09-04 16:10:11 -05:00
Preetha Appan
3a39db3902
Fix linting
2018-09-04 16:10:11 -05:00
Preetha Appan
70bfd0c0cb
Address some review feedback
2018-09-04 16:10:11 -05:00
Preetha Appan
5eacd6ada4
Implement affinity support in generic scheduler
2018-09-04 16:10:11 -05:00
Preetha Appan
21b7b79d5d
Add helper methods, use require and other code review feedback
2018-01-31 09:56:53 -06:00
Preetha Appan
031c566ada
Reschedule previous allocs and track their reschedule attempts
2018-01-31 09:56:53 -06:00
Diptanu Choudhury
1b3c5e98c8
Renaming LocalDisk to EphemeralDisk ( #1710 )
...
Renaming LocalDisk to EphemeralDisk
2016-09-14 15:43:42 -07:00
Diptanu Choudhury
13497913f9
Ensuring resources are re-calculated properly in fsm
2016-08-26 20:13:11 -07:00
Diptanu Choudhury
ec73c768f1
Making the scheduler use LocalDisk instead of Resources.DiskMB
2016-08-25 12:27:42 -05:00
Armon Dadgar
9784bb7285
nomad: cache bitmaps to avoid GC pressure
2016-02-20 12:18:22 -08:00
Armon Dadgar
d442a49fde
scheduler: job anti-affinity score should record as negative
2015-09-22 22:24:07 -07:00
Armon Dadgar
38471c81a0
scheduler: pass failure reason to ExhaustedNode
2015-09-13 18:38:26 -07:00
Armon Dadgar
fcd367e657
scheduler: track dimension of exhaustion
2015-09-13 16:48:01 -07:00
Armon Dadgar
cf0a546fdc
scheduler: expose reason network offer failed
2015-09-13 16:41:32 -07:00
Armon Dadgar
cb3aa5d4db
nomad: update for new AllocsFit API
2015-09-13 14:57:58 -07:00
Armon Dadgar
aed6bd8a41
scheduler: use the new network index
2015-09-13 14:37:09 -07:00
Armon Dadgar
625308661a
scheduler: binpacker makes network offers
2015-09-13 14:31:32 -07:00
Armon Dadgar
0e38f0e914
scheduler: refactor shared logic
2015-09-12 14:44:40 -07:00
Armon Dadgar
6d60c4c623
scheduler: adding JobAntiAffinityIterator
2015-08-16 10:32:25 -07:00
Armon Dadgar
f4e9ef8d1e
scheduler: move proposed alloc logic to Context
2015-08-16 10:28:58 -07:00
Armon Dadgar
107da3a174
scheduler: track sub-scores
2015-08-16 09:57:30 -07:00
Armon Dadgar
64bab68680
scheduler: basic metrics integration
2015-08-13 21:46:33 -07:00
Armon Dadgar
453fc7b23d
scheduler: refactor stack out
2015-08-13 17:48:26 -07:00
Armon Dadgar
bbb9b2c618
scheduler: support iterator reset
2015-08-13 15:01:02 -07:00
Armon Dadgar
49878bf01d
scheduler: allow changing parameters mid-stream
2015-08-13 13:52:20 -07:00