Commit Graph

1076 Commits

Author SHA1 Message Date
Michael Schurter
435a6bddce consul: remove services with/without canary tags
Guard against Canary being set to false at the same time as an
allocation is being stopped: this could cause RemoveTask to be called
with the wrong Canary value and leaking a service.

Deleting both Canary values is the safest route.
2018-05-07 14:55:01 -05:00
Michael Schurter
17c6eb8629 consul: support canary tags for services
Also refactor Consul ServiceClient to take a struct instead of a massive
set of arguments. Meant updating a lot of code but it should be far
easier to extend in the future as you will only need to update a single
struct instead of every single call site.

Adds an e2e test for canary tags.
2018-05-07 14:55:01 -05:00
Alex Dadgar
20df5aea5b Canary tags structs 2018-05-07 14:50:01 -05:00
Alex Dadgar
15c3abf816 Initial implementation 2018-05-07 14:50:01 -05:00
Michael Schurter
bd4e761c29 Merge pull request #4251 from hashicorp/f-grpc-checks
Support Consul gRPC Health Checks
2018-05-04 14:55:16 -07:00
Michael Schurter
905bef8f2d consul: make grpc checks more like http checks 2018-05-04 11:08:11 -07:00
Michael Schurter
93356e7d70 consul: initial grpc implementation
Needs to be more like http.
2018-05-04 11:08:11 -07:00
Michael Schurter
6858c520b2 framer: fix early exit/truncation in framer 2018-05-02 10:46:16 -07:00
Michael Schurter
8776cf8a80 client: use a bytes.Reader for reading a []byte 2018-05-02 10:46:16 -07:00
Michael Schurter
63dad441b4 client: ensure cancel is always called when func exits 2018-05-02 10:46:16 -07:00
Michael Schurter
564854dd97 client: give pipe conns meaningful names 2018-05-02 10:46:16 -07:00
Michael Schurter
a7c71c1cdc client: reset encoders between uses
According to go/codec's docs, Reset(...) should be called on
Decoders/Encoders before reuse:

https://godoc.org/github.com/ugorji/go/codec

I could find no evidence that *not* calling Reset() caused bugs, but
might as well do what the docs say?
2018-05-02 10:46:16 -07:00
Alex Dadgar
9a4295aa9c generated files 2018-04-26 16:28:58 -07:00
Michael Schurter
972e861410 consul: periodically reconcile services/checks
Periodically sync services and checks from Nomad to Consul. This is
mostly useful when testing with the Consul dev agent which does not
persist state across restarts. However, this is a reasonable safety
measure to prevent skew between Consul's state and Nomad's
services+checks.

