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