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
a440433ac8
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
bd05093986
Add a note re: pre-0.7 behavior
2016-03-31 18:06:58 -07:00
Sean Chittenden
e83e878add
Add changelog entry for skip_leave_on_interrupt default behavior changing
2016-03-31 17:58:06 -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
cbe0910dc8
Merge pull request #1908 from hashicorp/b-empty-node-name
...
B empty node name
2016-03-31 15:14:19 -07:00
Sean Chittenden
0f41b0f7e1
Merge branch 'master' of ssh://github.com/hashicorp/consul into b-empty-node-name
2016-03-31 15:12:43 -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
9862bb9061
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
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
b0b387411a
Add a changelog entry for #1712
2016-03-30 14:52:24 -07:00
Sean Chittenden
d1ef48b97f
Merge pull request #1898 from hashicorp/b-dns-single-record
...
Fix DNS tests
2016-03-30 12:40:01 -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
4584e70636
Add lib.AbsInt() helper function
2016-03-30 11:47:37 -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
f44f411b70
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
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
fe0a7283d3
Reword `udp_answer_limit` for the better.
2016-03-29 23:48:22 -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
fcee9779ae
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
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
88c42f4056
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
efe940e7c4
Remove dead and incorrect code
...
This functionality is handled further upstream in `trimUDPAnswers()`
2016-03-29 19:38:26 -07:00
Sean Chittenden
d4f7f143f2
Whitespace, indent markdown correctly
2016-03-29 19:27:36 -07:00
Sean Chittenden
c5c8daf07a
Trim UDP responses per configuration
2016-03-29 19:27:21 -07:00
Sean Chittenden
4b5674bee3
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
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
cff05be5b4
Merge pull request #1894 from hashicorp/f-rename-server-manager
...
F rename server manager
2016-03-29 17:44:26 -07:00
Sean Chittenden
7cdc056ca5
Rename server_details package to agent
2016-03-29 17:39:19 -07:00
Sean Chittenden
80f9f54bb3
Add a quick package doc for the servers package
2016-03-29 16:22:53 -07:00
Sean Chittenden
5501feecbe
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
6185f931d8
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
5cffcd56c3
Merge pull request #1880 from hashicorp/f-pretest-server
...
Pre-connect new rebalanced server
2016-03-29 11:12:59 -07:00
Sean Chittenden
3666c87d2f
Remove two unused constants
2016-03-29 11:11:41 -07:00
Sean Chittenden
299d058d54
Remove useless comment residual from decomposing functions
2016-03-29 10:53:00 -07:00
Sean Chittenden
ec25ad84a6
EDYSLEXICMOMENT
2016-03-29 10:50:10 -07:00
Sean Chittenden
b684b15d94
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
c56f039884
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
43aed6376a
Call NotifyFailedServers to rotate the server list
2016-03-28 14:12:41 -07:00
Sean Chittenden
6648d31579
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
Sean Chittenden
544a263a62
Remove old debugging lines of questionable future value
2016-03-28 14:02:53 -07:00
Sean Chittenden
e5b5078415
Shuffle in place
...
Don't create a copy and save the copy, not necessary any more.
2016-03-28 14:02:27 -07:00
Sean Chittenden
a81eb95acc
Nuke unnecessary comment
...
See above function comments for details
2016-03-28 13:57:36 -07:00