1171 Commits

Author SHA1 Message Date
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
Justin Lambert
9ece75fc78 allow automatically discovering aws ec2 consul servers 2016-05-11 19:41:41 -06: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