Chelsea Holland Komlo
5951222ccb
fix for rpc_upgrade_mode
2017-12-11 19:23:45 -05:00
Alex Dadgar
86608124ca
Fix followers not creating periodic launch
...
Fix an issue in which periodic launches wouldn't be made on followers.
2017-12-11 13:55:17 -08:00
Michael Schurter
2dca0671b7
Lowercase service IDs to prevent eye bleeding
2017-12-08 15:54:04 -08:00
Michael Schurter
0d8995fb83
Improve validation and testing of service/check ports
2017-12-08 13:52:23 -08:00
Michael Schurter
d613e0aaf5
Move service hash logic to Service.Hash method
2017-12-08 12:03:43 -08:00
Michael Schurter
b71edf846f
Hash fields used in task service IDs
...
Fixes #3620
Previously we concatenated tags into task service IDs. This could break
deregistration of tag names that contained double //s like some Fabio
tags.
This change breaks service ID backward compatibility so on upgrade all
users services and checks will be removed and re-added with new IDs.
This change has the side effect of including all service fields in the
ID's hash, so we no longer have to track PortLabel and AddressMode
changes independently.
2017-12-08 12:03:43 -08:00
Michael Schurter
af8964e896
Improve port label validation and diff testing
2017-12-08 12:03:43 -08:00
Michael Schurter
4ae115dc59
Allow custom ports for services and checks
...
Fixes #3380
Adds address_mode to checks (but no auto) and allows services and checks
to set literal port numbers when using address_mode=driver.
This allows SDNs, overlays, etc to advertise internal and host addresses
as well as do checks against either.
2017-12-08 12:03:00 -08:00
Chelsea Holland Komlo
3f231a0856
add test for kill signal in required signals
...
update changelog
2017-12-07 11:40:15 -05:00
Chelsea Holland Komlo
b08611cfac
move kill_signal to task level, extend to docker
2017-12-06 14:36:39 -05:00
Thomas Bartelmess
9acfa166c0
Changed Superset to only return the resource name
...
The Superset method on Resources used to return a string in the format of “[resource name] exhausted”.
This was leading to the output in plan/create job API DimensionExhausted to return keys like
```
"DimensionExhausted": {"cpu exhausted": 1}
```
This was not anywhere documented, however, one of the examples on the website showed it like this.
The other side effect of this is that the CLI formats the strings from the name of the key leading to output like
```
* Dimension "cpu exhausted" exhausted on 1 nodes
```
2017-11-28 23:16:08 -05:00
Thomas Bartelmess
60e4c777ac
Fixed error messges for MeetsMinResources
2017-11-28 19:44:33 -05:00
Preetha
ff23499145
Shorter comment for SetEventDisplayMessage
2017-11-18 09:30:50 -06:00
Preetha Appan
3592635ede
Populate DisplayMessage in various http endpoints that return allocations, plus unit tests.
2017-11-17 14:53:26 -06:00
Preetha Appan
1c4375163a
Change error message to use original name for clarity, rather than the name after substituting env vars with placeholder.
2017-11-17 08:44:18 -06:00
Preetha Appan
d3110f21bd
Changes service name validation logic to ignore any environment variables first.
2017-11-15 15:35:43 -06:00
Chelsea Komlo
2dfda33703
Nomad agent reload TLS configuration on SIGHUP ( #3479 )
...
* Allow server TLS configuration to be reloaded via SIGHUP
* dynamic tls reloading for nomad agents
* code cleanup and refactoring
* ensure keyloader is initialized, add comments
* allow downgrading from TLS
* initalize keyloader if necessary
* integration test for tls reload
* fix up test to assert success on reloaded TLS configuration
* failure in loading a new TLS config should remain at current
Reload only the config if agent is already using TLS
* reload agent configuration before specific server/client
lock keyloader before loading/caching a new certificate
* introduce a get-or-set method for keyloader
* fixups from code review
* fix up linting errors
* fixups from code review
* add lock for config updates; improve copy of tls config
* GetCertificate only reloads certificates dynamically for the server
* config updates/copies should be on agent
* improve http integration test
* simplify agent reloading storing a local copy of config
* reuse the same keyloader when reloading
* Test that server and client get reloaded but keep keyloader
* Keyloader exposes GetClientCertificate as well for outgoing connections
* Fix spelling
* correct changelog style
2017-11-14 17:53:23 -08:00
Preetha
0e6484a397
Merge pull request #3536 from angrycub/b-resource-memory-test-fix
...
Fixed test and moved constants into standalone func
2017-11-13 17:00:14 -06:00
Charlie Voiselle
eda764c0ca
Review feedback + re-add dropped import
2017-11-13 12:51:19 -05:00
Charlie Voiselle
4b186861a9
gofmt and goimports nomad/structs/structs.go
2017-11-13 12:32:52 -05:00
Preetha Appan
be5fd87b9a
Fixes bug with display message logic due to deprecating GenericSource. Also added more test cases to cover a bunch more edge cases
2017-11-13 11:14:57 -06:00
Charlie Voiselle
26acd7f025
Fixed test and moved constants into standalone func
...
In #3520 , work was done to true up the defaults for Nomad resource
stanzas with the documentation. This fixes the tests that I
accidentally broke in the process. Some questions were raised about
using dynamic elements as part of expects, which is why I opted to
copy the MinResources pattern. During this refactor I also noticed
that structs.go had a similar issue and an inconsistent minium for CPU.
2017-11-13 12:05:30 -05:00
Preetha
0d0804d6ff
Merge pull request #3496 from hashicorp/b-auto-revert-stable
...
Makes auto reverts robust against infinite revert cycles
2017-11-03 17:28:28 -05:00
Preetha Appan
7526853b4b
Added more unit tests for testing rollback when job has identical spec to AllocHealth and DeploymentStatus endpoints.
2017-11-03 16:07:06 -05:00
Preetha Appan
317fbf04b1
Adds SpecChanged check to alloc health and fail deployment end points, and other code review comments.
2017-11-03 15:33:34 -05:00
Preetha Appan
0eaef09675
Remove event GenericSource, and address other code review comments. Also added deprecation info in comments.
2017-11-03 10:10:06 -05:00
Preetha Appan
b86c5a99b1
Unit test for PopulateEventDisplayMessage
2017-11-03 09:13:01 -05:00
Preetha Appan
7672535290
Added explanatory comment
2017-11-03 09:13:01 -05:00
Preetha Appan
5f09c968b3
Move logic for determinic event display message to task_runner, added two new fields DisplayMessage and Details.
2017-11-03 09:13:01 -05:00
Preetha Appan
5505391663
Fixes auto revert to check if the job's spec has changed before reverting. This prevents infinite reverting when reverting to a job version that was previously stable, but not so after attempting a revert.
2017-11-02 19:53:27 -05:00
Chelsea Holland Komlo
e348deecf5
fixups from code review
2017-11-01 15:21:05 -05:00
Chelsea Holland Komlo
afe9f9a714
add rpc_upgrade_mode as config option for tls upgrades
2017-11-01 15:19:52 -05:00
Preetha Appan
39d70be009
Add ModifyTime to Allocation and update it both on plan applies and client initiated updates
2017-11-01 15:13:48 -05:00
Alex Dadgar
51c87ec858
bump version and remove generated
2017-11-01 10:02:25 -07:00
Alex Dadgar
11c24e90a1
generated
2017-11-01 09:42:18 -07:00
Alex Dadgar
51f869040f
remove generated structs
2017-10-31 13:50:16 -07:00
Alex Dadgar
593d4ceb45
generated code
2017-10-25 17:34:24 -07:00
Alex Dadgar
ae6be0dac7
spelling mistake
2017-10-23 15:12:45 -07:00
Alex Dadgar
d3e119f4d0
thread leader token through core gc and test
2017-10-23 15:04:00 -07:00
Alex Dadgar
e7299676f6
generated
2017-10-19 15:20:39 -07:00
Alex Dadgar
c1cc51dbee
sync
2017-10-13 14:36:02 -07:00
Michael Schurter
84d8a51be1
SecretID -> AuthToken
2017-10-12 15:16:33 -07:00
Alex Dadgar
d34c6e0135
fix test
2017-10-11 18:08:37 -07:00
Alex Dadgar
53f2ea88a5
Small fixes
...
This commit:
* Fixes the error checking in migration tests now that we are using the
canonical ErrPermissionDenied error
* Guard against NPE when looking up objects to generate the migration
token
* Handle an additional case in ShouldMigrate()
2017-10-11 17:13:50 -07:00
Chelsea Holland Komlo
c67bfc2ee4
fixups from code review
...
change creation of a migrate token to be for a previous allocation
2017-10-11 17:13:50 -07:00
Chelsea Holland Komlo
36ad6bc6bf
add MigrateTokens to server response for allocs
2017-10-11 17:09:20 -07:00
Michael Schurter
efcc61a253
Merge pull request #3302 from hashicorp/b-remove-structs-from-api
...
Remove `structs` import from `api`
2017-09-29 11:39:43 -07:00
Michael Schurter
a66c53d45a
Remove structs
import from api
...
Goes a step further and removes structs import from api's tests as well
by moving GenerateUUID to its own package.
2017-09-29 10:36:08 -07:00
Michael Schurter
0e0ea82916
Test Check.Header add/removes
2017-09-28 17:08:43 -07:00
Alex Dadgar
fe491421a3
Fix empty map
2017-09-28 16:15:04 -07:00
Michael Schurter
f9b66cbb60
Diff CheckRestart objects
2017-09-28 14:06:18 -07:00
Alex Dadgar
4173834231
Enable more linters
2017-09-26 15:26:33 -07:00
Alex Dadgar
e5ec915ac3
sync
2017-09-19 10:08:23 -05:00
Michael Schurter
c98b79dcb4
Test CheckRestart.Validate
2017-09-15 15:12:47 -07:00
Michael Schurter
573a0df03d
Watched -> TriggersRestart
...
Watched was a silly name
2017-09-14 16:48:39 -07:00
Michael Schurter
d299d42089
Canonicalize and Merge CheckRestart in api
2017-09-14 16:48:39 -07:00
Michael Schurter
ade29ecbed
Improve check watcher logging and add tests
...
Also expose a mock Consul Agent to allow testing ServiceClient and
checkWatcher from TaskRunner without actually talking to a real Consul.
2017-09-14 16:47:41 -07:00
Michael Schurter
a180c00fc3
on_warning=false -> ignore_warnings=false
...
Treat warnings as unhealthy by default
2017-09-14 16:46:54 -07:00
Michael Schurter
22690c5f4c
Add check watcher for restarting unhealthy tasks
2017-09-14 16:46:54 -07:00
Michael Schurter
b35d208428
Nest restart fields in CheckRestart
2017-09-14 16:46:54 -07:00
Michael Schurter
bf34505509
Add restart fields
2017-09-14 16:46:54 -07:00
Alex Dadgar
3904bde9a3
Fix batch handling of complete allocs/node drains
...
This PR fixes:
* An issue in which a node-drain that contains a complete batch alloc
would cause a replacement
* An issue in which allocations with the same name during a scale
down/stop event wouldn't be properly stopped.
* An issue in which batch allocations from previous job versions may not
have been stopped properly.
Fixes https://github.com/hashicorp/nomad/issues/3210
2017-09-14 15:08:57 -07:00
Alex Dadgar
6911bd7676
Worker waits til max ModifyIndex across EvalsByJob
...
This PR fixes a scheduling race condition in which the plan results from
one invocation of the scheduler were not being considered by the next
since the Worker was not waiting for the correct index.
Fixes https://github.com/hashicorp/nomad/issues/3198
2017-09-14 14:28:43 -07:00
Alex Dadgar
9b997d2670
fix multierror merge
2017-09-13 21:48:52 -07:00
Alex Dadgar
a2363e7583
sync acls
2017-09-13 11:38:29 -07:00
Alex Dadgar
5aa8f1a82e
pass in uid to codecgen
2017-09-11 15:40:27 -07:00
Armon Dadgar
20a8e590a0
nomad: support ACL bootstrap reset
2017-09-10 16:03:30 -07:00
Alex Dadgar
84d06f6abe
Sync namespace changes
2017-09-07 17:04:21 -07:00
Armon Dadgar
1c7fb1bfbb
Remove generated structs
2017-09-04 13:33:37 -07:00
Armon Dadgar
97404e3f8c
nomad: compute hash for ACL policies and tokens
2017-09-04 13:09:34 -07:00
Armon Dadgar
ac6283c31f
nomad: enforce ACLs on job submit
2017-09-04 13:05:53 -07:00
Armon Dadgar
387a8a923b
nomad: adding policy subset check
2017-09-04 13:05:53 -07:00
Armon Dadgar
ddcc5f89bc
Add ErrPermissionDenied, rename TokenNotFound
2017-09-04 13:05:53 -07:00
Armon Dadgar
304a02d93b
nomad: Add SecretID to QueryOptions and WriteMeta
2017-09-04 13:05:53 -07:00
Armon Dadgar
e24a4abf2c
nomad: adding ACL bootstrap endpoints
2017-09-04 13:05:53 -07:00
Armon Dadgar
76a03f2d8e
Address @dadgar feedback
2017-09-04 13:05:53 -07:00
Armon Dadgar
e7586a80df
nomad: Switch from SHA1 to Blake2 @chelseakomlo
2017-09-04 13:05:36 -07:00
Armon Dadgar
fc23a4e7e5
structs: sort policies to avoid order dependence for caching
2017-09-04 13:05:36 -07:00
Armon Dadgar
edc38185cc
noamd: Adding batch fetch endpoints for ACL tokens and policies
2017-09-04 13:05:36 -07:00
Armon Dadgar
6a9d4e2dc3
nomad: Adding token resolution endpoint
2017-09-04 13:05:36 -07:00
Armon Dadgar
98e0f98f7e
structs: Adding ACL compilation helper
2017-09-04 13:05:35 -07:00
Armon Dadgar
583e654246
structs: cache key helper for policy list
2017-09-04 13:05:35 -07:00
Armon Dadgar
99cea1ac23
Moving shared ACL objects
2017-09-04 13:04:45 -07:00
Armon Dadgar
583a11cebd
nomad: Adding ability to filter list of tokens to global only
2017-09-04 13:04:45 -07:00
Armon Dadgar
30b607987e
nomad: generate accessor/secret ID server side
2017-09-04 13:04:45 -07:00
Armon Dadgar
bd2db18c80
agent: Adding HTTP endpoints for ACL tokens
2017-09-04 13:04:45 -07:00
Armon Dadgar
e5c69f162c
nomad: implement ACL token endpoints
2017-09-04 13:04:45 -07:00
Armon Dadgar
e9c583807a
nomad: adding ACLToken struct
2017-09-04 13:04:45 -07:00
Armon Dadgar
3702587667
nomad: Adding Validate for ACLPolicy
2017-09-04 13:04:44 -07:00
Armon Dadgar
d52e099fc2
Addressing @dadgar feedback
2017-09-04 13:03:15 -07:00
Armon Dadgar
afdde24799
nomad: adding upsert policy endpoint
2017-09-04 13:03:15 -07:00
Armon Dadgar
e3e243f433
nomad: implement policy delete endpoint
2017-09-04 13:03:15 -07:00
Armon Dadgar
e4f5f305ea
nomad: adding Get/List endpoints for ACL policies
2017-09-04 13:03:15 -07:00
Armon Dadgar
4cb544e8f3
nomad: Adding CRUD to state store for ACL Policies
2017-09-04 13:03:14 -07:00
Alex Dadgar
be72602616
Allow distinct_host to have L/RTarget set
...
This PR removes validation that could break job backwards compatibility.
The targets are ignored so there is no side effects.
Fixes https://github.com/hashicorp/nomad/issues/3130
2017-08-30 10:30:01 -07:00
Michael Schurter
28e9fa73f6
Welcome to the brave new world
...
Committing generated code to help ensure reproducible builds.
2017-08-28 15:51:18 -07:00
Alex Dadgar
e6bf8f8e75
Merge pull request #3081 from clinta/maxparallel0
...
If MaxParallel == 0 default limit to count
2017-08-28 12:42:50 -07:00
Alex Dadgar
cff1c5ca08
Merge pull request #3107 from hashicorp/b-migrate-context-all
...
All context should use string context "all"
2017-08-28 12:38:54 -07:00
Chelsea Holland Komlo
6243690899
migrate all context
2017-08-28 05:29:38 +00:00
Alex Dadgar
7ce6c4f6f6
Add QueryOptions to SearchRequest
2017-08-26 15:56:13 -07:00
Clint Armstrong
dc8eab6adc
Set MaxParallel default to 1
2017-08-25 07:56:40 -04:00
Alex Dadgar
422332c8bf
Merge pull request #3002 from jrasell/gh_2993
...
Add the Nomad agent version to the node-status CLI output.
2017-08-22 10:43:25 -07:00
Chelsea Komlo
49542712f9
Merge pull request #3068 from hashicorp/f-add-deployments-search-api
...
Add deployments to search api
2017-08-21 16:34:00 -04:00
Chelsea Holland Komlo
50c20b1801
add deployments to search api
2017-08-21 15:20:55 +00:00
Michael Schurter
c5529bdd16
Put header diff in its own function
2017-08-17 16:49:14 -07:00
Michael Schurter
9a466bcf5e
Add diff support for ServiceCheck.Header
2017-08-17 16:49:14 -07:00
Michael Schurter
bb8d5689d8
Add Header and Method support for HTTP checks
2017-08-17 16:44:21 -07:00
Michael Schurter
8fdd58f55e
Fix ShutdownDelay diff test
2017-08-17 14:05:51 -07:00
Michael Schurter
d529b422b2
Add optional shutdown delay to tasks
...
Fixes #2441
Defaults to 0 (no delay) for backward compat and because this feature
should be opt-in.
2017-08-16 17:59:46 -07:00
James Rasell
0d120228ea
Updates based on feedback provided by dadgar.
2017-08-16 22:19:31 +01:00
Alex Dadgar
fdb8df4a55
Merge pull request #3024 from hashicorp/f-no-revert-target
...
Deployment desc when no stable job and autorevert
2017-08-15 12:24:09 -07:00
Chelsea Komlo
b9f189495a
Merge pull request #2995 from hashicorp/f-allocation-autocomplete
...
Allocation autocomplete, client api
2017-08-14 15:26:39 -04:00
Chelsea Holland Komlo
e658d4daaa
fixups from code review
2017-08-14 17:56:03 +00:00
Chelsea Holland Komlo
69c2b7e308
context constants should be in both api and structs pkg
2017-08-14 17:38:10 +00:00
Chelsea Holland Komlo
9bc48a01a6
using contexts constants in replace of string contexts
...
fix up endpoints
2017-08-14 17:38:10 +00:00
Chelsea Holland Komlo
465c4d7082
change endpoint to /v1/search
2017-08-14 17:38:10 +00:00
Chelsea Holland Komlo
b7736c8b4a
update comments
...
refactor for simplicity
2017-08-14 17:36:14 +00:00
Chelsea Holland Komlo
5ee58a391b
rename to cluster search
...
comment updates
2017-08-14 17:36:14 +00:00
Michael Schurter
b1731d90df
Fix timeout validation for script checks
...
It appears this was disabled a year ago when defaulting and validation
code was probably different: 91bbc5c3c769f4f17134dbc603ec677a178a9e9e
Fixes an issue reported via the mailing list:
https://groups.google.com/d/msg/nomad-tool/yiPCTfOpYn4/yv7MMPUABQAJ
2017-08-14 10:23:52 -07:00
Alex Dadgar
f64b05a001
Deployment desc when no stable job and autorevert
...
This PR adds a specialized description when the job has autorevert set
and there is no job to revert to.
2017-08-12 15:50:51 -07:00
Alex Dadgar
6b238edc22
Merge pull request #3001 from hashicorp/f-template-events
...
Template emits events explaining why it is blocked
2017-08-10 13:00:58 -07:00
“James
d6d721d7c1
Add the Nomad agent version to the node-status CLI putput.
2017-08-10 08:27:26 +01:00
Alex Dadgar
4a88c4133d
Fix broken Template Diff Test
2017-08-08 11:09:27 -07:00
Alex Dadgar
aba107be99
Merge pull request #2979 from lfarnell/cleanup
...
Code cleanup
2017-08-08 10:21:15 -07:00
Alex Dadgar
4f6f6a13c8
Emit generic task events
2017-08-07 21:26:04 -07:00
Alex Dadgar
79d25b7db9
Merge pull request #2947 from hashicorp/f-vault-grace
...
Allow template to set Vault grace
2017-08-07 16:29:53 -07:00
Luke Farnell
f0ced87b95
fixed all spelling mistakes for goreport
2017-08-07 17:13:05 -04: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
1eff731d8b
further refactoring
2017-08-04 15:19:35 +00:00
Chelsea Holland Komlo
b2b4c5d7af
add documentation
...
extract magic number into variable
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
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
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
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
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
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
cd78b99d14
Address feedback
2017-07-17 15:35:14 -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
f86760db3c
Basic logs
2017-07-07 16:49:08 -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
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
371b2bdacc
add reverted job version to deployment update response
2017-07-07 12:10:04 -07:00
Alex Dadgar
5457bb7962
Job stability
2017-07-07 12:10:04 -07:00
Alex Dadgar
454083ba1b
Remove canary
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
ecee5e370e
initial watcher
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
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
73325f888f
deployment api
2017-07-07 12:03:11 -07:00
Alex Dadgar
c189948ad2
comments on watcher
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
c52790e448
more 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
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
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
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
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
919c50ba5c
Merge branch 'master' into f-update-block
2017-05-11 13:08:31 -07:00
Alex Dadgar
9a4dd71b6f
Merge pull request #2621 from hashicorp/f-deployments
...
Deployment object and new Plan Apply FSM codepath
2017-05-11 13:08:19 -07:00
Alex Dadgar
83f5e65aae
Plan allows updating the status of deployments
2017-05-11 12:49:04 -07:00
Alex Dadgar
9a576bafd1
Use a detected struct to hold deployment status for an allocation
2017-05-11 11:09:29 -07:00
Alex Dadgar
71788faacd
Easy feedback fixes
2017-05-10 15:26:00 -07:00
Alex Dadgar
3a53bdb669
API defaults use structs default
2017-05-10 13:51:52 -07:00
Alex Dadgar
50eec3ef35
handle upgrading old update block syntax
2017-05-10 13:48:53 -07:00
Alex Dadgar
6232b66ea7
Thread through warnings about deprecations
2017-05-09 20:52:47 -07:00
Alex Dadgar
ba70cc4f01
Merge branch 'master' into f-bolt-db
2017-05-09 11:11:55 -07:00
Alex Dadgar
10b040aea3
New update block; still need to handle the upgrade path
2017-05-08 17:44:26 -07:00
Michael Schurter
85210eb92f
Update consul/api to support unix socket addrs
...
Fixes #2594
2017-05-08 11:57:04 -07:00
Alex Dadgar
7078d563cb
Create Deployments through plan application
2017-05-05 15:33:19 -07:00
Alex Dadgar
343ff03f02
Deployment struct, state store, fsm persist/restore
2017-05-04 13:37:18 -07:00
Alex Dadgar
e65dca8746
Structs
2017-05-04 13:37:17 -07:00
Michael Schurter
b6e97d8523
Merge pull request #2587 from weargoggles/patch-1
...
Verification options for TLS
2017-05-02 10:36:41 -07:00
Alex Dadgar
bddedd7aba
Don't deepcopy job when retrieving copy of Alloc
...
This PR removes deepcopying of the job attached to the allocation in the
alloc runner. This operation is called very often so removing reflect
from the code path and the potentially large number of mallocs need to
create a job reduced memory and cpu pressure.
2017-05-01 14:50:34 -07:00
Alex Dadgar
b67c40f717
Proper denormalization in optimistic state store
2017-05-01 14:49:57 -07:00
Pete Wildsmith
1b8a1614ca
reduce to one configuration option
...
There should be just one option, verify_https_client, which
controls incoming and outgoing validation for the HTTPS wrapper
2017-04-28 10:45:09 +01:00
Michael Schurter
cafefa049b
Properly interpolate services on updated tasks
...
Previously was interpolating the original task's services again.
Fixes #2180
Also fixes a slight memory leak in the new consul agent. Script check
handles weren't being deleted after cancellation.
2017-04-26 11:22:01 -07:00
Pete Wildsmith
c948d2ee27
apply gofmt
2017-04-26 18:58:19 +01:00
Pete Wildsmith
56b122c501
Add verification options to TLS config struct
2017-04-25 23:29:43 +01:00
Alex Dadgar
ac5d65704f
Structs
2017-04-20 11:14:06 -07:00
Michael Schurter
5c621980da
Fix diff test + bonus upgrade to subtests
2017-04-19 12:42:48 -07:00
Michael Schurter
947e31e9c2
Only register HTTPS agent check when Consul>=0.7.2
...
Support for TLSSkipVerify in other checks coming soon!
2017-04-19 12:42:48 -07:00
Alex Dadgar
5a2449d236
Respond to review comments
2017-04-19 10:54:03 -07:00
Alex Dadgar
e7b128271f
Diff code fixes
2017-04-16 16:54:40 -07:00
Alex Dadgar
7b3f3f80fb
Status shows type of job
2017-04-15 17:08:05 -07:00
Alex Dadgar
3145086a42
non-purge deregisters
2017-04-15 17:08:05 -07:00
Alex Dadgar
7abcdff7fd
GetJobVersions server endpoint
2017-04-15 17:08:05 -07:00
Alex Dadgar
fda44689b7
Histories -> Versions
2017-04-15 17:08:05 -07:00
Alex Dadgar
f97664512b
Upsert Job Histories
2017-04-15 17:08:05 -07:00
Alex Dadgar
8aec604e3f
Easy feedback fixes
2017-04-14 13:19:14 -07:00
Alex Dadgar
df7d59051f
Reaping failed evaluations creates follow up eval
...
Create a follow up evaluation when reaping failed evaluations. This
ensures that a job will still make eventual progress.
2017-04-12 14:47:59 -07:00
Alex Dadgar
81b78f77e1
Track task start/finish time & improve logs errors
...
This PR adds tracking to when a task starts and finishes and the logs
API takes advantage of this and returns better errors when asking for
logs that do not exist.
2017-03-31 16:14:11 -07:00
Michael Schurter
2d07b75308
Recoverable struct field must be exported
2017-03-28 12:18:57 -07:00
Michael Schurter
507862ade3
Add WrapRecoverable helper
2017-03-27 15:37:15 -07:00
Michael Schurter
0e6c564406
Improve artifact download error message
...
Fixes #2289
Unfortunately took more RecoverableError hijinx than I would have liked.
There might be a better way.
2017-03-24 15:26:05 -07:00
Alex Dadgar
3b323603b5
Fix diff alignment and remove no change DC
...
Old Output:
```
+/- Job: "example"
Datacenters {
Datacenters: "dc1"
}
+/- Task Group: "cache" (1 create/destroy update)
+/- RestartPolicy {
+/- Attempts: "10" => "9"
Delay: "25000000000"
Interval: "300000000000"
Mode: "delay"
}
+/- EphemeralDisk {
Migrate: "false"
+/- SizeMB: "300" => "301"
Sticky: "false"
}
+/- Task: "redis" (forces create/destroy update)
+ Meta[key]: "value"
+/- Config {
image: "redis:3.2"
+/- port_map[0][db]: "6379" => "6380"
}
+/- Resources {
CPU: "500"
DiskMB: "0"
IOPS: "0"
+/- MemoryMB: "256" => "257"
}
+/- Service {
Name: "global-redis-check"
PortLabel: "db"
+/- Check {
Command: ""
InitialStatus: ""
Interval: "10000000000"
Name: "alive"
Path: ""
PortLabel: ""
Protocol: ""
+/- Timeout: "2000000000" => "3000000000"
Type: "tcp"
}
}
```
New Output:
```
+/- Job: "example"
+/- Task Group: "cache" (1 create/destroy update)
+/- RestartPolicy {
+/- Attempts: "10" => "9"
Delay: "25000000000"
Interval: "300000000000"
Mode: "delay"
}
+/- EphemeralDisk {
Migrate: "false"
+/- SizeMB: "300" => "301"
Sticky: "false"
}
+/- Task: "redis" (forces create/destroy update)
+ Meta[key]: "value"
+/- Config {
image: "redis:3.2"
+/- port_map[0][db]: "6379" => "6380"
}
+/- Resources {
CPU: "500"
DiskMB: "0"
IOPS: "0"
+/- MemoryMB: "256" => "257"
}
+/- Service {
Name: "global-redis-check"
PortLabel: "db"
+/- Check {
Command: ""
InitialStatus: ""
Interval: "10000000000"
Name: "alive"
Path: ""
PortLabel: ""
Protocol: ""
+/- Timeout: "2000000000" => "3000000000"
Type: "tcp"
}
}
```
2017-03-21 11:42:10 -07:00
Alex Dadgar
df9ce2680b
Fix output alignment and remove no-change DC
...
Old Output:
```
+/- Job: "example"
Datacenters {
Datacenters: "dc1"
}
+/- Task Group: "cache" (1 create/destroy update)
+/- RestartPolicy {
+/- Attempts: "10" => "9"
Delay: "25000000000"
Interval: "300000000000"
Mode: "delay"
}
+/- EphemeralDisk {
Migrate: "false"
+/- SizeMB: "300" => "301"
Sticky: "false"
}
+/- Task: "redis" (forces create/destroy update)
+ Meta[key]: "value"
+/- Config {
image: "redis:3.2"
+/- port_map[0][db]: "6379" => "6380"
}
+/- Resources {
CPU: "500"
DiskMB: "0"
IOPS: "0"
+/- MemoryMB: "256" => "257"
}
+/- Service {
Name: "global-redis-check"
PortLabel: "db"
+/- Check {
Command: ""
InitialStatus: ""
Interval: "10000000000"
Name: "alive"
Path: ""
PortLabel: ""
Protocol: ""
+/- Timeout: "2000000000" => "3000000000"
Type: "tcp"
}
}
```
New Output:
```
+/- Job: "example"
+/- Task Group: "cache" (1 create/destroy update)
+/- RestartPolicy {
+/- Attempts: "10" => "9"
Delay: "25000000000"
Interval: "300000000000"
Mode: "delay"
}
+/- EphemeralDisk {
Migrate: "false"
+/- SizeMB: "300" => "301"
Sticky: "false"
}
+/- Task: "redis" (forces create/destroy update)
+ Meta[key]: "value"
+/- Config {
image: "redis:3.2"
+/- port_map[0][db]: "6379" => "6380"
}
+/- Resources {
CPU: "500"
DiskMB: "0"
IOPS: "0"
+/- MemoryMB: "256" => "257"
}
+/- Service {
Name: "global-redis-check"
PortLabel: "db"
+/- Check {
Command: ""
InitialStatus: ""
Interval: "10000000000"
Name: "alive"
Path: ""
PortLabel: ""
Protocol: ""
+/- Timeout: "2000000000" => "3000000000"
Type: "tcp"
}
}
```
2017-03-21 11:31:06 -07:00
Alex Dadgar
56ac0970b4
validation errors
2017-03-11 16:23:24 -08:00
Alex Dadgar
33263ca085
Merge pull request #2418 from hashicorp/f-distinct-property
...
`distinct_property` constraint
2017-03-09 22:15:52 -08:00
Alex Dadgar
9011a7984c
Add metrics to show allocations on the client
...
This PR adds the following metrics to the client:
client.allocations.migrating
client.allocations.blocked
client.allocations.pending
client.allocations.running
client.allocations.terminal
Also adds some missing fields to the API version of the evaluation.
2017-03-09 12:37:41 -08:00
Ben Barnard
abefe537ba
Correct error message re length of service name
...
The error message had an off-by-one error :)
2017-03-08 15:12:30 +01:00
Alex Dadgar
d83a8fe9f2
Unoptimized implementation + testing
2017-03-07 14:48:54 -08:00
Alex Dadgar
3b9bdfef1c
Make validate work without a Nomad agent
2017-03-03 15:02:03 -08:00
Alex Dadgar
5be806a3df
Fix vet script and fix vet problems
...
This PR fixes our vet script and fixes all the missed vet changes.
It also fixes pointers being printed in `nomad stop <job>` and `nomad
node-status <node>`.
2017-02-27 16:00:19 -08:00
Alex Dadgar
c71cd02edf
Fix typo
2017-02-27 11:40:24 -08:00
Alex Dadgar
6936c81720
Merge pull request #2302 from hashicorp/f-task-state-setup
...
Adding a task event for setup
2017-02-22 18:42:57 -08:00
Alex Dadgar
d2cbbac76e
Merge pull request #2347 from hashicorp/b-parse
...
Remove defaulting from parse and fix tests
2017-02-22 18:42:43 -08:00
Diptanu Choudhury
98921575af
Adding a task event for setup
2017-02-22 18:28:07 -08:00
Alex Dadgar
eae24d7d3f
Fix flakey test TestNetworkIndex_AssignNetwork_Dynamic_Contention
2017-02-22 15:58:21 -08:00
Alex Dadgar
556fb2562f
Remove defaulting from parse and fix parser tests
...
This PR removes defaulting from the parse, fixes some regressions that
existed as part of the parser refactor and fixes the tests.
2017-02-22 12:30:05 -08:00
Alex Dadgar
b49fceb491
rebase
2017-02-20 16:43:28 -08:00
Alex Dadgar
b67c59f03c
Merge branch 'master' into refactor-parser
2017-02-20 15:13:21 -08:00
Alex Dadgar
b2ee70472d
Merge pull request #2331 from hashicorp/b-dispatch-response
...
swap structs
2017-02-17 11:44:19 -08:00
Alex Dadgar
e06056fa82
swap structs
2017-02-17 11:43:14 -08:00
Alex Dadgar
733038bc6c
Remove panic
2017-02-17 11:21:49 -08:00
Diptanu Choudhury
7567209857
Making the job spec return api.Job
2017-02-16 13:52:39 -08:00
Alex Dadgar
471d63d5ff
Fix diff
2017-02-15 15:23:29 -08:00
Alex Dadgar
7e918003ba
Allow specification of timezones
2017-02-15 14:37:06 -08:00
Alex Dadgar
dbc4eac936
Merge pull request #2309 from hashicorp/f-no-root-token
...
Disallow root policy from being specified
2017-02-14 11:06:31 -08:00
Alex Dadgar
b6357f96c5
Merge pull request #2308 from hashicorp/f-leader-task
...
Leader task
2017-02-14 11:03:32 -08:00
Alex Dadgar
89fea63a53
Merge pull request #2305 from hashicorp/f-operator
...
Add nomad operator command for interacting with Raft configuration
2017-02-14 11:01:41 -08:00
Alex Dadgar
7d158a5a7f
Validate the interval within a restart policy
...
This PR ensures that the interval specified is not less than 5 seconds.
Fixes https://github.com/hashicorp/nomad/issues/2286
2017-02-13 15:27:36 -08:00
Alex Dadgar
96c17714cf
Fix test
2017-02-13 14:31:22 -08:00
Alex Dadgar
0b2e2971fd
Disallow root policy from being specified
...
This PR disallows the specification of a root policy by a Nomad task.
2017-02-13 10:51:29 -08:00
Alex Dadgar
238b4bcafd
Add Leader support to client
2017-02-10 17:55:19 -08:00
Alex Dadgar
3ba8faeae3
Add leader task to api and server side
2017-02-10 16:57:47 -08:00
Alex Dadgar
2d4d9b79d8
Operator command/endpoint/documentation
2017-02-09 18:04:46 -08:00
Alex Dadgar
b951b84b44
Merge pull request #2278 from hashicorp/b-consul-merge
...
Fix Consul Config Merging/Copying
2017-02-02 11:39:26 -08:00
Alex Dadgar
7fae2d2cea
Fix Consul Config Merging/Copying
...
This PR fixes config merging/copying code.
Fixes https://github.com/hashicorp/nomad/issues/2264
2017-02-02 11:12:07 -08:00
Alex Dadgar
b40f284bd1
Merge branch 'master' into f-permissions
2017-02-01 16:57:46 -08:00
Alex Dadgar
9c75ec7f57
Add role to merge test
2017-02-01 16:37:08 -08:00
Alex Dadgar
6b7efa1ba6
Template destination file permissions.
...
This PR allows setting the file permissions of the rendered template.
2017-01-31 20:10:01 -08:00
taylorchu
fd34c03d47
TWEAK: remove else block in tls handling
2017-01-26 14:03:32 -08:00
Alex Dadgar
d00355e8d3
Merge branch 'master' into TC_fix_verify_ssl
2017-01-26 13:33:10 -08:00
Alex Dadgar
2057acea3e
missing tests
2017-01-25 21:27:44 -08:00
Alex Dadgar
3e35f453e4
Rename meta/parsing
2017-01-25 21:27:44 -08:00
Alex Dadgar
8196a58c4c
Rename dispatch_input to dispatch_payload
2017-01-25 21:27:44 -08:00
taylorchu
4453a292a2
BUGFIX: fix consul verify_ssl merging
2017-01-25 16:19:39 -08:00
Alex Dadgar
606bb30863
Merge pull request #2226 from hashicorp/b-vault
...
Improve Vault integration and validation
2017-01-23 14:59:41 -08:00
Michael Schurter
3c7e50bc1b
Fix tests
2017-01-20 17:04:52 -08:00
Michael Schurter
295c2bf74a
Merge pull request #2186 from hashicorp/f-driver-cleanup
...
Add Cleanup method to Driver interface
2017-01-20 13:02:14 -08:00
Michael Schurter
1f7b5b4b47
Rename Constructor -> Parameterized Job
2017-01-20 12:43:10 -08:00
Alex Dadgar
fb86904902
Check capabilities, allow creation against role
...
Check the capabilities of the Vault token to ensure it is valid and also
allow targetting of a role that the token is not from.
2017-01-19 13:40:32 -08:00
Diptanu Choudhury
651b3c626d
Merge pull request #2208 from hashicorp/duplicate-service-name
...
register service names with duplicate name
2017-01-18 16:17:45 -08:00
Diptanu Choudhury
e927de02d2
Moved functions to helper from structs
2017-01-18 15:55:14 -08:00
Diptanu Choudhury
b2a494c24e
Ensuring we can register service names with duplicate name but different ports
2017-01-17 12:26:07 -08:00
Michael Schurter
a3a3656dbb
Switch to use recoverable errors from Cleanup
...
TaskRunner handles retrying but Cleanup handles all of CreatedResources.
2017-01-13 16:46:08 -08:00
Diptanu Choudhury
c253f5b17d
Fixed merging consul config
2017-01-05 15:15:43 -08:00
Alex Dadgar
8d5f0fea69
Merge pull request #2128 from hashicorp/f-dispatch
...
Nomad Constructor Jobs and Dispatch
2017-01-06 05:22:49 +08:00
Michael Schurter
4a9a574d9d
Merge pull request #2054 from hashicorp/f-prestart
...
Add Driver.Prestart method
2016-12-20 16:18:56 -08:00
Michael Schurter
2aa235f8f2
Rename InitializationMessage to DriverMessage
2016-12-20 11:51:09 -08:00
Alex Dadgar
4e8035756b
Fix test and prevent job with payload from being submitted
2016-12-18 16:32:14 -08:00
Alex Dadgar
072ff1c3ee
ensure file doesn't escape
2016-12-18 15:48:30 -08:00
Alex Dadgar
aa904b495e
Require batch
2016-12-16 15:20:12 -08:00