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