Commit Graph

438 Commits

Author SHA1 Message Date
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