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
Danielle Tomlinson
e5c641daa9
scheduler: Allow comparisons of nil values
...
This commit allows the ConstraintChecker to test values that do not exist.
This is useful when wanting to _exclude_ given nodes from executing a
job, for example, if you wanted to give canary nodes an attribute, and
not run critical services on them, you may specify something like the
below, but not want to tag all other nodes with the inverse.
```hcl
constraint {
attribute = "${node.attr.canary}
operator = "!="
value = "1"
}
```
This also requires all constraint checkers to allow for nil target
values, as they will no longer be short circuited by resolving a target.
2018-11-13 13:36:51 -08:00
Alex Dadgar
a7ca737fb6
review comments
2018-11-07 11:31:52 -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
53c3f8151b
fix linting
2018-10-16 18:29:49 -05:00
Alex Dadgar
f5a76d8411
review comments
2018-10-15 15:31:13 -07:00
Alex Dadgar
7ecd65109a
Check constraints on devices
2018-10-14 13:35:47 -07:00
Alex Dadgar
5284554fcc
rework device checker
2018-10-13 16:47:53 -07:00
Alex Dadgar
9b5aaac410
Device feasability checker
2018-10-13 12:27:49 -07:00
Alex Dadgar
3c19d01d7a
server
2018-09-15 16:23:13 -07:00
Preetha Appan
038ed52877
Fix after rename to ConstraintSetContainsAny
2018-09-04 16:10:11 -05:00
Preetha Appan
dccb693221
test for setcontainsany, and treat set_contains same as set_contains_all
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
Chelsea Holland Komlo
329605b7cc
fix up scheduling test
2018-03-21 15:54:03 -04:00
Chelsea Holland Komlo
60f12d206f
improve comments; update watchDriver
2018-03-21 15:15:26 -04:00
Chelsea Holland Komlo
d92703617c
simplify logic
...
bump log level
2018-03-21 15:15:26 -04:00
Chelsea Holland Komlo
d8f68e5ef8
fix up codereview feedback
2018-03-21 15:15:26 -04:00
Chelsea Holland Komlo
3aa726baab
fix scheduler driver name; create node structs file
2018-03-21 15:15:25 -04:00
Chelsea Holland Komlo
3cba95e8a7
allow nomad to schedule based on the status of a client driver health check
...
Slight updates for go style
2018-03-21 15:15:25 -04:00
Alex Dadgar
c1cc51dbee
sync
2017-10-13 14:36:02 -07:00
Alex Dadgar
601cbd7784
Feedback addressed
2017-03-09 21:36:27 -08:00
Alex Dadgar
b65d248dee
Fix filtering issue and add a test that would catch it
2017-03-09 16:20:39 -08:00
Alex Dadgar
7945e4564c
Refactor
2017-03-09 15:26:46 -08:00
Alex Dadgar
60c42f745a
Split distinct property and host iterator and add iterator to system stack
2017-03-08 19:00:10 -08:00
Alex Dadgar
319b24081f
cleanup
2017-03-08 17:57:31 -08:00
Alex Dadgar
a439bf709d
Property Set
2017-03-08 17:50:40 -08:00
Alex Dadgar
d83a8fe9f2
Unoptimized implementation + testing
2017-03-07 14:48:54 -08:00
Alex Dadgar
989827e402
Add set contains
2016-10-19 13:06:28 -07:00
Sean Chittenden
dc28ab0cb5
Speling police
2016-05-15 09:41:34 -07:00
Alex Dadgar
d1011c9668
Fixes
2016-02-19 15:49:32 -08:00
Alex Dadgar
80345a2953
resolveConstraintTargets checks for bracket syntax
2016-02-16 10:03:04 -08:00
Alex Dadgar
5018f5dd1e
Only interpret vars wrapped in braces
2016-02-04 17:26:46 -08:00
Alex Dadgar
9dc22532e5
Respond to comments
2016-01-26 16:43:42 -08:00
Alex Dadgar
1bd9bece62
Change the unique namespace on the node
2016-01-26 15:16:43 -08:00
Alex Dadgar
2b7d42bf9b
FeasibilityWrapper uses computed node class eligibility to call feasibility checks minimally
2016-01-26 15:16:43 -08:00
Alex Dadgar
5d23025df8
EvalEligibility in context
2016-01-26 15:16:43 -08:00
Alex Dadgar
5e71751a1d
Add node class to constraints
2015-12-21 17:15:34 -08:00
Alex Dadgar
3cdbfc010f
Remove weight and hard/soft fields from constraint
2015-10-27 14:31:14 -07:00
Alex Dadgar
1784387e1d
Rename Dynamic -> ProposedAllocConstraintIterator
2015-10-26 14:12:54 -07:00
Alex Dadgar
a9135b92b2
Cleanup DynamicConstraintIterator
2015-10-26 14:01:32 -07:00
Alex Dadgar
fd9c2baf02
Constants for constraints and renaming to use undescore instead of camel
2015-10-26 13:47:56 -07:00
Alex Dadgar
be50fe6254
Fix markdown and log messages
2015-10-23 09:56:48 -07:00
Alex Dadgar
ecc4f98f3a
Change "unique" to "distinctHosts"
2015-10-22 17:40:41 -07:00
Alex Dadgar
861a65288c
Fix test and simplify some boolean logic/fix metrics counting
2015-10-22 16:45:03 -07:00
Alex Dadgar
783b0b5aee
Add dynamic constraint to generic_scheduler
2015-10-22 15:09:03 -07:00
Alex Dadgar
910dcc49fb
DynamicConstraintIterator that implements the unique constraint
2015-10-22 14:31:12 -07:00
Alex Dadgar
494244ed06
System scheduler and system stack
2015-10-14 18:39:44 -07:00
Armon Dadgar
931a113cb5
scheduler: adding regexp and version constraint cache
2015-10-12 20:15:07 -07:00
Armon Dadgar
81c08ba66e
scheduler: support lexical ordering constraints
2015-10-11 15:57:06 -04:00