Also modernized the test suite a bit.
2018-04-19 15:45:42 -07:00
Nick Ethier
95d9eb9bf3 Merge pull request #4138 from hashicorp/i-hcl-json-endpoint
HCL to JSON api endpoint
2018-04-19 14:18:34 -04:00
Michael Schurter
29da24b77b test: build with mock_driver by default
`make release` and `make prerelease` set a `release` tag to disable
enabling the `mock_driver`
2018-04-18 14:45:33 -07:00
Nick Ethier
4303941098 command/agent: fix url in jobs parse ep test 2018-04-16 19:21:09 -04:00
Nick Ethier
c5945204a6 command/agent: fix ptr ref in job endpoint test 2018-04-16 19:21:09 -04:00
Nick Ethier
14c44da757 command/agent: add Canonicalize option to parse args 2018-04-16 19:21:09 -04:00
Nick Ethier
03f5c2f6f9 command/agent: add HCL mock for parse endpoint 2018-04-16 19:21:09 -04:00
Nick Ethier
b2b999249b command/agent: add /v1/jobs/parse endpoint
The parse endpoint accepts a hcl jobspec body within a json object
and returns the parsed json object for the job. This allows users to
register jobs with the nomad json api without specifically needing
a nomad binary to parse their hcl encoded jobspec file.
2018-04-16 19:21:06 -04:00
Alex Dadgar
8a80a5f7c5 Version bump and generated files 2018-04-12 16:21:50 -07:00
Preetha Appan
f8427c847d minor code review fix 2018-04-10 15:33:01 -05:00
Preetha Appan
ffb622fbfd Dev mode should never persist nodeid 2018-04-10 12:34:14 -05:00
Preetha Appan
1ba9feb3b7 Lint fixes 2018-04-10 11:22:16 -05:00
Preetha Appan
86ced8aef2 Use preconfigured nodeID if there isn't a persisted node ID, and persist it if its not persisted. 2018-04-10 08:47:33 -05:00
Alex Dadgar
5194f5d6c7 WIP: Not setting node id properlperly 2018-04-09 18:01:28 -07:00
Alex Dadgar
c53becf596 Fix prefix output of agent metadata 2018-03-30 16:27:18 -07:00
Alex Dadgar
702a3be41e Generated files 2018-03-30 16:14:40 -07:00
Michael Schurter
7ff790bc7d cli: differentiate normal output vs info 2018-03-30 11:42:11 -07:00
Chelsea Komlo
8294cd6684 Merge pull request #4046 from hashicorp/tls-same-file-reload
Check file contents when determining if agent should reload TLS confi…
2018-03-29 10:51:32 -04:00
Chelsea Holland Komlo
5d866366a7 make check fix 2018-03-28 19:11:51 -04:00
Chelsea Holland Komlo
e8af281dd3 return error when setting checksum; don't reload 2018-03-28 18:15:50 -04:00
Chelsea Holland Komlo
074683c616 output warning for error in creating TLS checksum 2018-03-28 17:44:23 -04:00
Chelsea Holland Komlo
065133d716 check for nil, remove unnecessary set checksum call 2018-03-28 13:29:53 -04:00
Preetha
6f870b8bd7 Merge pull request #4052 from hashicorp/f-specify-total-memory
Allow to specify total memory on agent configuration
2018-03-28 12:28:41 -05:00
Chelsea Holland Komlo
2fc02c1832 fix up test for file content changes 2018-03-28 13:18:13 -04:00
Preetha Appan
09fa5f5850 Fix compilation fail in test after rebase 2018-03-28 11:54:34 -05:00
Chelsea Holland Komlo
6e317fa6c6 set TLS checksum when parsing config
Refactor checksum comparison, always set checksum if it is empty
2018-03-28 09:56:11 -04:00
Alex Dadgar
400cbcf128 Create evals for system jobs when drain is unset
This PR creates evals for system jobs when:

* Drain is unset and mark eligible is true
* Eligibility is restored to the node
2018-03-27 15:53:24 -07:00
Mildred Ki'Lya
d31105c69e Allow to specify total memory on agent configuration
Allow to set the total memory of an agent in its configuration file. This
can be used in case the automatic detection doesn't work or in specific
environments when memory overcommit (using swap for example) can be
desirable.
2018-03-27 15:46:18 -05:00
Chelsea Holland Komlo
f8df2071ef check file contents when determining if agent should reload TLS configuration 2018-03-27 15:42:20 -04:00
Alex Dadgar
d10e155e0f Fix alloc watcher snapshot streaming 2018-03-27 11:14:53 -07:00
Chelsea Komlo
24a1f60e7b Merge pull request #4025 from hashicorp/reload-http-tls
Allow TLS configurations for HTTP and RPC connections to be reloaded …
2018-03-26 18:00:30 -04:00
Preetha Appan
e2226ca2b7 s/linear/constant/g 2018-03-26 14:45:09 -05:00
Chelsea Holland Komlo
490e70e9ce code review feedback 2018-03-26 10:55:22 -04:00
Alex Dadgar
1ac3798ae0 Allow separate enterprise config overlay 2018-03-22 13:53:08 -07:00
Michael Schurter
b8b1922b9b test: fix by using mock.BatchJob 2018-03-21 16:51:45 -07:00
Michael Schurter
80885623c1 test: don't call t.Fatal from within a goroutine 2018-03-21 16:51:45 -07:00
Michael Schurter
aab1fb7672 Fix linting errors 2018-03-21 16:51:45 -07:00