6200 Commits

Author SHA1 Message Date
Frank Schroeder
7f7c0ad65e agent: clone partial consul config
The agent configuration for the consul server is a partial configuration
which needs to be cloned to avoid data races.

This is a stop-gap measure before moving the configuration into
a separate package.
2017-07-07 09:22:34 +02:00
Frank Schroeder
727b6444ad dns: fix data races in DNS compression tests
Make the DisableCompression value configurable at runtime
to allow tests to change it without restarting/recreating
the server.
2017-07-07 09:22:34 +02:00
Frank Schroeder
0e931a713c agent: fix failing test from localState decoupling
Would be nice to know what changed though.
2017-07-07 09:22:34 +02:00
Frank Schroeder
0763788b82 agent: fix data race between consul server and local state 2017-07-07 09:22:34 +02:00
Frank Schroeder
8ab88976cf serf: monkey patch data race in github.com/hashicorp/serf
https://github.com/hashicorp/serf/pull/476

This should be replaced when the patch is merged upstream
and the library is upgraded.
2017-07-07 09:22:34 +02:00
Frank Schroeder
119f6a1ed7 rpc: monkey patch fix for data races for localState
The tests that use the localState of the agent access the internal
variables and call methods which are not guarded by locks creating
data races in tests. While the use of internal variables is somewhat
easy to spot the fact that not all methods are thread-safe is a
surprise.

A proper fix requires the localState struct to be moved into its own
package so that tests in the agent can only access the external
interface.

However, the localState is currently dependent on the agent.Config
which would create a circular dependency. Therefore, the Config
struct needs to be moved first for this to happen.

This patch literally monkey patches the use of the lock around the
cases which have data races and marks them with a
// todo(fs): data race comment.
2017-07-07 09:22:34 +02:00
Frank Schroeder
2159d499e3 rpc: try shutting down leader first to avoid hang in TestLeader_LeftServer 2017-07-07 09:22:34 +02:00
Frank Schroeder
f12fac278e rpc: fix logging and try quicker timing of TestServer_JoinSeparateLanAndWanAddresses 2017-07-07 09:22:34 +02:00
Frank Schroeder
bae4b1d045 rpc: less agressive raft timeouts
Allowing more time for raft to consolidate should
drop the number of leader elections.
2017-07-07 09:22:34 +02:00
Frank Schroeder
457b98a099 rpc: run agent/consul tests in parallel 2017-07-07 09:22:34 +02:00
Frank Schroeder
13eeeb720d rpc: refactor sessionTimers and fix racy tests
The sessionTimers map was secured by a lock which wasn't used
properly in the tests. This lead to data races and failing tests
when accessing the length or the members of the map.

