Commit Graph

3806 Commits

Author SHA1 Message Date
Chavez 10f297e8fc 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 af0f87ed90 Merge pull request #1910 from hashicorp/f-detect-dupe-addrs
Print a helpful message re: duplicate addresses
2016-04-01 10:35:04 -07:00
Sean Chittenden fca71e1974 Rely exclusively on error to signal failure
Pointed out by: slackpad
2016-04-01 10:34:45 -07:00
Sean Chittenden 4660cb969f 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 18de29a2fe Merge pull request #1909 from hashicorp/f-toggle-skip-leave-on-int-server
skip_leave_on_int's default changes based on agent mode
2016-03-31 18:07:39 -07:00
Sean Chittenden 8156eb9953 Add a note re: pre-0.7 behavior 2016-03-31 18:06:58 -07:00
Sean Chittenden 62231bae6b Add changelog entry for skip_leave_on_interrupt default behavior changing 2016-03-31 17:58:06 -07:00
Sean Chittenden 9eaffc456f 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 178311a64d Merge pull request #1908 from hashicorp/b-empty-node-name
B empty node name
2016-03-31 15:14:19 -07:00
Sean Chittenden e65ed9dd61 Merge branch 'master' of ssh://github.com/hashicorp/consul into b-empty-node-name 2016-03-31 15:12:43 -07:00
Sean Chittenden 08aa037dd3 Guard against a node name containing pure whitespace for real 2016-03-31 15:10:19 -07:00
Sean Chittenden 882f7dd0bc Merge pull request #1907 from hashicorp/b-empty-node-name
Node names are not allowed to be empty
2016-03-31 15:09:26 -07:00
Sean Chittenden faa2aa4436 Guard against a node name containing pure whitespace 2016-03-31 15:02:58 -07:00
Sean Chittenden c03d025903 Node names are not allowed to be empty 2016-03-31 14:47:55 -07:00
Sean Chittenden 1924c64e3b Add a changelog entry for #1712 2016-03-30 14:52:24 -07:00
Sean Chittenden e7fba3b31c Merge pull request #1898 from hashicorp/b-dns-single-record
Fix DNS tests
2016-03-30 12:40:01 -07:00
Sean Chittenden 85c1da796d 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 9f74944f71 Add lib.AbsInt() helper function 2016-03-30 11:47:37 -07:00
Sean Chittenden 12f1a71f00 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 41fada485a Merge pull request #1712 from hashicorp/b-dns-single-record
Expose a tunable to adjust the number of DNS records in an answer (useful for defeating RFC3484 §6 Rule 9).
2016-03-30 01:17:16 -07:00
Sean Chittenden 1bcf8d9b33 Editorialize the comment re: UDPAnswerLimit
Prodded by: slackpad & fusiondog
2016-03-30 01:15:40 -07:00
Sean Chittenden 9d7a6d895a 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 7603dcfd4b Reword `udp_answer_limit` for the better. 2016-03-29 23:48:22 -07:00
Sean Chittenden 49f8b147b8 Remove duplicate paste-o
Pointed out by: slackpad
2016-03-29 23:31:31 -07:00
Sean Chittenden 8f7bed30a6 Test services and PQT limits 2016-03-29 23:08:58 -07:00
Sean Chittenden 6392dfe0e3 Improve the use of constants across DNS tests 2016-03-29 23:08:40 -07:00
Sean Chittenden 0bf0f2a1ab Use industry jargon re: DNS round-robin
s/randomized DNS round-robin/round-robin DNS/
2016-03-29 23:07:42 -07:00
Sean Chittenden b2e0baec4e Use a non-default config value 2016-03-29 23:06:31 -07:00
Sean Chittenden fbf1e5c939 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 c3dcd9acfb Correctly detect that an answer has been truncated 2016-03-29 19:52:31 -07:00
Sean Chittenden c0aa155e61 Move lib's tests to lib_test
This suite of tests is only testing the exported functions
2016-03-29 19:51:37 -07:00
Sean Chittenden 0ad4fab7d4 Remove dead and incorrect code
This functionality is handled further upstream in `trimUDPAnswers()`
2016-03-29 19:38:26 -07:00
Sean Chittenden 64c1c12752 Whitespace, indent markdown correctly 2016-03-29 19:27:36 -07:00
Sean Chittenden d1166307aa Trim UDP responses per configuration 2016-03-29 19:27:21 -07:00
Sean Chittenden f8a0e1fb1a Merge branch 'b-dns-single-record' of ssh://github.com/hashicorp/consul into b-dns-single-record
# Conflicts:
#	command/agent/dns.go
2016-03-29 19:24:53 -07:00
Sean Chittenden a29f6e8c8f 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 e533f9bce1 Adding singleton option to DNS for getaddrinfo bug. 2016-03-29 19:23:07 -07:00
Sean Chittenden ef7b13e81d Merge pull request #1894 from hashicorp/f-rename-server-manager
F rename server manager
2016-03-29 17:44:26 -07:00
Sean Chittenden 5ae7835988 Rename server_details package to agent 2016-03-29 17:39:19 -07:00
Sean Chittenden 7f06c71650 Add a quick package doc for the servers package 2016-03-29 16:22:53 -07:00
Sean Chittenden 897282f77d Rename serverConfig to serverList
serverList is a vastly more accurate name.  Chase accordingly.  No functional change other than types and APIs.
2016-03-29 16:17:16 -07:00
Sean Chittenden 4984b6111d Gratuitous rename 1/2
Reduce cognative load and perform an overdue rename.  No functional change.

Rename the `server_manager` package to `servers`.  Rename the `ServerManager` package to `Manager`.  In `client`, rename `serverMgr` to `servers`.
2016-03-29 16:12:00 -07:00
Sean Chittenden 47c3146342 Merge pull request #1880 from hashicorp/f-pretest-server
Pre-connect new rebalanced server
2016-03-29 11:12:59 -07:00
Sean Chittenden 4734e0113f Remove two unused constants 2016-03-29 11:11:41 -07:00
Sean Chittenden cb9833b134 Remove useless comment residual from decomposing functions 2016-03-29 10:53:00 -07:00
Sean Chittenden 1f049a3c38 EDYSLEXICMOMENT 2016-03-29 10:50:10 -07:00
Sean Chittenden 177f64134e Refactor out recocileServerList anon function
Add testing to reconcileServerList and test various server sizes.

Test that a percentage of nodes fail their Ping (50% in testing atm)
2016-03-29 02:45:38 -07:00
Sean Chittenden 6609ee5d51 Teach fauxConnPool to fail a pct of the time
50% failure rate seems legit as a starting point w/ 100 servers.
2016-03-28 14:53:29 -07:00
Sean Chittenden 7d26f7bfa7 Call NotifyFailedServers to rotate the server list 2016-03-28 14:12:41 -07:00
Sean Chittenden 6a987062b9 Add log line re: server manager backing off and sleeping
This is useful in situations where the RPC rotate duration is greater than 1µs.  WTB exponential backoff of logging so we don't spam forever.
2016-03-28 14:04:04 -07:00