Commit Graph

44 Commits

Author SHA1 Message Date
Chelsea Holland Komlo 329605b7cc fix up scheduling test 2018-03-21 15:54:03 -04:00
Chelsea Holland Komlo d92703617c simplify logic
bump log level
2018-03-21 15:15:26 -04:00
Chelsea Holland Komlo c7fd0bd8a1 fix up scheduler mocks 2018-03-21 15:15:25 -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
Josh Soref ed8db9992e spelling: feasibility 2018-03-11 18:07:09 +00:00
Michael Schurter a66c53d45a Remove `structs` import from `api`
Goes a step further and removes structs import from api's tests as well
by moving GenerateUUID to its own package.
2017-09-29 10:36:08 -07:00
Alex Dadgar 4173834231 Enable more linters 2017-09-26 15:26:33 -07:00
Alex Dadgar 84d06f6abe Sync namespace changes 2017-09-07 17:04:21 -07:00
Alex Dadgar 2650bb1d12 Distinct Property supports arbitrary limit
This PR enhances the distinct_property constraint such that a limit can
be specified in the RTarget/value parameter. This allows constraints
such as:

```
constraint {
  distinct_property = "${meta.rack}"
  value = "2"
}
```

This restricts any given rack from running more than 2 allocations from
the task group.

Fixes https://github.com/hashicorp/nomad/issues/1146
2017-07-31 16:52:13 -07:00
Alex Dadgar 8169590d76 Fix tests 2017-05-01 13:54:26 -07: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 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
Alex Dadgar 2de9299cab ProposedAllocs dedups in-place updated allocations 2016-03-21 18:09:32 -07:00
Alex Dadgar 5018f5dd1e Only interpret vars wrapped in braces 2016-02-04 17:26:46 -08:00
Alex Dadgar 151fe5ed88 Make computed node class a string and add versioning 2016-01-31 18:04:45 -08:00
Alex Dadgar 9a8871249d EvalEligibility unit tests and simplify escaped constraint tracking 2016-01-26 17:34:41 -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 fd9c2baf02 Constants for constraints and renaming to use undescore instead of camel 2015-10-26 13:47:56 -07:00
Alex Dadgar ecc4f98f3a Change "unique" to "distinctHosts" 2015-10-22 17:40:41 -07:00
Alex Dadgar 910dcc49fb DynamicConstraintIterator that implements the unique constraint 2015-10-22 14:31:12 -07:00
Alex Dadgar 406e135ce8 Add negative test to DriverIterator, increase system scheduler attempts, and fix evictAndPlace status message 2015-10-16 11:36:26 -07:00
Alex Dadgar 692efe513d Use valid driver values in test 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
Armon Dadgar 751fa61b3e scheduler: adding regexp constraints 2015-10-11 15:35:13 -04:00
Armon Dadgar 86ca7c59a1 scheduler: adding version constraint logic 2015-10-11 15:12:39 -04:00
Armon Dadgar 5b45705165 scheduler: allow StaticIterator to update base set 2015-09-07 11:26:16 -07:00
Armon Dadgar 5832b2f147 nomad: adding drain as node property 2015-09-06 19:47:02 -07:00
Chris Bednarski 96cb220ff4 Update references to "os" to use "kernel.name"
This brings test code and mocks up to date with the fingerprinter. This was a slightly larger change than I anticipated, but I think it's good for two reasons:

1. More semanitcally correct. `os.name` is something like "Windows 10 Pro" or "Ubuntu", while `kernel.name` is "windows" or "linux". `os.version` and `kernel.version` match these semantics.
2. `kernel.name` is much easier to grep for than `os`, which is helpful because oracle can't help us with strings.
2015-08-28 01:30:47 -07:00
Armon Dadgar bbb9b2c618 scheduler: support iterator reset 2015-08-13 15:01:02 -07:00
Armon Dadgar b0c15ed894 scheduler: refactor tests 2015-08-13 12:02:42 -07:00
Armon Dadgar 861a5e2097 scheduler: Adding State to Context 2015-08-13 11:33:58 -07:00
Armon Dadgar 28a4126277 scheduler: implement basic constraint iterator 2015-08-13 10:46:30 -07:00
Armon Dadgar 9430a99c87 scheduler: implementing driver iterator 2015-08-13 10:19:46 -07:00
Armon Dadgar acef950c5f scheduler: testing more iterators 2015-08-13 10:13:11 -07:00