This patch adds a separate SessionTimers struct which is safe
for concurrent use and which ecapsulates the behavior of the
sessionTimers map.
2017-07-07 09:22:34 +02:00
Frank Schroeder
05f756853e rpc: fix TestServer_Leave
wait for the leader election.
2017-07-07 09:22:34 +02:00
Frank Schroeder
583959392b rpc: fix TestSession_Renew
make the timing less tight
2017-07-07 09:22:34 +02:00
Frank Schroeder
ff2c29c0be rpc: fix TestReadyForConsistentRead
timing was too tight. Standardized name.
2017-07-07 09:22:34 +02:00
Frank Schroeder
fcab525053 rpc: fix for 'no leader' in TLS tests
Ensure both servers know about each other before looking
for a leader.
2017-07-07 09:22:34 +02:00
Frank Schroeder
b2a71fd8b0 rpc: fix TestServer_JoinWAN_Flood
The second server in the first data center should not be
in bootstrap mode.
2017-07-07 09:22:34 +02:00
Frank Schroeder
8369b6cb9d rpc: provide unique node names for server and client 2017-07-07 09:22:34 +02:00
Frank Schroeder
534977239b rpc: prefix log output with test name 2017-07-07 09:22:34 +02:00
Frank Schroeder
c8ef588d8d rpc: discover serf wan port before starting serf lan
When using dynamic ports for the serf clusters then
the actual bind port of the serf WAN cluster needs to
be discovered before the serf LAN cluster is started
since the serf LAN cluster announces the port of the WAN
cluster.
2017-07-07 09:22:34 +02:00
Frank Schroeder
53eab7e970 rpc: bind rpc test server to port 0 2017-07-07 09:22:34 +02:00
Frank Schroeder
e9e2c599db rpc: refactor: unify test server setup 2017-07-07 09:22:34 +02:00
Frank Schroeder
c803146550 rpc: fix typos 2017-07-07 09:22:34 +02:00
Frank Schroeder
7bbfef7000 api: refactor: unify naming of API tests 2017-07-07 09:22:34 +02:00
Frank Schroeder
8edeabce9a api: refactor: prefix all API tests with API_ 2017-07-07 09:22:34 +02:00
Frank Schroeder
a0368e3827 agent: refactor: log to stderr during tests 2017-07-07 09:22:34 +02:00
Frank Schroeder
2afafe6911 agent: refactor: use handler for test http tls server 2017-07-07 09:22:34 +02:00
Frank Schroeder
63447a0cf3 agent: refactor: make address translation part of the agent 2017-07-07 09:22:34 +02:00
Chris Griggs
bd03f8a8ed Update # of ports (#3238)
I counted twice.
2017-07-06 13:50:12 -07:00
James Phillips
224f9dd2c1 Adds links to Lifeguard info. 2017-07-06 12:19:39 -07:00
James Phillips
daaf6e214b Update CHANGELOG.md 2017-07-06 09:46:26 -07:00
Preetha Appan
f00df77d38 Updating CHANGELOG.md 2017-07-06 09:19:22 -05:00
preetapan
4abbbc91f5 Merge pull request #3231 from hashicorp/issue_3230
Fixes deadlock between barrier write and leader notify channel read .…
2017-07-06 09:11:53 -05:00
Preetha Appan
f549c06764 Rename to raftNotifyCh, fix typo 2017-07-06 09:10:36 -05:00
preetapan
dabd94c73d Merge pull request #3236 from hashicorp/serf_update
Update serf to pull in disk space failure recovery changes
2017-07-06 08:59:46 -05:00
Preetha Appan
6d172b7059 Update serf to pull in disk space failure recovery changes 2017-07-06 08:58:42 -05:00
Preetha Appan
f2171a6720 Fixes deadlock between barrier write and leader notify channel read . Fixes #3230 2017-07-05 17:09:18 -05:00
Stu Small
f7907db85f Fix mistake in curl example for join agent API call 2017-07-03 00:11:18 +02:00
James Phillips
fb0e4d531b Update CHANGELOG.md 2017-06-29 16:27:17 -07:00
Grégoire Seux
940b1513a6 Correctly forward Host header in healthcheck (#3203)
Host header must be set explicitely on http requests

Change-Id: I91a32f0fb1ec3fbc713adf0e10869797e91172c7
Signed-off-by: Grégoire Seux <g.seux@criteo.com>
2017-06-29 16:26:08 -07:00
James Phillips
1f60723610 Update CHANGELOG.md 2017-06-29 14:28:54 -07:00
Maciej Stępyra
b775a85624 Missing tools in makefile (#3205) 2017-06-29 12:55:01 +02:00
James Phillips
c42c1cf354 Update CHANGELOG.md 2017-06-28 20:18:24 -07:00
Preetha Appan
d5d79d0ad3 fix type in make file 2017-06-28 09:48:00 -05:00
James Phillips
f2f9a7621f Update CHANGELOG.md 2017-06-27 18:48:18 -07:00
James Phillips
ae1c6fd2c0 Bumps Raft library. (#3201)
This picks up the fix for https://github.com/hashicorp/raft/issues/212,
which can cause out-of-date followers to get stuck in a loop trying to
sync because they don't discard old snapshot data.

There's some incidental reordering of the vendor.json since the last
update to that file was merged by hand.
2017-06-27 18:41:00 -07:00
preetapan
48983bdeed Merge pull request #3195 from hashicorp/issue-3018-filehandle-leaks
Fix socket file handle leaks from old blocking queries upon consul reload
2017-06-27 16:47:19 -05:00
Preetha Appan
07db760d53 Fix missing formatting directive causing go vet to fail 2017-06-27 16:32:38 -05:00
Preetha Appan
63564da69c Updating CHANGELOG.md 2017-06-27 16:28:48 -05:00
Preetha Appan
d25be8671a Make sure to call cancel on the context 2017-06-27 16:22:57 -05:00
James Phillips
aa45338d9d
Puts the tree back in 0.9.0 dev mode. 2017-06-27 11:18:45 -07:00