Commit Graph

465 Commits

Author SHA1 Message Date
Robert Xu fff6546c75 Minor cleanup to logic and testsuite.
Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-18 18:47:05 -04:00
Robert Xu a2fea2ce55 Utilise new raft.SetPeers() method, move expect logic to leader.go.
This way, we don't use EnableSingleMode, nor cause chaos adding peers.

Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-18 12:03:30 -04:00
Robert Xu 31c392813c Add expect bootstrap '-expect=n' mode.
This allows for us to automatically bootstrap a cluster of nodes after
'n' number of server nodes join. All servers must have the same 'n' set, or
they will fail to join the cluster; all servers will not join the peer set
until they hit 'n' server nodes.

If the raft commit index is not empty, '-expect=n' does nothing because it
thinks you've already bootstrapped.

Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-16 17:40:33 -04:00
Armon Dadgar 91373968a8 Adding server_name configuration for TLS 2014-06-13 11:10:27 -07:00
Robert B Gordon 987c078957 Seems like we should actually check the reference count. 2014-06-13 11:25:01 -05:00
Armon Dadgar ea054b8847 consul: Start RPC before Raft, wait to accept connecitons 2014-06-11 10:17:58 -07:00
Armon Dadgar 1812eedad9 consul: start RPC after fully initialized. Fixes #160 2014-06-11 09:46:44 -07:00
Armon Dadgar 2e18774c02 consul: Avoid network for server RPC. Fixes #148. 2014-06-10 19:12:36 -07:00
Armon Dadgar cae158b310 consul: Provide output for serfHealth check. Fixes #176. 2014-06-09 16:07:22 -07:00
Armon Dadgar 9e925bf458 consul: Adding support for optional session name 2014-06-09 11:42:28 -07:00
Armon Dadgar 06cd40d1e7 consul: fixing use of nil log output. Fixes #203 2014-06-09 11:16:53 -07:00
Armon Dadgar c656bbfbcf Rename shared msgpack handle 2014-06-08 14:02:42 -07:00
Andrew M Bursavich d209517d50 reuse codec.MsgpackHandle 2014-06-07 01:13:38 -07:00
Armon Dadgar b5bd20634a consul: Gossip the build using Serf 2014-06-06 15:36:40 -07:00
Armon Dadgar d0d85b461c consul: Sort datacenter list. Fixes #198 2014-06-06 14:12:40 -07:00
William Tisäter 7b4c7f3f63 Log peers when `TestLeader_LeftServer` fail 2014-05-30 21:18:37 +02:00
William Tisäter 2c13f8a03e Re-configure `LeaderLeaseTimeout` to pass validation 2014-05-30 20:57:39 +02:00
Armon Dadgar 890d4d771f consul: Ensure clients also implement LocalMember 2014-05-29 11:21:56 -07:00
Armon Dadgar f9766541e1 Merge pull request #173 from hashicorp/f-agent-self
Add `/v1/agent/self` and return local agent config
2014-05-29 11:18:19 -07:00
Armon Dadgar 09a988e8d4 consul: Conn pool clean, spare existing streams 2014-05-28 16:55:39 -07:00
Armon Dadgar 319ab05b8c consul: Provide logger to yamux 2014-05-28 16:32:25 -07:00
Armon Dadgar 6b2fe4869b consul: Suppress messages about closed connections 2014-05-28 16:32:25 -07:00
Armon Dadgar d4a62e7c0d consul: ensure connections are properly closed 2014-05-28 16:32:24 -07:00
Armon Dadgar 74452a5ae0 consul: Add new protocol version for yamux 2014-05-28 16:32:24 -07:00
Armon Dadgar 313f79913e consul: Pass protocol version for leader forwarding 2014-05-28 16:32:24 -07:00
Armon Dadgar 345efd74e4 consul: remove explicit leave, use reconciliation 2014-05-28 16:32:24 -07:00
Armon Dadgar d857c63f41 consul: Server processes local Serf join 2014-05-28 16:32:24 -07:00
Armon Dadgar bf25792e2f consul: Fix client server reaping 2014-05-28 16:32:24 -07:00
Armon Dadgar 589105eee4 consul: Store the protocol version for a server 2014-05-28 16:32:24 -07:00
Armon Dadgar c8831db91c consul: Adding Addr to serverParts 2014-05-28 16:32:24 -07:00
Armon Dadgar a79c3d2103 consul: Pool client connections, support for yamux connections 2014-05-28 16:32:24 -07:00
Armon Dadgar 8e636ef340 consul: Support for incoming Yamux connections 2014-05-28 16:32:24 -07:00
Armon Dadgar c98736b8ae Merge pull request #174 from nelhage/multi-ca-cert
Allow multiple PEM-encoded certificates in the ca_file.
2014-05-27 10:47:41 -07:00
William Tisäter a028c3ae93 Add `/v1/agent/self` and return local agent config 2014-05-27 01:15:33 +02:00
William Tisäter 95e7752721 Wait for joining member in `TestClient_JoinLAN` 2014-05-27 00:55:20 +02:00
William Tisäter 405dfd99c1 Fix tests on Go 1.3 and greater
Go 1.3 and greater require ServerName or InsecureSkipVerify to be set.

