Chelsea Komlo
5537516bfd
Merge pull request #2964 from hashicorp/f-autocomplete-api
...
autocomplete api
2017-08-07 12:40:09 -07:00
Chelsea Holland Komlo
d4fc5160b1
code simplifications and logging
2017-08-07 17:28:46 +00:00
Chelsea Holland Komlo
cd0698a87b
max index for any resource, if context is unspecified
2017-08-07 15:07:18 +00:00
Chelsea Holland Komlo
f110fa5c0d
syntax fixups and logging
2017-08-07 14:26:53 +00:00
Chelsea Holland Komlo
1b77f9a216
further refactoring
2017-08-04 22:50:41 +00:00
Chelsea Holland Komlo
424e475333
if no context is specified, set maximum index for available contexts
2017-08-04 20:16:49 +00:00
Chelsea Holland Komlo
0b38704392
fix up tests to intantiate assertion test helper
...
add http tests for remaining contexts
2017-08-04 19:48:20 +00:00
Chelsea Holland Komlo
1eff731d8b
further refactoring
2017-08-04 15:19:35 +00:00
Chelsea Holland Komlo
111019642b
resources are expected by state store to be plural
2017-08-04 15:07:34 +00:00
Chelsea Holland Komlo
927b6667c7
set response index and meta information
...
add tests for edge cases
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
b2b4c5d7af
add documentation
...
extract magic number into variable
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
b6f459a7a9
refactor rpc endpoint and tests
...
add test for when no prefixes are matched
add test for no context at HTTP api
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
7b7a80d6ce
resources list endpoint accepts http POST and PUT
...
set the index for a resources response
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
312bb19e1c
refactor and add error handling for invalid context type
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
98fe705dff
adding allocations to resouces list endpoint
...
adding nodes to resources list endpoint
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
2759ffe2d2
refactor to remove duplication for types of resources
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
0026a308ec
add truncation boolean to response
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
06f10d2e5f
adds evaluations
...
makes context singular
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
92cc40f1de
change resources endpoint from http get to post
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
64a83edd9f
remove resourceliststub, no need for another layer of abstraction
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
5192dacf85
limit resources results to 20
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
197c411767
refactor test helper
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
377b059e5e
remove unnecessary validations; these are tested elsewhere
2017-08-04 14:34:25 +00:00
Chelsea Holland Komlo
4dd6b46198
Retrieve job information for resources endpoint
...
requires further refactoring and logic for more contexts
2017-08-04 14:34:25 +00:00
Alex Dadgar
2284e59b57
Fix double close and cleanup code
2017-08-03 13:40:34 -07:00
Alex Dadgar
146f3f5cb2
Don't restore parameterized periodic jobs
2017-08-03 12:37:58 -07:00
Alex Dadgar
067a638478
Allow template to set Vault grace
...
This PR allows a template to specify the Vault grace duration.
Fixes https://github.com/hashicorp/nomad/issues/2922
2017-08-01 14:14:08 -07:00
Alex Dadgar
2650bb1d12
Distinct Property supports arbitrary limit
...
This PR enhances the distinct_property constraint such that a limit can
be specified in the RTarget/value parameter. This allows constraints
such as:
```
constraint {
distinct_property = "${meta.rack}"
value = "2"
}
```
This restricts any given rack from running more than 2 allocations from
the task group.
Fixes https://github.com/hashicorp/nomad/issues/1146
2017-07-31 16:52:13 -07:00
Michael Schurter
7cbae6e168
Merge pull request #2899 from hashicorp/d-mention-env-in-init
...
Mention env templates in nomad init
2017-07-26 11:17:47 -07:00
Michael Schurter
265e18b8ac
Test for template envvar validation
2017-07-25 20:27:18 -07:00
Alex Dadgar
a9c786a4fe
Make test Vault pick random ports
2017-07-25 17:40:59 -07:00
Alex Dadgar
06eddf243c
parallel nomad tests
2017-07-25 17:39:36 -07:00
Alex Dadgar
8dc8e17c1b
Merge pull request #2907 from hashicorp/b-promote-err
...
Expose FSM errors into deployment watcher and API
2017-07-25 17:31:33 -07:00
Michael Schurter
b1c65ca390
Prevent using env templates with signals
2017-07-25 16:34:41 -07:00
Alex Dadgar
9c655e1208
Validate that min_healthy_time < healthy_deadline
...
This PR adds a validation check to the update stanza to ensure that the
min_healthy_time is feasible.
2017-07-25 16:30:53 -07:00
Alex Dadgar
5e98c3ce95
Expose FSM errors into deployment watcher and API
...
This PR exposes errors returned by the FSM to the deployment watcher and
thus the API. It also adds an error to handle the case of promoting a
deployment that has no eligible canaries.
2017-07-25 16:23:22 -07:00
Alex Dadgar
219ef8a640
parallel deploymentwatcher tests
2017-07-21 19:23:24 -07:00
Alex Dadgar
d3409d10c4
Remove comment
2017-07-21 15:55:43 -07:00
Alex Dadgar
0eaea964ed
Improve shutdown code
2017-07-21 15:44:51 -07:00
Alex Dadgar
15fad96c21
Merge pull request #2868 from hashicorp/f-feedback
...
Variety of UX fixes
2017-07-20 17:43:42 -07:00
Alex Dadgar
39e7a26e5d
Small fixes and UX changes
2017-07-19 13:34:24 -07:00
Alex Dadgar
30efd5a27a
Skip error log on shutdown
...
This PR fixes the detection of a shutdown scenario and squelches the
error log.
2017-07-19 11:15:53 -07:00
Alex Dadgar
e1888e822c
Merge pull request #2841 from hashicorp/b-rolling-no-fit
...
Treat destructive updates atomically
2017-07-19 11:11:25 -07:00
Alex Dadgar
e51bc66680
Shrink dynamic port range
...
This PR shrinks the dynamic port range to not overlap with most
operating systems ephemeral port range: https://en.wikipedia.org/wiki/Ephemeral_port
2017-07-18 13:47:53 -07:00
Alex Dadgar
cb966e550d
fix blocking queries in deployment watcher
2017-07-18 13:02:40 -07:00
Alex Dadgar
22e84d00ab
Fix deep copy of driver config
2017-07-17 17:53:21 -07:00
Alex Dadgar
641e178416
Stop before trying to place
2017-07-17 17:18:12 -07:00
Alex Dadgar
755d20da92
Merge pull request #2830 from hashicorp/b-max-warning
...
Warn instead of error when max_parallel is greater than count.
2017-07-17 15:35:23 -07:00
Alex Dadgar
cd78b99d14
Address feedback
2017-07-17 15:35:14 -07:00
Alex Dadgar
84c2f25e0a
Deployment GC ensures no alloc references
2017-07-17 14:09:59 -07:00
Alex Dadgar
311084c724
Allow the deployment to not exist and just no-op
2017-07-17 14:09:59 -07:00
Alex Dadgar
f91312a49a
Fix typo
2017-07-14 09:53:46 -07:00
Alex Dadgar
7a74080079
Log reason a plan gets rejected per node.
...
This PR adds a log explaining why a plan gets rejected. Should help
debugging.
2017-07-13 17:14:02 -07:00
Alex Dadgar
e71e315950
Fix log line for gc'ing deployments
2017-07-13 15:07:25 -07:00
Alex Dadgar
aa2126cc1a
Warn instead of error when max_parallel is greater than count.
...
Fixes https://github.com/hashicorp/nomad/issues/2819
2017-07-13 13:10:45 -07:00
Alex Dadgar
79ce4bdfc6
Merge pull request #2807 from hashicorp/f-validate-ports
...
Prevent port conflicts
2017-07-07 16:59:18 -07:00
Alex Dadgar
6cde454509
Handle same task reserving ports twice
2017-07-07 16:58:20 -07:00
Alex Dadgar
3ea8b02826
Merge pull request #2808 from hashicorp/b-restore-periodic
...
When restoring periodic jobs, take into consideration launch time zone
2017-07-07 16:51:23 -07:00
Alex Dadgar
f86760db3c
Basic logs
2017-07-07 16:49:08 -07:00
Alex Dadgar
d9b8fd126f
When restoring periodic jobs, take into consideration launch time zone
...
Fixes https://github.com/hashicorp/nomad/issues/2721
2017-07-07 16:18:56 -07:00
Michael Schurter
e2a79d330c
Prevent port conflicts
...
Validate that no two tasks in the same task group can reserve the same
static port.
2017-07-07 16:17:05 -07:00
Michael Schurter
517c799439
Validate job type
...
Fixes #2722
2017-07-07 15:34:26 -07:00
Alex Dadgar
45712c6ca3
test fixes
2017-07-07 14:11:27 -07:00
Alex Dadgar
3a29b38108
Status description shows requiring promotion
2017-07-07 12:12:48 -07:00
Alex Dadgar
ade9a7c768
@jippi Changed my mind! Good suggestion
2017-07-07 12:12:48 -07:00
Alex Dadgar
40b04a5ea9
alloc-list shows version
2017-07-07 12:12:48 -07:00
Alex Dadgar
08bf34f9a3
Fix JobModifyIndex changing when job is marked stable
2017-07-07 12:12:48 -07:00
Alex Dadgar
9f016606aa
Fix some tests, eval monitor shows deployment id and deployment cancels based on version
2017-07-07 12:12:48 -07:00
Alex Dadgar
1cb877699a
Disallow update stanza on batch jobs
...
This PR:
* disallows update stanzas on batch jobs
* undeprecates the stagger field
* changes the way warnings are returned
2017-07-07 12:11:39 -07:00
Alex Dadgar
de54ffd1f6
Deployment from inplace updates tracks placed properly.
2017-07-07 12:10:04 -07:00
Alex Dadgar
bfc22346d5
Return the reverted job version
2017-07-07 12:10:04 -07:00
Alex Dadgar
371b2bdacc
add reverted job version to deployment update response
2017-07-07 12:10:04 -07:00
Alex Dadgar
a7fdc74bd4
feedback
2017-07-07 12:10:04 -07:00
Alex Dadgar
5457bb7962
Job stability
2017-07-07 12:10:04 -07:00
Alex Dadgar
d07a5a2008
Complete deployments mark jobs as stable
...
This PR allows jobs to be marked as stable automatically by a successful
deployment.
2017-07-07 12:10:04 -07:00
Alex Dadgar
454083ba1b
Remove canary
2017-07-07 12:10:04 -07:00
Alex Dadgar
952a22fb02
plan apply tests
2017-07-07 12:10:04 -07:00
Alex Dadgar
477c713df5
Plan apply handles canaries and success is set via update
2017-07-07 12:10:04 -07:00
Alex Dadgar
e229d3650b
Attach eval id
2017-07-07 12:10:04 -07:00
Alex Dadgar
af1935e1e1
Mark complete
2017-07-07 12:10:04 -07:00
Alex Dadgar
c10d7ab871
Remove promoted bit from allocation
2017-07-07 12:10:04 -07:00
Alex Dadgar
09dfa2fc10
Rename CreateDeployments and remove cancelling behavior in state_store
2017-07-07 12:10:04 -07:00
Alex Dadgar
2e2fd26bed
Update index
2017-07-07 12:07:08 -07:00
Alex Dadgar
ecee5e370e
initial watcher
2017-07-07 12:07:08 -07:00
Alex Dadgar
43d2db1c14
Small fixes
2017-07-07 12:07:08 -07:00
Alex Dadgar
e7034691ea
deployment status
2017-07-07 12:07:07 -07:00
Alex Dadgar
57cbbf87f8
deployment list
2017-07-07 12:07:07 -07:00
Alex Dadgar
2471b86dec
Show submit time
2017-07-07 12:07:07 -07:00
Alex Dadgar
95c7a5bcf3
job history
2017-07-07 12:05:57 -07:00
Alex Dadgar
abf34204cc
JobVersions returns struct with optional diff
2017-07-07 12:05:57 -07:00
Alex Dadgar
b64185a3f1
Deployment GC
...
This PR implements the garbage collector for deployments. Deployments
will by default be garbage collected after 1 hour.
2017-07-07 12:05:57 -07:00
Alex Dadgar
c643e6b0d1
Add config options
2017-07-07 12:05:56 -07:00
Alex Dadgar
f233629a4f
job deployment endpoint + api
2017-07-07 12:05:56 -07:00
Alex Dadgar
73325f888f
deployment api
2017-07-07 12:03:11 -07:00
Alex Dadgar
580eed5c88
HTTP Endpoints
2017-07-07 12:03:11 -07:00
Alex Dadgar
dad9e69822
more comment fixes
2017-07-07 12:03:11 -07:00
Alex Dadgar
5fdee898b2
simplify the batcher's timers
2017-07-07 12:03:11 -07:00
Alex Dadgar
7154e4e08f
Remove setters
2017-07-07 12:03:11 -07:00
Alex Dadgar
c189948ad2
comments on watcher
2017-07-07 12:03:11 -07:00
Alex Dadgar
79632d65c1
fix index
2017-07-07 12:03:11 -07:00
Alex Dadgar
8f4b22c1e1
Fix tests
2017-07-07 12:03:11 -07:00
Alex Dadgar
87d187d777
Tests
2017-07-07 12:03:11 -07:00
Alex Dadgar
423e5b45da
FailDeployment
2017-07-07 12:03:11 -07:00
Alex Dadgar
6f821beec4
fix integration slightly
2017-07-07 12:03:11 -07:00
Alex Dadgar
7af65aa3d7
Add watcher to server
2017-07-07 12:03:11 -07:00
Alex Dadgar
3216b44af2
comments
2017-07-07 12:03:11 -07:00
Alex Dadgar
bf52b401a5
batch test
2017-07-07 12:03:11 -07:00
Alex Dadgar
f35a12b47b
Fix unnecessary evals
2017-07-07 12:03:11 -07:00
Alex Dadgar
c52790e448
more tests
2017-07-07 12:03:11 -07:00
Alex Dadgar
b4c8f56570
Deployment watcher tests
2017-07-07 12:03:11 -07:00
Alex Dadgar
013085a62e
Watcher
2017-07-07 12:03:11 -07:00
Alex Dadgar
80dc4d66d8
Deployments list
2017-07-07 12:03:11 -07:00
Alex Dadgar
6688a3f76c
FSM Tests
2017-07-07 12:03:11 -07:00
Alex Dadgar
eec3cefee4
state store tests
2017-07-07 12:03:11 -07:00
Alex Dadgar
d04877d23c
initial impl
2017-07-07 12:03:11 -07:00
Alex Dadgar
3f04bb7f26
SpecChanged doesn't mutate passed job
2017-07-07 12:03:11 -07:00
Alex Dadgar
b2573b01f9
Fix canary handling
2017-07-07 12:03:11 -07:00
Alex Dadgar
7952240d69
Deployment tests
2017-07-07 12:03:11 -07:00
Alex Dadgar
c77944ed29
assign names
2017-07-07 12:03:11 -07:00
Alex Dadgar
e782c4efbe
Plan reuses job where possible
2017-07-07 12:03:11 -07:00
Alex Dadgar
270e26c600
Populate desired state per tg
2017-07-07 12:03:11 -07:00
Alex Dadgar
cf5baba808
handle annotations
2017-07-07 12:03:11 -07:00
Alex Dadgar
d5ea5a16fd
Small cleanup
2017-07-07 12:03:11 -07:00
Alex Dadgar
07b1c3e5db
Only upsert a job if the spec changes and push deployment creation into reconciler
2017-07-07 12:03:11 -07:00
Alex Dadgar
0d42b5d421
initial reconciler
2017-07-07 12:01:17 -07:00
Alex Dadgar
b3f4db0930
cancel deployments
2017-07-07 12:01:17 -07:00
Michael Schurter
0d3bdf7210
Add support for go-getter modes
...
Fixes #2678
2017-07-06 10:45:44 -07:00
Michael Schurter
d8a816ccee
Merge pull request #2750 from hashicorp/b-system-jobs-running
...
System jobs should be running until stopped
2017-07-03 14:47:31 -07:00
Michael Schurter
6e7cc3964e
Merge pull request #2709 from hashicorp/f-advertise-docker-ips
...
Advertise driver-specific addresses
2017-07-03 14:04:12 -07:00
Michael Schurter
8d3e13ab8a
System jobs without evals are running too
2017-07-03 13:48:51 -07:00
Michael Schurter
f7d2a74ddf
System jobs should be running until stopped
...
Prior to this commit they would be marked as dead if they had no
currently running allocations -- even though they would spring back to
life (running) if the cluster state changed such that a new eval+alloc
was created.
2017-06-28 11:39:24 -07:00
Michael Schurter
9c56f70d12
Validate job updates
...
Incurs a local read-before-write but because validation is transitive
there's no need to retry the read-validate-write on concurrent updates.
2017-06-27 16:08:18 -07:00
Michael Schurter
5b59bea67b
Move caonicalization from nomad/structs/ to api/
2017-06-21 17:19:08 -07:00
Michael Schurter
73c696e717
Remove readme
2017-06-21 17:19:08 -07:00
Michael Schurter
8d440b1675
Skip DRIVER env vars for labels without a port mapping
2017-06-21 17:19:08 -07:00
Michael Schurter
c0eff81383
Fix Service.AddressMode changes during task updates
2017-06-21 17:19:08 -07:00
Michael Schurter
b9bfb84b53
Implement DriverNetwork and Service.AddressMode
...
Ideally DriverNetwork would be fully populated in Driver.Prestart, but
Docker doesn't assign the container's IP until you start the container.
However, it's important to setup the port env vars before calling
Driver.Start, so Prestart should populate that.
2017-06-21 17:19:08 -07:00
Michael Schurter
bbcea0dff9
Update consul/api and comment to custom http.Client
2017-05-30 15:11:32 -07:00
Michael Schurter
6f2ecdec27
Update consul/api and fix tls handling
...
Since I was already fixing consul's tls handling in #2645 I decided to
update consul/api and pre-emptively fix our tls handling against the
newest consul/api behavior. consul/api's handling of http.Transports has
improved but would have broken how we handled tls (again).
This would have made for a nasty surprise the next time we updated
consul/api.
2017-05-30 15:11:32 -07:00
Michael Schurter
26ee0e6051
Fix diff test
2017-05-26 17:05:14 -07:00
Michael Schurter
10b6610e56
Functional consul template env file support
2017-05-23 13:45:14 -07:00
Alex Dadgar
4503e2d1f7
Merge pull request #2634 from hashicorp/f-update-block
...
New Update block syntax
2017-05-18 13:29:17 -04:00
Alex Dadgar
6d76fb2f17
Merge branch 'master' of github.com:hashicorp/nomad
2017-05-17 14:46:03 -07:00
Alex Dadgar
ee8dd84965
Fix nil job on allocation
...
The way the copying was happening on the alloc_runner was by temporarily
setting the alloc.Job to nil, copying and then restoring it. This
created an issue in which when the alloc was shared (which it is in
server/client mode and between alloc_runner/task_runner) there were race
conditions that could create a panic.
Fixes https://github.com/hashicorp/nomad/issues/2605
2017-05-17 14:07:06 -04:00
Michael Schurter
06f937bf28
Merge pull request #2591 from hashicorp/b-2180-script-updates
...
Properly interpolate services on updated tasks
2017-05-17 09:09:01 -07:00
Alex Dadgar
d3012f1447
Fix Vault Client panic when given nonexistant role
...
The Vault API returns a nil secret and nil error when reading an object
that doesn't exist. The old code assumed an error would be returned and
thus will panic when trying to validate a non-existant role.
2017-05-16 12:59:58 -04:00
Michael Schurter
a4e2463477
Fix consul.verify_ssl
...
Was getting ignored and would have defaulted to false if it wasn't
ignored.
Now defaults to true as per docs and isn't ignored.
2017-05-15 15:32:32 -07:00
Alex Dadgar
67920c32b5
Merge branch 'master' of github.com:hashicorp/nomad
2017-05-11 14:55:17 -07:00
Alex Dadgar
079a4da7d2
Fix flaky test: TestServer_RPC_MixedTLS
2017-05-11 14:55:12 -07:00
Alex Dadgar
919c50ba5c
Merge branch 'master' into f-update-block
2017-05-11 13:08:31 -07:00