James Phillips
a599e88507
Merge pull request #1284 from nbrownus/telemetry
...
Option to disable hostnames from telemetry
2016-02-06 22:00:14 -08:00
David Wittman
0b90de4d1b
Fix formatting in exec help
...
The description for `-node` was separated by tabs instead of spaces,
causing it to be incorrectly aligned.
2016-02-06 12:28:56 -06:00
James Phillips
7273fb0470
Merge pull request #1654 from ryanslade/invalid-check-message
...
Updated invalid check error message.
2016-02-05 17:21:29 -08:00
Chris Cooper
de4129fced
Merge branch 'master' of https://github.com/alistanis/consul into use-http-package-statuses
2016-02-05 17:30:43 -05:00
Chris Cooper
0ce79f8198
add comment codes
2016-02-05 17:06:42 -05:00
Chris Cooper
4890220929
refactors http server error codes to use the http statuses defined in the http package instead of literals
2016-02-05 16:51:31 -05:00
Sean Chittenden
5ac7b893cc
Use panic instead of returning a sentinel UUID values in unit tests
2016-02-01 16:42:04 -08:00
Sean Chittenden
c470553b6b
Factor out duplicate functions into a lib package
...
Consolidate code duplication and tests into a single lib package. Most of these functions were from various **/util.go functions that couldn't be imported due to cyclic imports. The consul/lib package is intended to be a terminal node in an import DAG and a place to stash various consul-only helper functions. Pulled in hashicorp/go-uuid instead of consolidating UUID access.
2016-01-29 16:57:45 -08:00
Nate Brown
541a98c9c7
Option to disable hostnames from telemetry
2016-01-29 13:44:48 -08:00
Ryan Slade
37c7a0e006
Updated invalid check error message.
...
Added some of the newer reasons this error could have occured.
2016-01-28 11:02:00 +02:00
James Phillips
0fcdd37107
Fixes the static asset generator for new pkg path, updates assets.
2016-01-15 10:21:42 -08:00
Seth Vargo
dc9131a732
Use HTTPS + www. where appropriate
2016-01-13 17:44:01 -05:00
James Phillips
b21ef7330f
Merge pull request #1592 from hashicorp/b-reap
...
Adds support for the reap lock.
2016-01-13 09:37:54 -08:00
James Phillips
d22fe5ba62
Adds support for the reap lock.
2016-01-12 21:10:25 -08:00
Matt McCoy
f8a6b6db83
Add consul agent help for advertise-wan
2016-01-11 14:27:54 -05:00
James Phillips
6dd0835319
Makes the timeout behavior more intuitive.
...
Previously, it would try once "up to" the timeout, but in practice it would
just fall through. This modifies the behavior to block until the timeout has
been reached.
2016-01-06 09:40:20 -08:00
James Phillips
87dd758199
Defaults monitor retries to 3 retries @ 1s for the consul lock command.
2016-01-05 18:34:22 -08:00
James Phillips
9323276b58
Adds monitor retries to the consul lock command.
2016-01-05 18:22:36 -08:00
James Phillips
3348cf4c0b
Adds "try" support to locks and semaphores.
2016-01-05 18:22:36 -08:00
James Phillips
df361afed5
Merge pull request #1550 from hashicorp/f-devmode
...
Add a `-dev` mode for easy prototyping
2016-01-05 10:01:41 -08:00
Philippe M. Chiasson
e308bc3733
remove address splitting
2016-01-05 11:49:40 -05:00
Philippe M. Chiasson
6f316138d3
Move logged client IP to the end of the log message
2015-12-30 15:39:34 -05:00
Philippe M. Chiasson
8e938d4d38
Merge branch 'master' of http://github.com/hashicorp/consul into issue/1447/http-access-logs
2015-12-30 15:38:30 -05:00
Ryan Uber
f37c0facbe
agent: enable ui for dev mode
2015-12-26 20:39:42 -05:00
Ryan Uber
ce4cf8a542
consul: dev mode works
2015-12-26 20:19:36 -05:00
Ryan Uber
b04510f934
agent: update assetfs output
2015-12-24 22:21:34 -05:00
Ryan Uber
52ad989405
agent: static UI is configurable
2015-12-24 22:21:34 -05:00
Ryan Uber
86f76205aa
agent: initial web assets
2015-12-24 22:21:34 -05:00
Ryan Uber
a262115679
agent: compile web assets into consul binary
2015-12-24 22:21:34 -05:00
Philippe M. Chiasson
b8f8861d97
Merge branch 'master' of http://github.com/hashicorp/consul into issue/1447/http-access-logs
2015-12-22 14:55:18 -05:00
James Phillips
4dd7a5fbaa
Adds a Bool helper function.
2015-12-22 10:43:32 -08:00
James Phillips
d71036c4f0
Moves logger down where it's used for reaping.
2015-12-22 10:29:55 -08:00
James Phillips
e1d456a079
Changes sense of option to "reap" and uses nil for "not set".
2015-12-22 10:28:10 -08:00
James Phillips
1e4aa28c9d
Adds child process reaping when Consul is running as PID 1.
2015-12-21 21:47:35 -08:00
James Phillips
874d491ade
Converts the DNS metric to a gauge which gives us a count and a time.
2015-12-21 18:25:09 -08:00
James Phillips
9e0ac674c3
Adds telemetry on number of DNS queries served, per-agent.
2015-12-21 17:01:28 -08:00
WangFenjin
dcecbf4653
Fix typo
2015-12-08 17:45:01 +08:00
James Phillips
b87aeec4e1
Removes the GOMAXPROCS warnings which are obsolete for Go 1.5+.
2015-11-25 17:59:16 -08:00
Philippe M. Chiasson
396df9a0c1
Add client ip to http access logs
...
Fixes #1447
2015-11-24 15:06:33 -05:00
James Phillips
23536f2b97
Adds Docker checks support to client API.
...
Also changed `DockerContainerId` to `DockerContainerID`, and updated the agent
API docs to reflect their support for Docker checks.
2015-11-18 07:40:02 -08:00
James Phillips
573f48ed3d
Breaks up huge HTTP endpoint functions.
2015-11-17 09:16:04 -08:00
James Phillips
a364a02da6
Avoids taking the length again when parsing DNS queries.
2015-11-17 08:40:47 -08:00
James Phillips
a1e02996e5
Moves conversion of nil slices up to HTTP layer for prepared queries.
2015-11-15 17:06:00 -08:00
James Phillips
267c352c6d
Adds a test to make sure a stale retry terminates.
2015-11-15 17:06:00 -08:00
James Phillips
e6ccf5b9ed
Returns a 404 from a get or execute of a nonexistent query.
2015-11-15 17:06:00 -08:00
James Phillips
c9ef552385
Plumbs the service name back and uses agent-specific TTL settings as a fallback.
2015-11-15 17:06:00 -08:00
James Phillips
cad6938474
Adds unit tests for prepared queries and DNS, using existing tests for equivalence.
2015-11-15 17:06:00 -08:00
James Phillips
f9c91479ef
Adds DNS support for prepared queries (needs tests).
2015-11-15 17:06:00 -08:00
James Phillips
38daaea503
Adds a slightly more flexible mock system so we can test DNS.
2015-11-15 17:06:00 -08:00
James Phillips
978fb443a7
Adds a note about obfuscating query name/ID from the logs.
2015-11-15 17:06:00 -08:00
James Phillips
124410b66c
Adds an HTTP endpoint for prepared queries.
2015-11-15 17:06:00 -08:00
James Phillips
a33e35fcce
Moves DNS over to new shuffle and filter functions.
2015-11-15 17:06:00 -08:00
James Phillips
763d5ea8a7
Fixes nil slices from HTTP endpoints.
...
These would manifest in the HTTP output as Javascript nulls instead of
empty lists, so we had unintentionally changed the interface while
porting to the new state store. We added code to each HTTP endpoint to
convert nil slices to empty ones so they JSON-ify properly, and we added
tests to catch this in the future.
2015-11-14 21:05:37 -08:00
James Phillips
a384baf671
Merge pull request #1293 from talwai/master
...
Add options to send telemetry to DogStatsD
2015-11-13 09:51:50 -08:00
talwai
01ccad69a1
Kill unused import in command.go
2015-11-13 11:14:15 -05:00
James Phillips
67408fe477
Fixes unit test fail due to expected truncated message.
2015-11-12 18:16:44 -08:00
talwai
e6e842d9e7
Add DogStatsd configuration
2015-11-11 14:30:36 -05:00
James Phillips
9107521c17
Fixes a go vet finding.
2015-10-29 12:47:20 -07:00
James Phillips
eb4bfa3411
Prevents agents from considering Raft information when doing sync checks.
2015-10-28 14:32:00 -07:00
James Phillips
c1305a08ea
Makes the version upshift code look at the correct version field.
2015-10-27 14:44:34 -07:00
Diptanu Choudhury
3b5eefb713
Merge pull request #1343 from hashicorp/f-docker-check
...
Docker Support for Consul Health Checks
2015-10-26 21:00:48 -07:00
Diptanu Choudhury
fb0cae7320
Forcing the Env variable to empty while testing the default shell logic
2015-10-26 20:35:13 -07:00
Diptanu Choudhury
9070d12b2f
Added a test for selecting shell from env
2015-10-26 20:21:50 -07:00
Diptanu Choudhury
8af6ac8f16
Making an explicit check to test whether a check is of type Monitor
2015-10-26 19:52:32 -07:00
Diptanu Choudhury
f8a03508ad
Fixed the tests
2015-10-26 18:20:02 -07:00
Diptanu Choudhury
15ff470a79
Added a test to check if we are properly truncating docker exec outputs
2015-10-26 18:06:55 -07:00
Diptanu Choudhury
709b518d03
Added a test for exit code 1 with docker exec
2015-10-26 16:58:09 -07:00
Diptanu Choudhury
c8c08586f0
Fixed the Fake Docker client to simulate Exec start failures
2015-10-26 16:54:51 -07:00
Diptanu Choudhury
fd6d57ccac
Not adding the docker check if we couldn't create the client
2015-10-26 16:45:12 -07:00
Diptanu Choudhury
210b968037
Making sure the script is not empty if it's a docker check
2015-10-26 16:27:48 -07:00
Diptanu Choudhury
0a657b2602
Updated the comment for CheckType
2015-10-26 15:28:13 -07:00
Diptanu Choudhury
2276ebc978
Collect and truncate the output from docker exec
2015-10-26 15:19:35 -07:00
Diptanu Choudhury
0de0abcaec
Defaulting to Monitor check
2015-10-26 15:02:23 -07:00
Diptanu Choudhury
d2bd1b0c3f
Extracted the logic of figuring out the shell and fixing the logic to find out if the check is a Docker check
2015-10-26 15:00:34 -07:00
Diptanu Choudhury
f445318732
Added some tests for docker check
2015-10-26 12:59:40 -07:00
James Phillips
b50b0a8526
Merge pull request #1296 from hashicorp/f-fast-sync
...
agent: remove an N^2 check. See #1265
2015-10-26 11:37:52 -07:00
Diptanu Choudhury
d478fa9470
Marking the state of a service as critical if the Docker Daemon doesn't respond while running checks
2015-10-26 11:16:11 -07:00
Diptanu Choudhury
b35836fdad
Adding a debug log to indicate the exit code of failed check
2015-10-26 10:35:51 -07:00
Diptanu Choudhury
1b1518512c
Registering the Exec with Docker Daemon everytime the check is invoked
2015-10-26 10:23:57 -07:00
Diptanu Choudhury
c4b85010fb
Implemented Docker health checks
2015-10-26 10:23:57 -07:00
James Phillips
2a51d55ce3
Runs go fmt (sorts new go-cleanhttp imports).
2015-10-23 17:14:35 -07:00
James Phillips
b91e2d3a97
Completes rebase of network coordinates to new memdb.
2015-10-23 15:23:01 -07:00
James Phillips
b9732e3c39
Gives RTT class a more Go-like name.
2015-10-23 15:23:01 -07:00
James Phillips
c48e3e1179
Defaults second node to agent if not given. Removes -short option and tweaks output formatting.
2015-10-23 15:23:01 -07:00
James Phillips
a51e170eef
Cleans up after code review, adds a -short option to "consul rtt" command.
2015-10-23 15:23:01 -07:00
James Phillips
43df5c6784
Adds a "consul rtt" command.
2015-10-23 15:23:01 -07:00
James Phillips
aea2194ce3
Makes the default protocol 2 and lets 3 interoperate with 2.
2015-10-23 15:23:01 -07:00
James Phillips
baa223ab4a
Runs go fmt after latest rebase.
2015-10-23 15:23:01 -07:00
James Phillips
8e67c37398
Adds a test for the DisableCoordinate
config.
2015-10-23 15:23:01 -07:00
James Phillips
3f11bfaea4
Adds coordinate of agent to self endpoint.
2015-10-23 15:23:01 -07:00
James Phillips
a74bdcba49
Moves sorting up into coordinate endpoint HTTP handlers.
2015-10-23 15:23:01 -07:00
James Phillips
0e7d5871c5
Installs a friendly handler for coordinate endpoints when coordinates are disabled.
2015-10-23 15:23:01 -07:00
James Phillips
def8c6087d
Fixes config merge fn for disabling coordinates and adds it to JSON.
2015-10-23 15:23:01 -07:00
James Phillips
a2bcef00a0
Adds endpoints for raw network coordinates.
2015-10-23 15:23:01 -07:00
James Phillips
fecd639b02
Changes ?near=self to a safer ?near=_agent, which is also clearer about what it does.
2015-10-23 15:23:01 -07:00
James Phillips
ee1cf1e13b
Adds distance sorting to health endpoint. Cleans up unit tests.
2015-10-23 15:23:01 -07:00
James Phillips
1724b9a6be
Adds a magic "self" node name to distance queries.
2015-10-23 15:23:01 -07:00
James Phillips
59b710894d
Adds tests for HTTP interface. Removes a stray mark.
2015-10-23 15:23:01 -07:00
James Phillips
b63909cf67
Adds coordinate sorting support to catalog queries for nodes and service nodes.
2015-10-23 15:23:01 -07:00
James Phillips
d7bac0e808
Turns down the coordinate sync rate a bit more.
2015-10-23 15:23:01 -07:00
James Phillips
9ba9a708f6
Scales coordinate sends to hit a fixed aggregate rate across the cluster.
2015-10-23 15:23:01 -07:00
James Phillips
d8b8a3719f
Simplifies the batching function and adds some comments.
2015-10-23 15:23:01 -07:00
James Phillips
f71c79c53f
Does some small cleanups based on PR feedback.
...
* Holds coordinate updates in map and gets rid of the update channel.
* Cleans up config variables a bit.
2015-10-23 15:23:01 -07:00
James Phillips
1222772452
Hardens Consul from bad coordinates from other nodes.
2015-10-23 15:23:01 -07:00
James Phillips
acb0dce829
Moves batching down into the state store and changes it to fail-fast.
...
* A batch of updates is done all in a single transaction.
* We no longer need to get an update to kick things, there's a periodic flush.
* If incoming updates overwhelm the configured flush rate they will be dumped with an error.
2015-10-23 15:23:01 -07:00
James Phillips
b6c31bdf2f
Flips the sense of the coordinate enable option.
2015-10-23 15:23:01 -07:00
James Phillips
9c069c5031
Removes one more WAN leftover.
2015-10-23 15:23:01 -07:00
James Phillips
edb9a119e2
Does a clean up pass on the Consul side.
2015-10-23 15:23:01 -07:00
James Phillips
ac4185b888
Merges config changes after rebase.
2015-10-23 15:23:01 -07:00
Derek Chiang
139c9240ea
Address comments
2015-10-23 15:23:01 -07:00
Derek Chiang
840474f170
Add a test case
2015-10-23 15:23:01 -07:00
Derek Chiang
23c08aeeb4
Use IndexedCoordinate instead
2015-10-23 15:23:01 -07:00
Derek Chiang
530e73212a
Some fixes
2015-10-23 15:23:01 -07:00
Derek Chiang
2ef802b8b3
Fix a comment
2015-10-23 15:23:01 -07:00
Derek Chiang
b2cff43bb5
Complete logic for sending coordinates
2015-10-23 15:23:01 -07:00
Derek Chiang
66b210afcb
Some fixes
2015-10-23 15:23:01 -07:00
Derek Chiang
b5bbe2bcfa
Adding tests and stuff
2015-10-23 15:23:01 -07:00
Armon Dadgar
d035dbd43b
Merge pull request #1318 from daveadams/f-http-header-token
...
Allow specifying Consul token in an HTTP request header
2015-10-22 13:33:47 -07:00
Jeff Mitchell
9267f956a2
Update cleanhttp repo location
2015-10-22 14:14:22 -04:00
Jeff Mitchell
06bb9d5f36
Use cleanhttp to get rid of DefaultTransport
2015-10-22 10:47:50 -04:00
David Adams
5f175add40
Add HTTP request header X-Consul-Token
...
Add support for an X-Consul-Token HTTP request header to specify the
token with which this request should be fulfilled. The header would have
precedence over the responding Agent's default token, but would have
lower precedence than a token specified in the query string.
2015-10-19 11:26:01 -05:00
James Phillips
263c7e3fd3
Deletes the old state store and all its accoutrements.
2015-10-15 14:59:09 -07:00
James Phillips
bcdabe4606
Knocks out the Raft indexes before doing compare.
2015-10-15 14:59:09 -07:00
James Phillips
cbcd977a39
Gets new structs changes to compile, adds some corner case handling and extra unit tests.
2015-10-15 14:59:09 -07:00
Ryan Uber
b46f878747
Merge pull request #1309 from hashicorp/f-remove-migrate
...
Removes consul-migrate for 0.6
2015-10-15 14:50:19 -07:00
Jeff Mitchell
9cddc187b5
Don't use http.DefaultClient
...
Two of the changes are in tests; the one of consequence is in the API.
As explained in #1308 this can cause conflicts with downstream programs.
Fixes #1308 .
2015-10-15 17:49:35 -04:00
Ryan Uber
aba1b26015
agent: consolidates data dir checker
2015-10-15 14:21:35 -07:00
Ryan Uber
8bc51eb237
agent: test mdb dir protection
2015-10-15 14:15:41 -07:00
Ryan Uber
2a7609d6bc
agent: remove migrator, refuse to start if mdb dir found
2015-10-15 14:15:08 -07:00
Armon Dadgar
0b77960349
agent: remove an N^2 check. See #1265
2015-10-12 20:30:11 -07:00
Michael Puncel
a94589ad67
Add http method to log output
2015-10-02 18:33:06 -07:00
James Phillips
26eadcd95c
Merge pull request #1235 from wuub/master
...
fix conflict between handleReload and antiEntropy critical sections
2015-09-17 07:28:39 -07:00
Wojciech Bederski
9a1b52171f
panic when unbalanced localState.Resume() is detected
2015-09-17 11:32:08 +02:00
Dale Wijnand
c5168e1263
Fix a bunch of typos.
2015-09-15 13:22:08 +01:00
James Phillips
b25797a808
Merge pull request #1187 from sfncook/enable_tag_drift_03
...
Enable tag drift 03
2015-09-11 15:35:32 -07:00
Anthony Scalisi
8d733b7fca
remove various typos
2015-09-11 12:29:54 -07:00
Wojciech Bederski
4cd1b09ad7
make Pause()/Resume()/isPaused() behave more like a semaphore
...
see: https://github.com/hashicorp/consul/issues/1173 #1173
Reasoning: somewhere during consul development Pause()/Resume() and
PauseSync()/ResumeSync() were added to protect larger changes to
agent's localState. A few of the places that it tries to protect are:
- (a *Agent) AddService(...) # part of the method
- (c *Command) handleReload(...) # almost the whole method
- (l *localState) antiEntropy(...)# isPaused() prevents syncChanges()
The main problem is, that in the middle of handleReload(...)'s
critical section it indirectly (loadServices()) calls AddService(...).
AddService() in turn calls Pause() to protect itself against
syncChanges(). At the end of AddService() a defered call to Resume() is
made.
With the current implementation, this releases
isPaused() "lock" in the middle of handleReload() allowing antiEntropy
to kick in while configuration reload is still in progress.
Specifically almost all services and probably all check are unloaded
when syncChanges() is allowed to run.
This in turn can causes massive service/check de-/re-registration,
and since checks are by default registered in the critical state,
a majority of services on a node can be marked as failing.
It's made worse with automation, often calling `consul reload` in close
proximity on many nodes in the cluster.
This change basically turns Pause()/Resume() into P()/V() of
a garden-variety semaphore. Allowing Pause() to be called multiple times,
and releasing isPaused() only after all matching/defered Resumes() are
called as well.
TODO/NOTE: as with many semaphore implementations, it might be reasonable
to panic() if l.paused ever becomes negative.
2015-09-11 18:28:06 +02:00
Wojciech Bederski
24ac26b3c1
failing test showing that nested Pause()/Resume() release too early
...
see: #1173 / https://github.com/hashicorp/consul/issues/1173
2015-09-11 17:52:57 +02:00
Shawn Cook
99be758411
Rename EnableTagOverride and update formatting
2015-09-11 08:35:29 -07:00
Shawn Cook
f448a62826
Remove debug lines
2015-09-11 08:32:59 -07:00
Shawn Cook
2f04917261
Merge remote-tracking branch 'hashicorp/master' into enable_tag_drift_03
2015-09-10 14:55:30 -07:00
James Phillips
d00889c3a4
Adds missing token to maint unit test.
2015-09-10 14:53:00 -07:00
Shawn Cook
8a86eee9fb
Add test cases TestAgentAntiEntropy_EnableTagDrift
2015-09-10 14:08:16 -07:00
Ryan Uber
08d12e978f
Merge pull request #1230 from hashicorp/f-maintfix
...
Respect tokens in maintenance mode
2015-09-10 12:30:07 -07:00
Ryan Uber
948bd57d6a
agent: testing node/service maintenance using tokens
2015-09-10 12:08:08 -07:00
Ryan Uber
e129a59316
agent: thread tokens through for maintenance mode
2015-09-10 11:43:59 -07:00
Wim
3d7c3725d8
Allow AAAA queries for nodeLookup
2015-09-08 16:54:36 +02:00
Ryan Breen
d63749b30e
Merge pull request #1217 from 42wim/fix-rfc2308-part3
...
No NXDOMAIN when the answer is empty
2015-09-04 10:42:38 -04:00
Armon Dadgar
56efa4958b
Merge pull request #1214 from zendesk/fix_lock_race_2
...
lock.go: fix another race condition
2015-09-02 16:04:55 -07:00
Wim
2336c6a4bd
No NXDOMAIN when the answer is empty
2015-09-02 16:12:22 +02:00