Commit Graph

4293 Commits

Author SHA1 Message Date
Diptanu Choudhury bf105430ea Added the restart policies to mocks 2015-10-30 18:34:23 -07:00
Diptanu Choudhury c883f9496a Added support for parsing restart blocks 2015-10-30 15:51:39 -07:00
Ryan Uber b54309282f nomad/state: subscribe/unsubscribe all watch items while holding the lock 2015-10-30 08:46:03 -07:00
Ryan Uber d21c49dedd nomad: cleanup and more tests 2015-10-30 08:27:47 -07:00
Ryan Uber 1322b844ca nomad/state: add watch trigger tests 2015-10-29 21:42:41 -07:00
Ryan Uber ff37110deb nomad: more tests 2015-10-29 19:14:21 -07:00
Ryan Uber 55cb559eae nomad: support blocking queries on eval-specific allocations 2015-10-29 16:20:57 -07:00
Ryan Uber 1469d0e7c4 nomad: support blocking queries for single evals 2015-10-29 16:12:25 -07:00
Ryan Uber e1ecd11f63 nomad: support blocking queries on single allocations 2015-10-29 16:04:53 -07:00
Ryan Uber 09c74acc36 nomad: support blocking queries on single nodes 2015-10-29 15:48:44 -07:00
Ryan Uber a0e54d6f62 nomad: support blocking queries on job allocations 2015-10-29 15:32:05 -07:00
Ryan Uber c8c3ded1d7 nomad: support blocking queries on single jobs 2015-10-29 15:01:29 -07:00
Ryan Uber 6b7ca19a76 nomad: export watcher to share between rpc and state store 2015-10-29 14:47:39 -07:00
Ryan Uber f5f01e6cd2 nomad: add triggering for more types of events 2015-10-29 13:52:15 -07:00
Ryan Uber 526c1c959b nomad: move state watcher into its own file, add tests 2015-10-29 13:21:25 -07:00
Ryan Uber eaeec03e1e nomad: deduplicate watch items with a helper 2015-10-29 12:09:09 -07:00
Ryan Uber a4ee8929e3 nomad: unify watcher inputs for reusability 2015-10-29 11:59:15 -07:00
Ryan Uber 692e4e371a nomad: support full table watches for allocations 2015-10-28 19:25:39 -07:00
Ryan Uber 6b76a3fc62 nomad: fix node test output 2015-10-28 18:35:48 -07:00
Ryan Uber 4e70d52e29 nomad: support blocking queries on eval list 2015-10-28 18:34:56 -07:00
Ryan Uber 07b6597353 nomad/state: move methods so we can sanely find them 2015-10-28 18:11:55 -07:00
Ryan Uber 1fdbd54611 nomad: job watches return correct response, add tests 2015-10-28 12:43:00 -07:00
Ryan Uber faab2495ee nomad: test all node watch triggers 2015-10-28 12:29:06 -07:00
Ryan Uber 2c4735fbcf nomad: support blocking queries on nodes 2015-10-28 11:25:35 -07:00
Ryan Uber 04dcd3f440 nomad: use a generic full-table watcher 2015-10-28 11:15:54 -07:00
Ryan Uber 2e20f9e89a nomad: allow blocking on empty data views 2015-10-27 17:58:04 -07:00
Ryan Uber ee44b43f33 nomad: initial pass at blocking queries for jobs 2015-10-27 17:58:04 -07:00
Alex Dadgar 3cdbfc010f Remove weight and hard/soft fields from constraint 2015-10-27 14:31:14 -07:00
Alex Dadgar c7f904ff31 Merge pull request #321 from hashicorp/f-unique-constraint
Add "distinctHost" constraint
2015-10-26 14:18:57 -07:00
Alex Dadgar fd9c2baf02 Constants for constraints and renaming to use undescore instead of camel 2015-10-26 13:47:56 -07:00
Armon Dadgar 25b2e3ca58 Merge pull request #327 from hashicorp/b-check-env-var-updates
Check for environment variable updates for tasks
2015-10-26 11:55:52 -07:00
Alex Dadgar 2b2b6c321a Check for environment variable updates for tasks 2015-10-23 14:52:06 -07:00
Armon Dadgar c6502fac83 nomad: use OutstandingReset in Eval endpoints and Plan apply 2015-10-23 10:22:44 -07:00
Armon Dadgar b9bb7bdaaa nomad: OutstandingReset returns specific errors 2015-10-23 10:22:17 -07:00
Armon Dadgar 16fd84f25a nomad: Adding OutstandingReset to EvalBroker 2015-10-23 10:14:16 -07:00
Alex Dadgar 3195b25aba Also create evals from Down -> Ready 2015-10-21 17:58:54 -07:00
Alex Dadgar 40fa9cbb89 Do a full loop of the sys-job iterator before the fast-path check 2015-10-20 17:11:57 -07:00
Alex Dadgar fcee850c2b Cleanup system job loop 2015-10-20 13:02:55 -07:00
Alex Dadgar 91a8528bba UpdateStatus test to ensure system evals are created on state transistion 2015-10-20 11:33:37 -07:00
Alex Dadgar 2314bd7c2c Add scheduler type index to jobs table; create evals for system jobs on node init to ready transition 2015-10-20 10:57:53 -07:00
Alex Dadgar 2f5a2b795b Fix a racy test and increase the raft timeouts to mitigate other racy tests 2015-10-16 17:53:43 -07:00
Alex Dadgar bdfe7e0887 Validate task group count on system scheduler 2015-10-16 14:15:01 -07:00
Alex Dadgar 70c39bd5a4 Add diffSystemAlloc which gives richer information which node to place a system allocation 2015-10-15 13:14:44 -07:00
Alex Dadgar 494244ed06 System scheduler and system stack 2015-10-14 18:39:44 -07:00
Armon Dadgar 14572a98ab Merge pull request #272 from hashicorp/f-apply-overlap
Plan queue apply overlaps plan verification with plan application to increase throughput
2015-10-12 14:35:25 -07:00
Armon Dadgar 953e0f3944 nomad: comment cleanups 2015-10-12 14:35:17 -07:00
Armon Dadgar 4e49cff26c Merge pull request #271 from hashicorp/f-version-constraint
Adding support for regexp, version, and lexical ordering constraints
2015-10-12 13:53:17 -07:00
Armon Dadgar 6aec97d055 nomad: make test more robust 2015-10-12 09:42:25 -07:00
Armon Dadgar 41efc6b7a9 nomad: make tests more robust 2015-10-12 09:42:25 -07:00
Armon Dadgar bf6e020f30 nomad: test optimistic state update 2015-10-11 18:47:09 -04:00
Armon Dadgar 9b80375f86 nomad: refresh snapshot under error return 2015-10-11 18:47:09 -04:00
Armon Dadgar 8715d8ab8f nomad: overlap plan evaluation with apply 2015-10-11 18:47:09 -04:00
Armon Dadgar 08a32d0952 nomad: optimistically apply plan to state snapshot 2015-10-11 18:47:09 -04:00
Armon Dadgar 8edc9da37d nomad: wait for plan to apply async 2015-10-11 18:47:08 -04:00
Armon Dadgar 2cebcf289c nomad: plan apply uses raw Raft future 2015-10-11 18:47:08 -04:00
Armon Dadgar ff27572e1f nomad: raftApplyFuture does not block for error 2015-10-11 18:47:08 -04:00
Armon Dadgar 445d36d81b nomad: raftApplyFuture exposes underlying Future 2015-10-11 18:47:08 -04:00
Armon Dadgar 1726c8f4b3 nomad: make test more robust 2015-10-11 18:47:00 -04:00
Armon Dadgar bc7e8fea9e nomad: make tests more robust 2015-10-11 18:35:09 -04:00
Armon Dadgar 369be8e8f4 nomad: additional constraint validation 2015-10-11 15:50:16 -04:00
Alex Dadgar 0bfc1977c3 TestRPC_forwardRegion waits for test servers to join 2015-10-08 16:32:42 -07:00
Alex Dadgar 29f141af85 Fix race condition in server endpoint tests in which workers would process evals before there status could be asserted 2015-10-08 15:36:42 -07:00
Ivo Verberk c6e1b13b51 Fix vet warnings 2015-10-07 12:26:58 +02:00
Antoine POPINEAU 722141bfa6 Added a jobspec directive to specify envvars. Updated Docker driver to use them accordingly. 2015-10-02 17:46:55 -07:00
Ryan Uber 747991dc61 nomad: fix test race 2015-09-25 16:07:37 -07:00
Ryan Uber f7f943cf6f nomad: data centers -> datacenters 2015-09-25 12:27:31 -07:00
Chris Bednarski fce6a5f7c7 Merge pull request #108 from hashicorp/b-netmap-crash
Fix crash in task_runner tests
2015-09-24 16:27:54 -07:00
Chris Bednarski 4554a678e5 Remove this guard since it's likely to hide nasty bugs where nomad should crash 2015-09-24 15:38:11 -07:00
Chris Bednarski 130263af84 Add exhaustive tests and nil guard to List and Map for NetworkResource 2015-09-24 15:11:44 -07:00
Chris Bednarski 388981a34b Fix some typos 2015-09-23 23:56:25 -07:00
Chris Bednarski 50b967d716 Added ListStaticPorts() to get a list of statically-allocated ports from the NetworkResource 2015-09-23 22:28:34 -07:00
Chris Bednarski 0060ac933f Add dynamic ports to api resources; copy dynamic ports into offer 2015-09-23 18:01:49 -07:00
Chris Bednarski 38b7f0b452 That method is gone 2015-09-23 13:45:23 -07:00
Chris Bednarski e2c324d098 Merge branch 'master' into f-port-configs 2015-09-23 11:57:12 -07:00
Chris Bednarski f4ad6e51dc Replaced List with Map 2015-09-23 11:56:36 -07:00
Armon Dadgar b213462cb4 Change CPU from float64 to int 2015-09-23 11:14:32 -07:00
Chris Bednarski 5d83524e8d Tweak paragraphs so the explanation flows better 2015-09-23 03:19:35 -07:00
Chris Bednarski c32f36231a Rewrote the docs for ListDynamicPorts to be clearer 2015-09-23 03:07:52 -07:00
Chris Bednarski 3e90379f05 Pass dynamic ports to the exec driver via environment variables 2015-09-22 22:33:29 -07:00
Chris Bednarski 6dc1a9b43c Initialize error 'no networks avaialable' before yielding to find an IP address (maybe there are no IP addresses) 2015-09-22 18:33:29 -07:00
Ryan Uber 3f025a0627 nomad: fix typo 2015-09-22 17:37:55 -07:00
Chris Bednarski 5c1515718d Lowercase for consistency 2015-09-22 14:02:51 -07:00
Chris Bednarski 168c959497 Added named ports 2015-09-22 13:59:16 -07:00
Armon Dadgar b68c8404b1 nomad: remove noisy logs 2015-09-21 14:14:19 -07:00
Armon Dadgar fed2471a80 nomad: remove errwrap, directly wrap 2015-09-20 17:08:57 -07:00
Armon Dadgar f30e783c8e nomad: adding mapstructure tags 2015-09-20 15:08:29 -07:00
Armon Dadgar 05f6705037 nomad: ensure job ID does not contain space 2015-09-15 17:38:30 -07:00
Armon Dadgar 373db0608f nomad: using struct level validations 2015-09-15 11:25:48 -07:00
Armon Dadgar c713cfb9ac nomad: testing the job validations 2015-09-15 11:23:03 -07:00
Armon Dadgar c5cf345df7 nomad: fixing tests 2015-09-15 11:12:46 -07:00
Armon Dadgar 3ccf1d98d7 nomad: adding job validation 2015-09-15 10:46:10 -07:00
Mitchell Hashimoto 9c9e3ed083 jobspec: parse network resources 2015-09-14 18:27:37 -07:00
Mitchell Hashimoto 42a36b300b jobspec: parse regions 2015-09-14 18:18:49 -07:00
Mitchell Hashimoto 9bd1c2f177 jobspec: parsing 2015-09-14 17:43:42 -07:00
Armon Dadgar f575b07827 nomad: fixing unit tests 2015-09-13 18:46:40 -07:00
Armon Dadgar cbc9b6dae2 nomad: thread alloc fit failure reason through 2015-09-13 18:38:11 -07:00
Armon Dadgar 2ff133c0e6 nomad: rename region1 to global. Fixes #41 2015-09-13 18:18:40 -07:00
Armon Dadgar cece4473b8 scheduler: in-place update should preserve network offer 2015-09-13 17:06:34 -07:00
Armon Dadgar fcd367e657 scheduler: track dimension of exhaustion 2015-09-13 16:48:01 -07:00
Armon Dadgar 3690565f5a nomad: adding reason network offer failed 2015-09-13 16:40:53 -07:00
Armon Dadgar 13815fb733 mock: use network resources 2015-09-13 16:40:31 -07:00
Armon Dadgar 7586b39a7b nomad: removing old network index lookup methods 2015-09-13 15:04:36 -07:00
Armon Dadgar 373c4ee83a nomad: Resource Superset ignores network in favor of NetworkIndex 2015-09-13 14:59:34 -07:00
Armon Dadgar cb3aa5d4db nomad: update for new AllocsFit API 2015-09-13 14:57:58 -07:00
Armon Dadgar 1884296ff8 nomad: remove PortsOvercommited in favor of NetworkIndex 2015-09-13 14:56:51 -07:00
Armon Dadgar c21ff50107 nomad: exposing IntContains 2015-09-13 14:36:33 -07:00
Armon Dadgar e901b0a1ca nomad: moving network index 2015-09-13 14:35:28 -07:00
Armon Dadgar 8bbf0bfb76 nomad: adding copy helpers 2015-09-13 14:30:45 -07:00
Armon Dadgar 5c8f1c0fa5 scheduler: adding helper library for network assignments 2015-09-12 19:34:46 -07:00
Armon Dadgar a829c8db50 nomad: add device name for network 2015-09-12 19:13:00 -07:00
Armon Dadgar 5b6d365709 nomad: removing public field of network 2015-09-12 17:32:08 -07:00
Armon Dadgar 39fa04eda7 nomad: aggregate by blank network constraints 2015-09-12 17:04:09 -07:00
Armon Dadgar 47f6a8a64a nomad: Support adding NetworkResource by CIDR/IP 2015-09-12 16:33:41 -07:00
Armon Dadgar 2eb8044518 nomad: handle network usage superset by CIDR/IP 2015-09-12 16:29:45 -07:00
Armon Dadgar a8d0c6994e nomad: Adding per-task resources block 2015-09-12 16:22:18 -07:00
Armon Dadgar 93020187da nomad: removing unused job type 2015-09-12 16:22:09 -07:00
Armon Dadgar 2d4fad31b2 nomad: adding IP to NetworkResource 2015-09-12 16:21:57 -07:00
Chris Bednarski 0cc7ed77cc Merge pull request #35 from hashicorp/b-serfv4
Change serf version to 4 so the entire test suite doesn't fail
2015-09-11 12:34:21 -07:00
Chris Bednarski 78bbad2d8d Remove todo because there is no serf version 5 2015-09-11 11:22:36 -07:00
Chris Bednarski da93d4a30f Change error to err to be consistent with other usage 2015-09-11 10:26:33 -07:00
Chris Bednarski 39feffd67f Change debug to info 2015-09-11 10:24:52 -07:00
Chris Bednarski 6ea318cacb Change to use the logger instance defined earlier 2015-09-11 10:23:53 -07:00
Chris Bednarski d93459b797 Change serf version to 4 so the entire test suite doesn't fail 2015-09-11 10:21:15 -07:00
Chris Bednarski 3000ef07c1 Added logging to server startup so we can see where it fails 2015-09-11 10:20:36 -07:00
Armon Dadgar ea0795995d Use a single implementation of GenerateUUID 2015-09-07 15:23:03 -07:00
Armon Dadgar 293e44474b nomad: adding helper structs 2015-09-07 15:08:50 -07:00
Armon Dadgar df16cea2a4 nomad: worker supports create eval 2015-09-07 14:23:48 -07:00
Armon Dadgar a2a58e0e98 nomad: guard eval creation based on parent eval 2015-09-07 14:21:38 -07:00
Armon Dadgar 96a8d079e2 nomad: adding Eval.Create endpoint 2015-09-07 14:17:11 -07:00
Armon Dadgar fe2e046481 nomad: support time wait for evaluations 2015-09-07 13:00:45 -07:00
Armon Dadgar 31f2c4fbaa nomad: adding fields to cause an evaluation to 'wait' 2015-09-07 12:47:48 -07:00
Armon Dadgar 6f9a9a643d nomad: helper struct func 2015-09-07 12:23:34 -07:00
Armon Dadgar e8b3199471 nomad: PopUpdate should minimize plan size 2015-09-07 12:05:18 -07:00
Armon Dadgar c8a116b287 nomad: adding helper to manipulate plans 2015-09-07 12:00:34 -07:00
Armon Dadgar ad681be59c nomad: adding node GC 2015-09-07 11:01:29 -07:00
Armon Dadgar 7d69aa78c1 nomad: using Raft StartAsLeader to make tests faster 2015-09-07 10:46:41 -07:00
Armon Dadgar 8bedd3769c nomad: unifying the state store API 2015-09-06 20:56:38 -07:00
Armon Dadgar 5b02014e14 state: cleanup Get*By 2015-09-06 20:51:01 -07:00
Armon Dadgar 8e3a98af58 state: remove unused indexes 2015-09-06 20:49:07 -07:00
Armon Dadgar 1a5579384a nomad: cleanup API descrepencies 2015-09-06 20:47:42 -07:00
Armon Dadgar b42742bf8f state: unify the terminology for code clarity 2015-09-06 20:39:06 -07:00
Armon Dadgar 0702f17989 Rename client endpoint to node endpoint 2015-09-06 20:31:32 -07:00
Armon Dadgar c7773feced nomad: improve error messages at start for dev mode 2015-09-06 20:18:47 -07:00
Armon Dadgar 5d2f65537e nomad: adding client drain endpoint 2015-09-06 20:00:12 -07:00
Armon Dadgar 21000d41ec nomad: adding FSM support for node drain update 2015-09-06 19:55:38 -07:00
Armon Dadgar 82cba83eb6 state: Adding UpdateNodeDrain 2015-09-06 19:51:50 -07:00
Armon Dadgar 5832b2f147 nomad: adding drain as node property 2015-09-06 19:47:02 -07:00
Armon Dadgar 42734d2c3a nomad: allow region forwarding for status endpoints 2015-09-06 18:07:05 -07:00
Armon Dadgar 1e945605e3 nomad: adding endpoint for allocations by eval 2015-09-06 16:14:41 -07:00
Armon Dadgar 2901b544e9 nomad: adding eval list endpoint 2015-09-06 16:01:16 -07:00
Armon Dadgar e54d5402e2 nomad: adding alloc lookup method 2015-09-06 15:46:45 -07:00
Armon Dadgar 46cbe8285d nomad: adding Alloc endpoint 2015-09-06 15:34:28 -07:00
Armon Dadgar e6670a5cb4 nomad: adding Node list endpoint 2015-09-06 14:28:29 -07:00
Armon Dadgar 6a5e26c695 nomad: set the query meta data 2015-09-06 12:24:25 -07:00
Armon Dadgar 0bba163ef7 nomad: adding job query endpoints 2015-09-06 12:18:45 -07:00
Armon Dadgar b1a406f234 state: Adding eval lookup by job 2015-09-06 12:10:24 -07:00
Armon Dadgar d84f959dd8 nomad: fixing tests 2015-08-30 18:10:12 -07:00
Armon Dadgar a2d8c6c3fe client: working on state restore 2015-08-29 19:14:47 -07:00
Armon Dadgar 020ba19e5a mock: make valid mock alloc 2015-08-29 16:24:01 -07:00
Armon Dadgar 4d6238ebb8 client: test updating alloc status 2015-08-29 14:22:24 -07:00
Armon Dadgar 5155f2c8eb nomad: parameterize heartbeat configuration 2015-08-29 14:14:19 -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 c7672b41ec nomad: Adding Client.UpdateAlloc endpoint 2015-08-25 18:12:51 -07:00
Armon Dadgar a2010b9f2a nomad: FSM support for AllocClientUpdateRequestType 2015-08-25 18:00:14 -07:00
Armon Dadgar 922eb37484 nomad: adding UpdateAllocFromClient for client based updates 2015-08-25 17:54:45 -07:00
Armon Dadgar 2ea99f211a nomad: updating for new alloc representation 2015-08-25 17:36:52 -07:00
Armon Dadgar 2ee6947844 scheduler: updating for new APIs 2015-08-25 17:06:06 -07:00
Armon Dadgar 42f9d4c1b6 nomad: plan supports more than just evict 2015-08-25 16:52:56 -07:00
Armon Dadgar 28069dd973 nomad: updating state for split 2015-08-25 16:26:34 -07:00
Armon Dadgar 26c713655f nomad: update mock alloc status 2015-08-25 16:19:21 -07:00
Armon Dadgar a30295cef0 nomad: splitting alloc desired and client status 2015-08-25 16:18:37 -07:00
Armon Dadgar 7e644b7cc9 nomad: use fast and slow exponential backoff in worker 2015-08-23 17:39:49 -07:00
Armon Dadgar 8e32075210 client: making progress 2015-08-23 16:49:48 -07:00
Armon Dadgar b77e4ff343 scheduler: update tests to filter terminal allocs 2015-08-23 16:30:57 -07:00
Armon Dadgar b632173b81 nomad: default number of schedulers to number of cores 2015-08-23 13:59:26 -07:00
Armon Dadgar dd55475198 nomad: disable one worker when leader 2015-08-23 13:59:13 -07:00
Armon Dadgar d4e2faf216 nomad: track the workers in the pool 2015-08-23 10:53:53 -07:00
Armon Dadgar 8c2bc337e6 nomad: adding ability to pause a worker 2015-08-23 10:52:31 -07:00
Armon Dadgar c72e6cdb78 nomad: plan apply handles update of existing allocation 2015-08-22 19:37:21 -07:00
Armon Dadgar 5668c971be nomad: add client.GetAllocs with blocking query support 2015-08-22 19:17:49 -07:00
Armon Dadgar c362ca0ffd nomad/state: adding watching mechanisms 2015-08-22 18:57:15 -07:00
Armon Dadgar f04e2b81ba nomad: adding evicted state for allocs 2015-08-22 18:30:49 -07:00
Armon Dadgar 5b2dc385ec nomad: adding evict state for allocs 2015-08-22 18:27:51 -07:00
Armon Dadgar 6c8791ccf8 nomad: client does periodic heartbeat 2015-08-22 18:16:05 -07:00
Armon Dadgar 4e61f6db47 nomad: Client.UpdateStatus used for heartbeats 2015-08-22 17:49:48 -07:00
Armon Dadgar 678addc990 nomad: testing heartbeat resets 2015-08-22 17:37:50 -07:00
Armon Dadgar 3d48ff4c6f nomad: no heartbeat for nodes in terminal status 2015-08-22 17:17:13 -07:00
Armon Dadgar e489ee8ebd nomad: add rate based scaling util methods 2015-08-22 17:12:24 -07:00
Armon Dadgar 8ca758ba05 nomad: remove the client implementation 2015-08-20 16:13:43 -07:00
Armon Dadgar 40def1a187 nomad: expose RuntimeStats 2015-08-20 15:29:30 -07:00
Armon Dadgar d71aae8722 nomad: remove magic bytes 2015-08-20 15:07:22 -07:00
Armon Dadgar 3847133ca6 nomad: test client RPC forwarding 2015-08-16 17:51:29 -07:00
Armon Dadgar af891a50f5 nomad: adding simple client 2015-08-16 17:44:18 -07:00
Armon Dadgar 5973fd192c nomad: improve test reliability 2015-08-16 17:43:30 -07:00
Armon Dadgar c1d8ab0983 nomad: rename client endpoint struct 2015-08-16 17:40:35 -07:00
Armon Dadgar 1e36821bfd changing default ports 2015-08-16 15:10:11 -07:00
Armon Dadgar c1aa76cc3b nomad: reap failed evaluations 2015-08-16 11:10:18 -07:00
Armon Dadgar 79a1471b85 nomad: add delivery limit to eval broker 2015-08-16 10:55:55 -07:00
Armon Dadgar 0dff5a77a2 scheduler: coalesce failures by task group 2015-08-16 10:03:21 -07:00
Armon Dadgar 107da3a174 scheduler: track sub-scores 2015-08-16 09:57:30 -07:00
Armon Dadgar 2c8d404e15 nomad: adding endpoint to force node re-evaluate 2015-08-15 18:20:35 -07:00
Armon Dadgar 0c07e8ef11 nomad: endpoint to force re-evaluation of job 2015-08-15 18:11:26 -07:00
Armon Dadgar df8e992172 nomad: document some potential races 2015-08-15 18:03:05 -07:00
Armon Dadgar 2ad0189b88 nomad: Integrate Eval GC with FSM time table 2015-08-15 17:42:51 -07:00
Armon Dadgar 3b97632a99 nomad: integrate time table with FSM 2015-08-15 17:38:13 -07:00
Armon Dadgar 114f2aaba7 nomad: test overflow 2015-08-15 17:18:19 -07:00
Armon Dadgar bda6a7584f nomad: adding timetable to track time to raft index 2015-08-15 17:13:24 -07:00
Armon Dadgar 4a52c2a357 nomad: log error 2015-08-15 16:08:12 -07:00
Armon Dadgar 08df32732f nomad: core scheduler will GC evaluations and allocations 2015-08-15 16:07:50 -07:00
Armon Dadgar 499a7456f9 nomad: updating structs 2015-08-15 16:07:22 -07:00
Armon Dadgar 5b718cea0d nomad: Adding Eval.Reap 2015-08-15 15:42:44 -07:00
Armon Dadgar a80249204f nomad: DeleteEval request can take a list of evals and allocations 2015-08-15 15:39:29 -07:00
Armon Dadgar b75cc4b9fb nomad: periodic dispatch of eval GC 2015-08-15 15:15:00 -07:00
Armon Dadgar cae67b7f60 nomad: expose UpdateEval as a planner 2015-08-15 14:25:00 -07:00
Armon Dadgar dd82bdb059 nomad: rename to EvalToken 2015-08-15 14:22:21 -07:00
Armon Dadgar 39c82cd1bd nomad: adding eval update functionality 2015-08-15 14:16:40 -07:00
Armon Dadgar 9fd8049e16 scheduler: create allocs for failed placements 2015-08-15 13:40:13 -07:00
Armon Dadgar cabefa46bf nomad: thread through failed allocations 2015-08-15 13:33:20 -07:00
Armon Dadgar da90c453ce nomad: adding index on EvalID and Status to alloc 2015-08-15 13:27:42 -07:00
Armon Dadgar 3f16a21658 nomad: remove NodesByDatacenterStatus 2015-08-15 13:11:42 -07:00
Armon Dadgar 6738e9fe08 nomad: associate alloc with eval 2015-08-15 13:08:06 -07:00
Armon Dadgar aadecdd805 nomad: adding version API endpoint 2015-08-15 12:59:10 -07:00
Armon Dadgar 8dfcb99e7f nomad: rename SystemScheduler to CoreScheduler 2015-08-15 12:38:58 -07:00
Armon Dadgar 431f0278ac nomad: backport Consul pool fix 2015-08-15 12:35:18 -07:00
Armon Dadgar dcf4952974 nomad: remove unused field 2015-08-13 22:21:41 -07:00
Armon Dadgar 6f62ceb2ae scheduler: test job registration 2015-08-13 22:07:01 -07:00
Armon Dadgar b290aac24f scheduler: testing service stack 2015-08-13 21:55:37 -07:00
Armon Dadgar 64bab68680 scheduler: basic metrics integration 2015-08-13 21:46:33 -07:00
Armon Dadgar 89eef4ed6a scheduler: simplifying 2015-08-13 18:16:32 -07:00
Armon Dadgar b2ad51c791 scheduler: major refactor 2015-08-13 17:11:20 -07:00
Armon Dadgar 194723e7bf nomad: rename util method 2015-08-13 16:40:51 -07:00
Armon Dadgar eafa8ccd21 scheduler: simplify eviction logic 2015-08-13 16:29:28 -07:00
Armon Dadgar 6977133bc9 scheduler: testing utility methods 2015-08-13 16:25:59 -07:00
Armon Dadgar fcd6ccbd53 scheduler: working on plan submission 2015-08-13 15:17:24 -07:00
Armon Dadgar 33f4e3f0dc nomad: tweak structs 2015-08-13 14:02:39 -07:00
Armon Dadgar a077605114 nomad: adding NodesByDatacenterStatus 2015-08-13 13:17:03 -07:00
Armon Dadgar df21ab3d10 scheduler: working on bin pack 2015-08-13 11:54:59 -07:00
Armon Dadgar f7007bfeb5 nomad: avoid split-brain in plan processing due to leader transition or eval retry 2015-08-12 15:44:36 -07:00
Armon Dadgar 183a238481 nomad: avoid split-brain eval handling after leader transition 2015-08-12 15:25:31 -07:00
Armon Dadgar 00b0740914 nomad: adding name to allocation 2015-08-11 16:34:06 -07:00
Armon Dadgar 343b1b9c89 nomad: move state and mocks into shared packages 2015-08-11 14:27:14 -07:00
Armon Dadgar b320eed46b nomad: planner can fast-path evict-only plans 2015-08-07 09:37:45 -07:00
Armon Dadgar c09da9fa51 nomad: measure invoke time per scheduler 2015-08-06 17:45:27 -07:00
Armon Dadgar b908a76d29 nomad: Adding AllocsByJob 2015-08-06 17:36:10 -07:00
Armon Dadgar 09a8c15d7e scheduler: adding service scheduler definition 2015-08-06 17:25:14 -07:00
Armon Dadgar 8c2f8cddd0 nomad: create system scheduler as needed 2015-08-06 17:08:40 -07:00
Armon Dadgar 5f1ebb9274 nomad: adding special 'system' scheduler 2015-08-06 17:04:35 -07:00
Armon Dadgar 8a4af54f0b nomad: fixing tset for new api 2015-08-06 17:02:37 -07:00
Armon Dadgar 98dc6e13fd nomad: client updates generate evaluaitons 2015-08-06 16:39:20 -07:00
Armon Dadgar a2feb20903 nomad: UpsertEvals can take a list of Evals 2015-08-06 14:51:15 -07:00
Armon Dadgar 3002698393 nomad: job deregister creates an evaluation 2015-08-06 14:17:18 -07:00
Armon Dadgar 41a4a21caf nomad: job create/update creates evaluation 2015-08-06 11:48:44 -07:00
Armon Dadgar b5100eeefb nomad: FSM enqueues evaluations 2015-08-06 11:32:42 -07:00
Armon Dadgar 9398dc997b nomad: share enqueue logic 2015-08-06 11:28:55 -07:00
Armon Dadgar a8a01f8828 nomad: remove eval broker from state store 2015-08-06 11:09:59 -07:00
Armon Dadgar 011484ea74 nomad: eval broker serializes by JobID 2015-08-05 17:55:15 -07:00
Armon Dadgar 078d80432a nomad: deduplicate enqueue of evaluations 2015-08-05 17:06:02 -07:00
Armon Dadgar c246349c63 nomad: restore eval broker on leader transition 2015-08-05 16:53:54 -07:00
Armon Dadgar fe14b62605 nomad: increase test reliability 2015-08-05 16:46:07 -07:00
Armon Dadgar 7cdcc45c64 nomad: cleanup stats goroutines 2015-08-05 16:45:50 -07:00
Armon Dadgar 2f05a260bb nomad: add checking if eval broker enabled 2015-08-05 16:41:39 -07:00
Armon Dadgar 67b891b85c nomad: test leader enables plan queue 2015-08-05 16:32:46 -07:00
Armon Dadgar 2f84e37cd0 nomad: allow testing if plan queue enabled 2015-08-05 16:30:57 -07:00
Armon Dadgar 4b35992d06 nomad: test worker plan submission 2015-08-05 16:23:47 -07:00
Armon Dadgar db78ce9a02 nomad: make worker more resilient to transient errors 2015-08-05 16:23:37 -07:00
Armon Dadgar 8da3a6b062 nomad: use correct nodes index 2015-08-05 16:23:17 -07:00
Armon Dadgar 03973a273b nomad: test AllocsByNode 2015-08-04 18:32:50 -07:00
Armon Dadgar 3aba600230 nomad: testing plan evaluation 2015-08-04 18:30:05 -07:00
Armon Dadgar 2382993b78 nomad: testing apply plan 2015-08-04 18:18:44 -07:00
Armon Dadgar d758d459f7 nomad: test evaluation of node plan 2015-08-04 18:10:57 -07:00
Armon Dadgar f733ba0efa nomad: share alloc fitting test 2015-08-04 17:48:24 -07:00
Armon Dadgar 1701275936 nomad: share resource adding 2015-08-04 17:41:02 -07:00
Armon Dadgar f23e0db780 nomad: share and test superset 2015-08-04 17:32:57 -07:00
Armon Dadgar b140ba5f51 nomad: share port overcommit check 2015-08-04 17:28:19 -07:00
Armon Dadgar 0c3bab297c nomad: testing 2015-08-04 17:23:42 -07:00
Armon Dadgar edb2820182 nomad: move and test function 2015-08-04 17:19:05 -07:00
Armon Dadgar 8913a42674 nomad: move and test max function 2015-08-04 17:13:40 -07:00
Armon Dadgar 6025b22952 nomad: check for err in test 2015-08-04 17:13:32 -07:00
Armon Dadgar df6ab9898b nomad: fixing tests 2015-08-04 17:11:20 -07:00
Armon Dadgar 549e9c1a7f nomad: add some profiling 2015-08-04 16:35:49 -07:00
Armon Dadgar 0c8b50ea45 nomad: first pass at plan eval and apply 2015-08-04 16:32:46 -07:00
Armon Dadgar 44b391bf8b nomad: adding the FSM CRUD 2015-08-04 14:04:33 -07:00
Armon Dadgar 6adf1d2af0 nomad: adding the FSM CRUD 2015-08-04 14:04:26 -07:00
Armon Dadgar e322534550 nomad: state store CRUD for allocations 2015-08-04 13:56:41 -07:00
Armon Dadgar 1034eec8b3 structs: working on plan and plan result 2015-07-28 17:49:45 -07:00
Armon Dadgar 1a3afe3425 nomad: use plan enqueue time instead of eval create index 2015-07-28 17:49:27 -07:00
Armon Dadgar 3938231a9e nomad: more worker testing 2015-07-28 17:20:06 -07:00
Armon Dadgar 8e66fdfdab nomad: test waitForIndex 2015-07-28 17:11:00 -07:00
Armon Dadgar 0cfb67e918 nomad: testing worker acking 2015-07-28 17:05:59 -07:00
Armon Dadgar c65b2c472b nomad: testing worker dequeue 2015-07-28 17:02:54 -07:00
Armon Dadgar 9e6c0c9c3a nomad: guard against plan during shutdown 2015-07-28 16:52:13 -07:00
Armon Dadgar 2b4501bee8 nomad: improving worker, submit plans 2015-07-28 16:36:15 -07:00
Armon Dadgar 59d45bba4f nomad: enable all builtin schedulers by default 2015-07-28 16:19:52 -07:00
Armon Dadgar d7e9927661 nomad: integrating worker and scheduler 2015-07-28 16:15:32 -07:00
Armon Dadgar 8bed5f724f nomad: test placeholders 2015-07-28 15:15:42 -07:00
Armon Dadgar 3c2a16038b nomad: first pass adding scheduling workers 2015-07-28 15:12:08 -07:00
Armon Dadgar 8f2b878ea8 nomad: fix Eval.Dequeue forwarding 2015-07-28 15:01:29 -07:00
Armon Dadgar 4be2c1b9db nomad: adding plan endpoint 2015-07-27 15:31:49 -07:00
Armon Dadgar adcad9a5fb nomad: fixing plan queue dequeue with no timeout 2015-07-27 15:31:39 -07:00
Armon Dadgar b0830f631d nomad: adding skeleton no-op plan evaluator 2015-07-27 15:31:09 -07:00
Armon Dadgar 743c7f32ef nomad: integrate plan queue 2015-07-27 15:11:42 -07:00
Armon Dadgar 3a4efce389 nomad: adding plan queue 2015-07-27 14:59:16 -07:00
Armon Dadgar 7f49f25de1 nomad: ensure FIFO dequeue with same priority 2015-07-23 22:58:12 -07:00
Armon Dadgar 487acdd3c7 nomad: threading eval broker through fsm and state store 2015-07-23 22:30:08 -07:00
Armon Dadgar 93b832cf59 nomad: emit metrics from the eval broker 2015-07-23 22:17:37 -07:00
Armon Dadgar e820b3ae3c nomad: adding Eval endpoints for Ack and Nack 2015-07-23 22:11:25 -07:00
Armon Dadgar 0a08c1ce49 nomad: adding Eval.Dequeue endpoint 2015-07-23 21:58:51 -07:00
Armon Dadgar 8839045d52 nomad: enable/disable eval broker based on leadership 2015-07-23 21:58:38 -07:00
Armon Dadgar 7aad418345 nomad: method to test if outstanding evaluation 2015-07-23 21:58:13 -07:00
Armon Dadgar fc11808fe9 nomad: add eval broker, configurable nack timeout 2015-07-23 21:44:17 -07:00
Armon Dadgar 5fcc39c399 nomad: testing the eval broker 2015-07-23 21:37:28 -07:00
Armon Dadgar 2a76fd34f0 nomad: first pass at eval broker 2015-07-23 17:31:08 -07:00
Armon Dadgar 890db2d2b7 nomad: adding utility shuffle 2015-07-23 17:30:07 -07:00
Armon Dadgar eff7170c77 nomad: adding RPC endpoints for fetching Eval 2015-07-23 16:00:19 -07:00
Armon Dadgar 9b921d9f92 nomad: adding FSM support for evaluations 2015-07-23 15:52:38 -07:00
Armon Dadgar a69c71b239 nomad: CRUD for evals in state store 2015-07-23 15:43:06 -07:00
Armon Dadgar 60e786100b nomad: Adding Eval model 2015-07-23 15:27:13 -07:00
Armon Dadgar d39d3585a2 nomad: reduce mixed terminology by adding ID to Job 2015-07-23 15:15:48 -07:00
Armon Dadgar 501a57f9d8 nomad: Adding the CRUD endpoints for jobs 2015-07-23 14:41:18 -07:00
Armon Dadgar bc0cea6d26 nomad: add FSM support for Jobs 2015-07-07 10:55:47 -06:00
Armon Dadgar 1947a19885 nomad: make struct names more specific to avoid confusion 2015-07-07 10:51:42 -06:00
Armon Dadgar d0cc7918f0 nomad: CRUD for jobs in state store 2015-07-07 10:41:05 -06:00
Armon Dadgar 8ba9e09596 nomad: support FSM snap/restore of indexes table 2015-07-06 15:51:01 -06:00
Armon Dadgar 6cbda1b2b8 nomad: testing the client endpoint GetNode 2015-07-06 15:38:57 -06:00
Armon Dadgar 68c6325ae1 nomad: track the index affecting a table 2015-07-06 15:30:43 -06:00
Armon Dadgar 9151c1400f nomad: starting client GetNode 2015-07-06 15:23:15 -06:00
Armon Dadgar 7bb70b3843 nomad: adding the update status endpoint 2015-07-06 14:50:40 -06:00
Armon Dadgar bb1e7e41e8 nomad: adding client deregister endpoint 2015-07-06 14:42:33 -06:00
Armon Dadgar c897e7c69a nomad: expose the raft index on write 2015-07-06 14:34:32 -06:00
Armon Dadgar a04d125760 nomad: adding test for client register 2015-07-06 14:23:11 -06:00
Armon Dadgar 1f8d11eb49 nomad: RPC layer should check for missing region 2015-07-06 14:18:12 -06:00
Armon Dadgar f16fc93d85 nomad: testing fsm snapshot and restore 2015-07-06 14:01:10 -06:00
Armon Dadgar 410f3a0555 nomad: adding methods to snapshot and restore nodes 2015-07-04 10:16:52 -07:00
Armon Dadgar 185e3cb3c7 nomad: FSM support for node updates 2015-07-03 18:41:36 -07:00
Armon Dadgar ee611d459f nomad: adding basic node CRUD 2015-07-03 18:19:43 -07:00
Armon Dadgar 76d4e6bd14 nomad: adding indexes to structs 2015-07-03 17:50:54 -07:00
Armon Dadgar cbbe50f022 nomad: adding basic test for schema 2015-07-03 17:48:02 -07:00
Armon Dadgar 9871e84c63 nomad: fixing client endpoint 2015-07-03 17:47:55 -07:00
Armon Dadgar abef9ca0a1 nomad: adding AllocMetric to track allocation metrics 2015-07-03 17:37:01 -07:00
Armon Dadgar 2c694c7e4c nomad: working on allocation schema 2015-07-03 17:11:53 -07:00
Armon Dadgar 00df4837bb nomad: working on job struct and schema 2015-07-03 16:57:48 -07:00
Armon Dadgar bbc03b1cc1 nomad: working on the node representation 2015-07-03 16:04:24 -07:00
Armon Dadgar 4b48b2c1b6 nomad: change to use MemDB instead of raw iradix 2015-07-03 14:46:30 -07:00
Armon Dadgar caa6e7672d memdb: refactor into seperate repo 2015-06-16 16:06:32 -07:00
Armon Dadgar 7c4dce412e memdb: richer testing 2015-06-16 15:42:46 -07:00
Armon Dadgar 54400bc05a memdb: testing compound index 2015-06-16 14:58:50 -07:00
Armon Dadgar a2ef0986fe memdb: support prefix based iteration 2015-06-16 14:32:37 -07:00
Armon Dadgar ae4566a9f5 memdb: support prefix on indexes 2015-06-16 14:15:30 -07:00
Armon Dadgar 064b8c49d1 memdb: Adding UUID indexer 2015-06-16 14:02:00 -07:00
Armon Dadgar ff6945a28b memdb: implement DeleteAll 2015-06-16 12:31:45 -07:00
Armon Dadgar 91630763be memdb: adding very basic index scanning 2015-06-16 12:16:15 -07:00
Armon Dadgar dae01c9e26 memdb: directly cast, avoid unsafe 2015-06-16 12:06:30 -07:00
Armon Dadgar a3d27408a2 memdb: support object delete 2015-06-16 12:01:19 -07:00
Armon Dadgar a0c6c507ca memdb: Supporting non-unique index values 2015-06-16 11:43:32 -07:00
Armon Dadgar 5dc6b81842 memdb: support update of objects 2015-06-07 19:47:59 -05:00
Armon Dadgar fc8bdd217b memdb: insert and first working 2015-06-07 19:38:01 -05:00
Armon Dadgar d0679bbe72 memdb: initialize and more testing 2015-06-07 13:42:03 -07:00
Armon Dadgar 96eecdfa0d memdb: testin txn abort and commit 2015-06-07 13:18:50 -07:00
Armon Dadgar 03928483c7 memdb: testing writer concurrency 2015-06-07 13:15:13 -07:00
Armon Dadgar 534d4c0619 memdb: testing schema validation 2015-06-07 13:07:55 -07:00
Armon Dadgar 3a867f9661 memdb: initial skeleton 2015-06-07 13:03:24 -07:00
Armon Dadgar 5fdf3c5d33 nomad: adding Client endpoint 2015-06-07 12:14:41 -07:00
Armon Dadgar dd8f5a0bef nomad: testing RPC forwarding 2015-06-07 12:08:47 -07:00
Armon Dadgar 405c03d873 nomad: refactor test code 2015-06-07 12:03:05 -07:00
Armon Dadgar 2a1767594e nomad: adding RPC forwarding methods 2015-06-07 11:50:53 -07:00
Armon Dadgar 4f78d6a7e9 nomad: adding connection pool 2015-06-07 11:50:29 -07:00
Armon Dadgar 8ecfa93a96 nomad: track local peers 2015-06-07 11:37:59 -07:00
Armon Dadgar ac6ed01a1c nomad: track local peers 2015-06-07 11:32:01 -07:00
Armon Dadgar 477cd88a40 nomad: adding response struct 2015-06-07 11:31:48 -07:00
Armon Dadgar f895cd0147 nomad: first pass at register struct 2015-06-07 11:18:59 -07:00
Armon Dadgar ffce4f931e nomad: adding basic RPC interfaces 2015-06-06 00:41:03 +02:00
Armon Dadgar fa2ff7a324 nomad: increase serf reap to 72h 2015-06-06 00:32:28 +02:00
Armon Dadgar b646ed9015 nomad: adding raftApply RPC 2015-06-06 00:22:05 +02:00
Armon Dadgar 6b63bfa5a2 structs: adding encode and decode 2015-06-06 00:21:17 +02:00
Armon Dadgar e8964a4975 nomad: adding utility methods 2015-06-06 00:14:08 +02:00
Armon Dadgar 21fdb8f4ee nomad: adding more test cases 2015-06-06 00:11:16 +02:00
Armon Dadgar 25aad83ea4 nomad: testing leader bridging of serf 2015-06-05 23:54:45 +02:00
Armon Dadgar 3d2a237e88 nomad: adding leader logic to add/remove raft peers 2015-06-04 13:38:41 +02:00
Armon Dadgar 0bca2285a4 nomad: testing status endpoint 2015-06-04 13:26:16 +02:00
Armon Dadgar 05fa151653 nomad: adding merge guard for non-nomad servers 2015-06-04 13:15:46 +02:00
Armon Dadgar e6636262dc nomad: testing bootstrap expect 2015-06-04 13:11:35 +02:00
Armon Dadgar c18c068bf2 nomad: testing remove peer 2015-06-04 13:02:39 +02:00
Armon Dadgar b456588d1c nomad: adding reconcile channel 2015-06-04 12:42:56 +02:00
Armon Dadgar 490fa1b7db nomad: testing serf join 2015-06-04 12:33:12 +02:00
Armon Dadgar 4f6ecce727 nomad: working on serf member parsing 2015-06-03 13:35:48 +02:00
Armon Dadgar a088a302e5 nomad: expose serf methods, add leave support 2015-06-03 13:25:50 +02:00
Armon Dadgar 6ebfa2bed4 nomad: expose serf stats 2015-06-03 13:08:04 +02:00
Armon Dadgar e219bc1e71 nomad: adding Serf integration 2015-06-03 12:58:00 +02:00
Armon Dadgar d52122f041 nomad: more skeleton 2015-06-03 12:26:50 +02:00
Armon Dadgar bad4bfadc4 nomad: embed the state store to reduce duplication 2015-06-03 11:26:49 +02:00
Armon Dadgar 06d0e5f9b1 nomad: adding immutable radix, snapshot support 2015-06-03 11:21:59 +02:00
Armon Dadgar 4c554f14bb nomad: support DevMode configuration 2015-06-01 21:11:40 +02:00
Armon Dadgar 1e7f84f3e6 nomad: adding basic structure for raft 2015-06-01 17:49:10 +02:00