Ryan Uber
4c1afb1bc6
consul: use the Near field instead of PreferLocal
2016-06-21 12:39:40 -07:00
James Phillips
aa1bb5a012
Merge pull request #2131 from hashicorp/b-misc-microoptimizations
...
Misc micro optimizations
2016-06-21 09:59:01 -07:00
Sean Chittenden
32f393b611
Pack Port to be slightly more optimal in terms of struct memory usage.
2016-06-20 15:31:17 -07:00
Sean Chittenden
112f3fd468
Give log reviewers a hint as to which check is failing
2016-06-20 15:25:21 -07:00
Sean Chittenden
56f480a633
Use stable, monotonically increasing port numbers for tests
2016-06-20 14:33:46 -07:00
Ryan Uber
865c264b9c
agent: set origin during PQ execution
2016-06-20 14:24:42 -07:00
Sean Chittenden
e9a2f5b40c
Chase casting types.CheckID to a string into the state_store.
...
It turns out the indexer can only use strings as arguments when
creating a query. Cast `types.CheckID` to a `string` before calling
into `memdb`.
Ideally the indexer would be smart enough to do this at compile-time,
but I need to look into how to do this without reflection and the
runtime package. For the time being statically cast `types.CheckID`
to a `string` at the call sites.
2016-06-07 16:59:02 -04:00
Sean Chittenden
63adcbd5ef
Revert "Move `structs.CheckID` to a new top-level package, `types`."
...
This reverts commit 2bbd52e3b44ff1b60939a8400264d534662d6d51.
2016-06-07 16:59:02 -04:00
Sean Chittenden
cbb945e76a
Move `structs.CheckID` to a new top-level package, `types`.
...
Per discussion w/ @slackpad, move this type to its own top-level package
2016-06-07 16:59:02 -04:00
Sean Chittenden
f5ab25163e
Move `structs.CheckID` to a new top-level package, `types`.
...
Per discussion w/ @slackpad, move this type to its own top-level package
2016-06-07 16:59:02 -04:00
Sean Chittenden
ddbe64a8c8
Float a type balloon. Some strings are square pegs in round holes.
...
This experiment was brought about because of variable naming
confusion where name and checkIDs were interchanged. Gave CheckID
an Qualified Type Name and chased downstream changes.
2016-06-07 16:59:02 -04:00
James Phillips
518e122053
Updates web assets to pull in RTT viz.
2016-06-07 09:32:44 -07:00
James Phillips
a78b969984
Removes stale scada client and test sections that use (now) unexported fields.
...
Fixes #2092 .
2016-06-06 19:18:31 -07:00
Jeff Mitchell
ebf7ea1d75
Use upstream high-level SCADA provider
2016-06-01 18:25:39 -04:00
Nathan Zadoks
c4b362d5d2
Parse ACL tokens for the catalog register/deregister endpoints
...
Fix #1738
2016-05-17 13:16:33 -04:00
James Phillips
0f5aabcbbd
Merge pull request #2028 from hashicorp/f-atomic-kv
...
Adds support for atomic transactions spanning multiple KV entries.
2016-05-15 13:46:05 -07:00
Sean Chittenden
0e34cc3486
Remove completely unused structs
2016-05-15 09:14:36 -07:00
Sean Chittenden
92298e3d02
Speling police
2016-05-15 09:13:52 -07:00
James Phillips
653387637a
Reduces the number of operations in a transaction to 64.
2016-05-14 21:40:46 -07:00
James Phillips
778b975e7a
Adds a get-tree verb to KV transaction operations.
2016-05-13 16:57:39 -07:00
James Phillips
570d46aa5f
Adds some size limiting features to transactions to help prevent abuse.
2016-05-13 13:39:01 -07:00
James Phillips
a37bf9de56
Adds a read-only optimized path for transactions.
2016-05-13 00:34:05 -07:00
James Phillips
8a7428e508
Hoists KV processing helper functions up as static functions.
2016-05-12 16:10:06 -07:00
James Phillips
4882a9fe43
De-nests the KV output structure (removes DirEnt member).
2016-05-11 13:48:03 -07:00
James Phillips
960b9d6fb6
Switches to "KV" instead of "KV" for the KV operations.
2016-05-11 10:58:27 -07:00
James Phillips
38d0f6676f
Refactors TxnRequest/TxnResponse into a form that will allow non-KV ops.
...
This isn't needed/used yet, but it's a good hook to get in there so we
can add more atomic operations in the future. The Go API hides this detail
so that feels like a KV-specific API. The implications on the REST API are
pretty minimal.
2016-05-11 01:39:10 -07:00
James Phillips
69f58ad04a
Moves txn code into a new endpoint, not specific to KV.
2016-05-10 21:58:02 -07:00
James Phillips
1fefdcb962
Terminates pretty responses with a newline.
2016-05-10 20:02:36 -07:00
James Phillips
7a797da3e5
Adds unit tests for HTTP endpoint.
2016-05-10 12:59:34 -07:00
Evan Gilman
965fcf9d6b
Enable Stale mode for watchers
...
Solves https://github.com/hashicorp/consul/issues/917 by giving consul
watch a `-stale` flag
2016-05-10 00:09:15 -07:00
James Phillips
e491245062
Performs basic plumbing of KVS transactions through all the layers.
2016-05-09 22:15:49 -07:00
Sean Chittenden
01b8311c94
Include the current version along side the available version.
...
When checkpoint emits a log message indicating an agent is out of
date, include the current version along with the available version
according to checkpoint.
Inspired by: log output in #993
2016-05-04 22:57:44 -07:00
James Phillips
7bf684ece1
Fixes some bad error returns in the persist service and check paths.
2016-04-26 15:03:26 -07:00
James Phillips
ceac68c5eb
Merge pull request #1762 from mshean/script-timeout
...
Add Timeout field to CheckMonitor
2016-04-24 23:08:06 -07:00
Sean Chittenden
e63d3a1275
Update Check API to use constants
...
Use constants where appropriate to advocate their use. Also add a deprecation notice re: `updateTTL`.
2016-04-23 16:01:59 -07:00
James Phillips
c11e1506c5
Merge pull request #1935 from hashicorp/f-reap-time
...
Makes reap time configurable for LAN and WAN.
2016-04-20 13:50:21 -07:00
James Phillips
cf00c11221
Sets an anti-footgun floor for the configurable reap time.
2016-04-20 13:49:51 -07:00
Matt Shean
fe4107019e
add Timeout field to CheckMonitor
2016-04-20 11:41:30 -07:00
Ryan Uber
8cc16b8238
agent: limit HTTP check output to 4k
2016-04-14 14:28:07 -07:00
James Phillips
8c8b146f77
Merge pull request #1884 from mtchavez/1541-data-dir-perms
...
command: Data directory permission error message
2016-04-12 22:06:49 -07:00
James Phillips
f541acb0ec
Makes a detached copy of the tags when doing the override.
2016-04-11 14:53:18 -07:00
James Phillips
a885f1bdff
Tweaks comment about side effects.
2016-04-11 08:58:17 -07:00
James Phillips
eedeba682b
Makes reap time configurable for LAN and WAN.
2016-04-11 00:38:25 -07:00
James Phillips
529b24adbf
Merge pull request #1934 from hashicorp/b-check-output
...
Syncs a check's output with the catalog when output rate limiting isn't in effect.
2016-04-11 00:37:50 -07:00
James Phillips
244174d2c0
Uses the HealthCheck Clone() method in local_test.go.
2016-04-11 00:20:24 -07:00
James Phillips
ed86e5cc72
Adds a clone method to HealthCheck and uses that in local.go.
2016-04-11 00:05:39 -07:00
James Phillips
cfe0651208
Syncs a check's output with the catalog when output rate limiting isn't in effect.
2016-04-10 21:20:39 -07:00
Alex Myasoedov
49cc50b0d3
#1878 Set default bind address to 127.0.0.1 in development mode
2016-04-07 21:25:33 +03:00
James Phillips
d386019be1
Removes a bogus warning for Windows.
2016-04-05 18:04:23 -07:00
James Phillips
6a3b2b0618
Updates static assets to pull in #1702 .
2016-04-04 12:21:23 -07:00
Sean Chittenden
829478793b
Clean up verifyUniqueListners
...
The first pass over this was a hackjob in the sense that it was not elegant. Fixed.
Pointed out by: subcionscious in the middle of the night
2016-04-04 11:03:49 -07:00
Chavez
416c578f7a
Retry http server connecting in agent/http_test
2016-04-01 19:17:38 -07:00
Chavez
31c9829751
Test agent RPC client connection retries
2016-04-01 19:17:38 -07:00
Chavez
f201b4b565
command: Data directory permission error message
...
* Check for invalid data directory permissions
* Display appropriate permissions error message
* Add command test for bad data directory permissions
2016-04-01 19:17:38 -07:00
Sean Chittenden
45bd128f12
Rely exclusively on error to signal failure
...
Pointed out by: slackpad
2016-04-01 10:34:45 -07:00
Sean Chittenden
7a814fce63
Print a helpful message re: duplicate addresses
...
IP sockets provide nice endpoints where the kernel will fail to bind and will error out saying socket already in use. UNIX sockets, however, don't enjoy this nice property when cleaning up stale sockets on listen. Given the number of addresses in Consul, provide operators with a helpful message that indicates the source of the reused address.
Before this fix, it was possible for the HTTP socket to unlink the RPC socket, leading to confusing blocked behavior when running commands like `consul info`.
```
% cat tmp.config.json
{
"addresses": {
"http": "unix:///tmp/.consul.sock",
"rpc": "unix:///tmp/.consul.sock"
},
"unix_sockets": {
"mode": "0700"
}
}
% consul agent -config-file tmp.config.json -advertise=127.0.0.1 -data-dir=/tmp/
==> All listening endpoints must be unique: HTTP address already configured for RPC
Exit 1
```
2016-04-01 10:20:45 -07:00
Sean Chittenden
5994c9efbf
skip_leave_on_int's default changes based on agent mode
...
`skip_leave_on_int`'s behavior now changes based on whether or not the agent is acting as a client or server.
Fixes: 1687
2016-03-31 17:45:14 -07:00
Sean Chittenden
ec9b9be736
Guard against a node name containing pure whitespace for real
2016-03-31 15:10:19 -07:00
Sean Chittenden
ff529ffa40
Guard against a node name containing pure whitespace
2016-03-31 15:02:58 -07:00
Sean Chittenden
583abab552
Node names are not allowed to be empty
2016-03-31 14:47:55 -07:00
Sean Chittenden
53380f8e92
Change tests to accept an "at least this many" answers semantic
...
The size of answers vary based on the target platform. Accomodate this variance.
2016-03-30 11:48:32 -07:00
Sean Chittenden
7a7063c072
Fix tests
...
I'm not sure how I thought this passed last night, it was obviously wrong.
2016-03-30 10:16:05 -07:00
Sean Chittenden
19721f5c3d
Editorialize the comment re: UDPAnswerLimit
...
Prodded by: slackpad & fusiondog
2016-03-30 01:15:40 -07:00
Sean Chittenden
5ba7e74bb8
Use table-driven test for response limits
...
Much more exhaustive testing and shows where the limits are of the 512B limitation (quering by ID is less space efficient than querying by just a prepared query or service).
2016-03-30 01:05:49 -07:00
Sean Chittenden
0cb965f901
Remove duplicate paste-o
...
Pointed out by: slackpad
2016-03-29 23:31:31 -07:00
Sean Chittenden
ce88cde7b0
Test services and PQT limits
2016-03-29 23:08:58 -07:00
Sean Chittenden
e1e441fdee
Improve the use of constants across DNS tests
2016-03-29 23:08:40 -07:00
Sean Chittenden
c2d4354563
Use a non-default config value
2016-03-29 23:06:31 -07:00
Sean Chittenden
1dd4234683
Test missing config inputs
...
Alpha sort where appropriate to make it easier to keep in sync in the future.
2016-03-29 23:06:17 -07:00
Sean Chittenden
69696a9c1b
Correctly detect that an answer has been truncated
2016-03-29 19:52:31 -07:00
Sean Chittenden
efe940e7c4
Remove dead and incorrect code
...
This functionality is handled further upstream in `trimUDPAnswers()`
2016-03-29 19:38:26 -07:00
Sean Chittenden
c5c8daf07a
Trim UDP responses per configuration
2016-03-29 19:27:21 -07:00
Sean Chittenden
9fb64ab114
Allow adjusting the number of DNS records in a response...
...
Based on work done by @fusiondog in #1583 , extend the concept to use an integer instead of a boolean.
Fixes : #1583 && #1481
2016-03-29 19:23:56 -07:00
Patrick Feliciano
74623c372a
Adding singleton option to DNS for getaddrinfo bug.
2016-03-29 19:23:07 -07:00
Sean Chittenden
a92cda7bcd
Fix whitespace alignment in a comment
2016-03-23 16:00:39 -07:00
James Phillips
77eb95ddd8
Merge pull request #1861 from hashicorp/b-flaky-test
...
Widens coordinate update sleeps in unit tests.
2016-03-21 18:24:05 -07:00
James Phillips
cd7b3d4b49
Widens coordinate update sleeps in unit tests.
2016-03-21 18:23:11 -07:00
Hrishikesh Barua
9f9aa5084b
Added help text for -dev option #1804
2016-03-21 17:27:57 +05:30
James Phillips
b6cd4318d6
Merge pull request #1851 from hashicorp/f-ipv6-bind
...
Allow [::] as a bind address (binds to first public IPv6 address)
2016-03-19 16:16:19 -07:00
Wim
b5d45322b4
Allow [::] as a bind address (binds to first public IPv6 address)
2016-03-18 23:59:44 +01:00
Miquel Sabaté Solà
615c93a77d
Used 'unconvert' to remove unneeded conversions
...
I've removed unneeded conversions by performing the following commands:
$ go get -u github.com/mdempsky/unconvert
$ go list ./... | grep -v vendor | xargs unconvert -apply
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
2016-03-18 16:12:56 +01:00
Miquel Sabaté Solà
4567963d8e
command: deprecated the -dc flag in the agent CLI
...
The `-dc` flag from the agent CLI command has been deprecated in favor of
`-datacenter`. This is done this way because:
- Other CLI commands used `-datacenter`. See: event, exec and watch.
- The agent configuration file uses `datacenter`.
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
2016-03-18 15:44:35 +01:00
James Phillips
6e2c106006
Merge pull request #1819 from hashicorp/f-check-accept
...
Adds default set of accept headers for HTTP checks.
2016-03-09 21:12:25 -08:00
James Phillips
4cb16808f4
Adds default set of accept headers for HTTP checks.
2016-03-09 21:11:20 -08:00
James Phillips
5c80647e34
Tweaks algorithm so it's safe with an empty list and adds a PQ test.
2016-03-08 23:09:09 -08:00
Igor Dubinskiy
3a25860270
Make sure UDP DNS responses aren't larger than allowed
2016-03-07 16:41:17 -08:00
James Phillips
98784c6416
Updates to latest compiled ui assets.
2016-03-07 13:49:08 -08:00
James Phillips
eb7004f2b8
Renames "debug" endpoint and structures to "explain".
2016-03-07 10:45:39 -08:00
James Phillips
d7288e3a5e
Adds a prepared query debug endpoint.
2016-03-07 10:45:39 -08:00
Calvin Leung Huang
ff38fbc6a3
Correct the rtt -wan error message
2016-03-04 16:27:30 -05:00
James Phillips
f46fa33278
Tweaks formatting of inline output messages.
2016-03-02 19:47:00 -08:00
James Phillips
70575002d9
Retains the last output when a TTL check times out.
2016-03-02 17:58:01 -08:00
James Phillips
7ebad899da
Adds a new PUT-based TTL check update endpoint.
2016-03-02 17:54:01 -08:00
Stefan Engstrom
525cb0abc1
add accept header */* for agent check
2016-02-19 10:31:00 -06:00
James Phillips
052140f8a7
Merge pull request #1703 from alistanis/fix-issue-#1661
...
fixes issue #1661 and adds supporting test
2016-02-16 20:13:36 -08:00
James Phillips
e79dd7c8de
Fixes redirect from / to /ui when internal UI is enabled.
2016-02-12 16:11:32 -08:00
Chris Cooper
2c6f873ecd
add missing test
2016-02-09 10:49:41 -05:00
Chris Cooper
fe0e3aaaa0
fixes issue #1661 and adds supporting test
2016-02-09 10:35:39 -05:00
James Phillips
56cbabff63
Adds a sanity check to the local node info compare.
2016-02-07 15:07:23 -08:00
James Phillips
d2cc2801fa
Merge pull request #1698 from hashicorp/pr-1547-slackpad
...
Implements WAN address translation.
2016-02-07 14:26:04 -08:00
James Phillips
607728ddca
Adds a test to make sure we get the local address within the DC.
2016-02-07 14:16:15 -08:00
James Phillips
524aaae9b7
Increases wait to account for random stagger.
2016-02-07 13:56:45 -08:00
James Phillips
6790930c4e
Factors address translation into a single function.
2016-02-07 13:39:37 -08:00
James Phillips
4be2ab1a75
Moves tagged wan address to be managed by anti-entropy, not serf.
2016-02-07 13:12:42 -08:00
James Phillips
b59599742d
Adds a test to make sure the local sync doesn't clobber tagged addresses.
2016-02-07 11:26:19 -08:00
James Phillips
c60a526fde
Sets up config for more address tags down the road, renames struct members.
2016-02-07 10:37:34 -08:00
Evan Gilman
de8fd561d0
Use a map for additional node addresses
2016-02-06 23:01:45 -08:00
Evan Gilman
2f26771bb1
Add tests for consul WAN translation
2016-02-06 23:01:45 -08:00
Evan Gilman
146f719a66
Explicitly set advertise address in agent tests
...
Otherwise, the tests will fail when run on a machine with multiple
private addresses
2016-02-06 23:01:45 -08:00
Evan Gilman
a3240d28ba
Consider WAN addresses during Node and SRV record lookup
2016-02-06 23:01:45 -08:00
Evan Gilman
496cf5ae73
Implement `translate_wan_addrs` config option
...
This knob tells consul whether it should prefer the WAN address (if set)
when making service lookups in remote datacenters. This enables
reachability for remote services which are behind a NAT.
2016-02-06 23:01:45 -08:00
Evan Gilman
8fa2a60208
Rectify value of `AdvertiseAddrWan` when set elsewhere
...
`AdvertiseAddrs` has been introduced as a configuration option, which
duplicates a few other options, namely `AdvertiseAddrWan`. We need to
use this value elsewhere, so rather than doing a precedence check every
time we need to access it, rectify the value of `AdvertiseAddrWan` to
match
2016-02-06 23:01:45 -08:00
James Phillips
ed8a71efd7
Store WanAddress during Service/Check sync
2016-02-06 23:01:45 -08:00
James Phillips
507c83bdbd
Merge pull request #1690 from alistanis/use-http-package-statuses
...
refactors http server error codes
2016-02-06 22:38:48 -08:00
James Phillips
d60be51f01
Merge pull request #1284 from nbrownus/telemetry
...
Option to disable hostnames from telemetry
2016-02-06 22:00:14 -08:00
David Wittman
8667394955
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
7bc2ba4c18
Merge pull request #1654 from ryanslade/invalid-check-message
...
Updated invalid check error message.
2016-02-05 17:21:29 -08:00
Chris Cooper
5a07e89bb9
Merge branch 'master' of https://github.com/alistanis/consul into use-http-package-statuses
2016-02-05 17:30:43 -05:00
Chris Cooper
e2065e10c0
add comment codes
2016-02-05 17:06:42 -05:00
Chris Cooper
00dd9d6b78
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
8deec17f73
Use panic instead of returning a sentinel UUID values in unit tests
2016-02-01 16:42:04 -08:00
Sean Chittenden
7af6a94edb
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
43a4f3fe02
Option to disable hostnames from telemetry
2016-01-29 13:44:48 -08:00
Ryan Slade
dd98602bd7
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
f24a044755
Fixes the static asset generator for new pkg path, updates assets.
2016-01-15 10:21:42 -08:00
Seth Vargo
cae0ff354a
Use HTTPS + www. where appropriate
2016-01-13 17:44:01 -05:00
James Phillips
71e3901a65
Merge pull request #1592 from hashicorp/b-reap
...
Adds support for the reap lock.
2016-01-13 09:37:54 -08:00
James Phillips
343838f12b
Adds support for the reap lock.
2016-01-12 21:10:25 -08:00
Matt McCoy
9cbed7f89e
Add consul agent help for advertise-wan
2016-01-11 14:27:54 -05:00
James Phillips
49342dc973
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
1d733f4c36
Defaults monitor retries to 3 retries @ 1s for the consul lock command.
2016-01-05 18:34:22 -08:00
James Phillips
4afeddacc8
Adds monitor retries to the consul lock command.
2016-01-05 18:22:36 -08:00
James Phillips
8caa9e4c7e
Adds "try" support to locks and semaphores.
2016-01-05 18:22:36 -08:00
James Phillips
c1fe9092ed
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
a2eddcab38
remove address splitting
2016-01-05 11:49:40 -05:00
Philippe M. Chiasson
21345a8a7f
Move logged client IP to the end of the log message
2015-12-30 15:39:34 -05:00
Philippe M. Chiasson
34c36d9205
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
9002bfa37d
agent: enable ui for dev mode
2015-12-26 20:39:42 -05:00
Ryan Uber
afafae53fd
consul: dev mode works
2015-12-26 20:19:36 -05:00
Ryan Uber
87c1283b73
agent: update assetfs output
2015-12-24 22:21:34 -05:00
Ryan Uber
3cf6a173a5
agent: static UI is configurable
2015-12-24 22:21:34 -05:00
Ryan Uber
2d7ced22b3
agent: initial web assets
2015-12-24 22:21:34 -05:00
Ryan Uber
c3e7c98da2
agent: compile web assets into consul binary
2015-12-24 22:21:34 -05:00
Philippe M. Chiasson
9553ac0ca8
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
d61661a98f
Adds a Bool helper function.
2015-12-22 10:43:32 -08:00
James Phillips
e80d1a58fb
Moves logger down where it's used for reaping.
2015-12-22 10:29:55 -08:00
James Phillips
0b1c346990
Changes sense of option to "reap" and uses nil for "not set".
2015-12-22 10:28:10 -08:00
James Phillips
2b257c922e
Adds child process reaping when Consul is running as PID 1.
2015-12-21 21:47:35 -08:00
James Phillips
651f255b9b
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
a4dc11167f
Adds telemetry on number of DNS queries served, per-agent.
2015-12-21 17:01:28 -08:00