https://codereview.appspot.com/67010043/
2014-05-27 00:47:47 +02:00
William Tisäter 0ddc86bbcc Revert "Remove `WaitForResult` from two failing tests"
This reverts commit f0842409cde194ce2102ff2baf3de821cb6ac9d5.
2014-05-26 23:49:23 +02:00
William Tisäter 93e89b8148 Remove TODO comments 2014-05-26 23:44:46 +02:00
William Tisäter f990e9fcb2 Remove `WaitForResult` from two failing tests 2014-05-26 23:44:37 +02:00
Nelson Elhage 7d4824ade7 Allow multiple PEM-encoded certificates in the ca_file.
fixes #167
2014-05-26 10:58:57 -07:00
Armon Dadgar 5c90e9b43e consul: Suppress error if connection is closed 2014-05-23 16:28:55 -07:00
Armon Dadgar d42474a7cb Support wildcard for check lookup. Fixes #152 2014-05-21 12:45:12 -07:00
Armon Dadgar 5fa10c912e Support rejoin after leave. Fixes #110. 2014-05-21 12:32:24 -07:00
Armon Dadgar 3b0d3b76c2 consul: Adding support for lock-delay in sessions 2014-05-20 16:25:29 -07:00
Armon Dadgar 9470f9a5a2 gofmt 2014-05-20 16:25:29 -07:00
Armon Dadgar d5b1330227 agent: First pass at session endpoints 2014-05-20 16:25:29 -07:00
Armon Dadgar e0c791f305 consul: Adding tests for session endpoints 2014-05-20 16:25:29 -07:00
Armon Dadgar e58e9bceb0 consul: First pass at Session RPC endpoints 2014-05-20 16:25:29 -07:00
Armon Dadgar 2fbcc07e1b consul: Testing FSM snapshot of sessions 2014-05-20 16:25:29 -07:00
Armon Dadgar 55ce278223 consul: Testing KVS Lock/Unlock in FSM 2014-05-20 16:25:29 -07:00
Armon Dadgar bfd008a6da consul: FSM tests for session 2014-05-20 16:25:28 -07:00
Armon Dadgar 6ed9c4bdb6 consul: Adding support for sessions to FSM 2014-05-20 16:25:28 -07:00
Armon Dadgar 8baa83a668 consul: Adding SessionList to snapshot 2014-05-20 16:25:28 -07:00
Armon Dadgar 994a149965 consul: Session invalidation releases locks 2014-05-20 16:25:28 -07:00
Armon Dadgar cd7e3967be consul: Support KVSLock and KVSUnlock 2014-05-20 16:25:28 -07:00
Armon Dadgar 35996042ae consul: Switch notify to using txn defer 2014-05-20 16:25:28 -07:00
Armon Dadgar 679e4e6e70 consul: Adding session invalidation 2014-05-20 16:25:28 -07:00
Armon Dadgar 2e3d3ec2f8 consul: Adding Defer to MDBTxn 2014-05-20 16:25:28 -07:00
Armon Dadgar a1b59bcaf9 consul: Adding session tests 2014-05-20 16:25:28 -07:00
Armon Dadgar f7edd7763b consul: Adding SessionDestroy 2014-05-20 16:25:28 -07:00
Armon Dadgar 0491e58fb9 consul: Adding session lookup methods 2014-05-20 16:25:27 -07:00
Armon Dadgar 7c38c1ca85 consul: Adding SessionCreate and SessionRestore 2014-05-20 16:25:27 -07:00
Armon Dadgar 00477dca21 consul: Adding util method to generate a UUID 2014-05-20 16:25:27 -07:00
Armon Dadgar a5c60eb556 consul: Adding new session tables 2014-05-20 16:25:27 -07:00
Armon Dadgar 59c0d35184 Merge pull request #145 from abursavich/master
consul: use empty slice instead of nil slice when no tags exist for /v1/catalog/services
2014-05-19 15:37:43 -07:00
Armon Dadgar 6c0479f082 Merge pull request #136 from hashicorp/f-testutil-package
WIP: Proof of concept using `WaitForResult` in tests
2014-05-16 15:03:50 -07:00
Armon Dadgar f8898dce6e consul: Disable conflict resolution. See #97. 2014-05-16 14:11:53 -07:00
Armon Dadgar 2d8b1f5b6f consul: Avoid name conflict on WAN ring. Fixes #158. 2014-05-16 14:07:53 -07:00
Mitchell Hashimoto ec547d5b99 command/agent: find proper private IP on Windows
/cc @armon
2014-05-15 11:27:30 -07:00
Armon Dadgar c54f53eaf7 consul: Remove RPC client tracking. Fixes #149. 2014-05-14 17:34:24 -07:00
Andrew M Bursavich 1dd3dfe801 use empty slice instead of nil slice when no tags exist for service 2014-05-13 00:18:36 -07:00
Armon Dadgar 813ebf0b0c consul: Adding a Raft command enqueue limit 2014-05-09 19:18:06 -07:00
William Tisäter 2f23eb42ea Add TODOs for failing tests 2014-05-09 11:38:29 +02:00
William Tisäter e749e2ebc9 Wait wrap tests in `TestServer_JoinLAN` 2014-05-09 03:41:47 +02:00
William Tisäter 31c962f2a9 Sleep since no obvious way to wait for shutdown 2014-05-09 03:24:13 +02:00
William Tisäter 16bfc8fd1d Fix race condition in `TestLeader_RegisterMember` 2014-05-09 03:05:38 +02:00
William Tisäter a211e1164c Fix race condition in `TestCatalogListNodes` 2014-05-09 03:00:56 +02:00
William Tisäter 30f8573c78 Change blocking call sleep time 2014-05-09 02:36:25 +02:00
William Tisäter cb54c4cb49 Remove all sleeps from `client_test.go` 2014-05-09 02:29:51 +02:00
William Tisäter 9b6b75f77c Fix race condition in `TestLeader_FailedMember` 2014-05-09 02:14:39 +02:00
William Tisäter d6f3dc510c Remove all sleeps from `internal_endpoint_test.go` 2014-05-09 02:11:40 +02:00
William Tisäter e27f89fec1 Remove all sleeps from `kvs_endpoint_test.go` 2014-05-09 02:09:53 +02:00
William Tisäter 44d3985ea8 Remove all sleeps from `leader_test.go` 2014-05-09 02:04:52 +02:00
William Tisäter b108af2dd3 Remove all sleeps from `server_test.go` 2014-05-09 01:38:58 +02:00
William Tisäter 5a56d8a2c6 Remove all sleeps from `status_endpoint_test.go` 2014-05-09 01:23:54 +02:00
William Tisäter d0b38ad641 Fix imports in `health_endpoint_test.go` 2014-05-09 01:21:13 +02:00
William Tisäter 89c018b681 Remove all sleeps from `catalog_endpoint_test.go` 2014-05-09 01:18:35 +02:00
William Tisäter c391c5bfcb Remove all sleeps from `health_endpoint_test.go` 2014-05-09 01:18:08 +02:00
William Tisäter 1ee709ba38 Require datacenter argument for `WaitForLeader` 2014-05-09 01:17:35 +02:00
William Tisäter 463f85c3c7 Move argument structs back in original position 2014-05-07 23:51:15 +02:00
William Tisäter c624161827 Move `WaitForLeader` calls to top of test 2014-05-07 23:47:16 +02:00
William Tisäter bdbe97545a Drop client arguments from `WaitForLeader` 2014-05-07 23:41:14 +02:00
William Tisäter 2019f454d0 Fix `TestCatalogListNodes_StaleRaad` with `WaitForLeader` 2014-05-07 13:53:29 +02:00
William Tisäter 81b572cb31 Proof of concept using `WaitForResult` in tests 2014-05-07 02:48:25 +02:00
Armon Dadgar 144a531237 consul: Drop the Raft logs size warning from 8MB to 1MB 2014-05-06 14:10:08 -07:00
Armon Dadgar 5c34e01d17 consul: Fixing for upstream API changes 2014-05-01 18:11:36 -07:00
Armon Dadgar 8b487ce103 consul: Support listkeys without seperator 2014-04-30 23:44:27 -04:00
Armon Dadgar a649ea1cbc consul: Adding ListKeys endpoint 2014-04-30 23:44:27 -04:00
Armon Dadgar a631821f6c consul: Adding a key listing mechanism 2014-04-30 23:44:27 -04:00
Armon Dadgar d045335ca0 consul: Rename Misc RPC to Internal 2014-04-30 23:43:59 -04:00
Armon Dadgar 6720349697 consul: Testing the Misc endpoitns 2014-04-30 23:43:58 -04:00
Armon Dadgar 702fe3afda consul: Adding Misc RPC endpoint 2014-04-30 23:43:58 -04:00
Armon Dadgar 75f9a126ae consul: Adding methods to dump node info 2014-04-30 23:43:58 -04:00
Armon Dadgar b54e1696f2 consul: Hack around LMDB delete issue. Fixes #85. 2014-04-29 16:01:20 -07:00
Armon Dadgar ece6849cac consul: Expose runtime stats for debugging 2014-04-29 10:55:42 -07:00
Armon Dadgar de507c0317 consul: Adding a warning for large raft entries 2014-04-28 22:25:09 -07:00
Armon Dadgar c1ae3d78ef consul: Increase DB size on 64bit systems. Fixes #81. 2014-04-28 17:07:59 -07:00
Armon Dadgar 08cba55ab3 consul: Do not fire ServerUp on WAN node join 2014-04-23 12:20:54 -07:00
Armon Dadgar d581af7692 consul: Clear peer set on leave. Fixes #69 2014-04-23 11:39:45 -07:00
Armon Dadgar 2845d24cfa Store check output in dedicated field. Fixes #59. 2014-04-21 16:20:22 -07:00
Armon Dadgar 28bd111098 consul: Adding strongly consistent read tests 2014-04-21 12:08:00 -07:00
Armon Dadgar 37f38fca15 consul: Testing a stale read 2014-04-21 11:57:39 -07:00
Armon Dadgar 7a3c3e718e consul: Adding consistent read enforcement 2014-04-21 11:49:21 -07:00
Armon Dadgar 710a823379 consul: Merging BlockingQuery into QueryOptions 2014-04-21 11:31:15 -07:00
Armon Dadgar 55b5fd4e6a consul: Use QueryMeta to simplify blockingRPC interface 2014-04-21 11:18:27 -07:00
Armon Dadgar 959ffb5758 consul: Move the Index into QueryMeta 2014-04-21 11:13:36 -07:00
Armon Dadgar 5b91b6f06e consul: Moving QueryMeta handling into blockingRPC 2014-04-21 11:04:52 -07:00
Armon Dadgar f7bcffe627 consul: Adding a method to enforce consistent read 2014-04-21 10:59:46 -07:00
Armon Dadgar dbdfcbc717 consul: Testing QueryMeta 2014-04-21 10:59:46 -07:00
Armon Dadgar 9e0e5259f9 consul: Adding support for QueryMeta on all queries 2014-04-21 10:59:46 -07:00
Armon Dadgar da9c89e9ba consul: Support a stale read query 2014-04-21 10:59:46 -07:00
Armon Dadgar 4c7d9a01b3 consul: Switch to RPCInfo 2014-04-21 10:59:46 -07:00
Armon Dadgar 85fd3158c3 consul: Adding RPCInfo to get common info 2014-04-21 10:59:46 -07:00
Armon Dadgar 6ea9ec310c consul: Adding additional query options and return meta data 2014-04-21 10:59:46 -07:00
Armon Dadgar 25e4e526ae consul: Update to use raft-mdb package 2014-04-19 13:31:56 -07:00
Armon Dadgar 0abda467e7 consul: Fix a 64bit alignment issue for x86-32 2014-04-11 11:12:17 -07:00
Armon Dadgar bd0cc256b7 consul: Adding client/server TLS tests 2014-04-07 15:07:00 -07:00
Armon Dadgar a851ebcb23 consul: Refactor to pull out server config 2014-04-07 15:07:00 -07:00
Armon Dadgar f91fe6c407 consul: Adding configuration tests 2014-04-07 15:07:00 -07:00
Armon Dadgar c77666669b consul: Fix decoding of certificate 2014-04-07 15:07:00 -07:00
Armon Dadgar 0bd535f60d consul: Simplify TLS handling in RPC server 2014-04-07 15:07:00 -07:00
Armon Dadgar 8160ea85ed consul: Enforce TLS if VerifyIncoming is set 2014-04-07 15:06:59 -07:00
Armon Dadgar 37ad00d66d consul: Ensure Raft also uses TLS connections 2014-04-07 15:06:59 -07:00
Armon Dadgar cb100af7b8 consul: Enable incoming TLS connections to server 2014-04-07 15:06:59 -07:00
Armon Dadgar f3a3492edc consul: Server initializes pool with TLS settings 2014-04-07 15:06:59 -07:00
Armon Dadgar 91417d4cf3 consul: Client initializes TLS settings 2014-04-07 15:06:59 -07:00
Armon Dadgar 5b18b000f2 consul: Connection pool supports TLS mode 2014-04-07 15:06:59 -07:00
Armon Dadgar 80de0f8789 consul: Adding basic TLS configuraiton 2014-04-07 15:06:59 -07:00
Armon Dadgar b10df9ea60 consul: Export some telemetry on service queries 2014-04-04 14:55:44 -07:00
Armon Dadgar 08d29f120f Merge pull request #26 from hashicorp/f-tags
Adding support for multiple tags
2014-04-03 15:51:31 -07:00
Armon Dadgar 63ce30acd4 consul: Adding reconcilation to handle reaped Serf nodes. Fixes #15. 2014-04-03 15:51:09 -07:00
Armon Dadgar c919928d8d consul: Adding test for multiple tags with lookup 2014-04-03 12:07:17 -07:00
Armon Dadgar 1c3e574c71 consul: Updating all the tests 2014-04-03 12:03:10 -07:00
Armon Dadgar b9c2b178f0 consul: Change state store to support multiple tags 2014-04-03 12:03:02 -07:00
Armon Dadgar fa8fb4153e consul: Replace single tag with list of tags 2014-04-03 11:23:55 -07:00
Armon Dadgar 13c370da30 consul: FSM snapshot can avoid type assertion 2014-04-01 12:10:58 -07:00
Armon Dadgar a312d7e6ff consul: Avoid loading all KV pairs during a snapshot 2014-04-01 11:55:25 -07:00
Armon Dadgar 24da6713de consul: Support a streaming transaction 2014-04-01 11:42:07 -07:00
Armon Dadgar 20a9cbc6d1 consul: More efficient restore of KVS entriesg 2014-04-01 11:29:55 -07:00
Armon Dadgar 0313f62311 consul: Adding raft endpoint to force a snapshot 2014-03-31 20:09:16 -07:00