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
Armon Dadgar
243198e49b
consul: Fixing blocking query if set table is at index 0
2014-03-31 20:00:46 -07:00
Armon Dadgar
d1de666855
consul: Enable a recursive delete of all keys
2014-03-31 20:00:01 -07:00
Armon Dadgar
5def21491e
consul: Test the remaining KVS endpoints
2014-03-31 16:18:44 -07:00
Armon Dadgar
97b64d82e7
consul: Adding tests for endpoint method
2014-03-31 16:10:49 -07:00
Armon Dadgar
2067783692
consul: First pass at KVS endpoints for RPC
2014-03-31 16:00:23 -07:00
Armon Dadgar
a55ebaa353
consul: Adding KVS RPC endpoint
2014-03-31 14:15:49 -07:00
Armon Dadgar
8b5b6c3872
consul: Testing FSM application of KVS commands
2014-03-31 14:13:03 -07:00
Armon Dadgar
b24118e1bc
consul: FSM support to snapshot/restore KVS values
2014-03-31 13:56:16 -07:00
Armon Dadgar
4aa7c0c00c
consul: Adding FSM support for KVS operations
2014-03-31 13:41:43 -07:00
Armon Dadgar
47807c5d19
consul: Snapshot KVS store support
2014-03-31 13:31:31 -07:00
Armon Dadgar
aba2d997d3
consul: Support DeleteTree
2014-03-31 13:20:08 -07:00
Armon Dadgar
5ffe5a0dba
consul: Adding support for KVSList
2014-03-31 13:12:35 -07:00
Armon Dadgar
d0ff439f77
consul: Adding support for virtual indexes
2014-03-31 13:06:29 -07:00
Armon Dadgar
493bbd5991
consul: Implementing Check-And-Set
2014-03-31 12:37:11 -07:00
Armon Dadgar
aae9429d9d
consul: Implement KVSDelete
2014-03-31 12:24:06 -07:00
Armon Dadgar
a009f89946
consul: Implement and test KV get and set
2014-03-31 12:13:57 -07:00
Armon Dadgar
48ffdc05f4
consul: Adding KVSDeleteTree operation
2014-03-31 12:13:40 -07:00
Armon Dadgar
d804a08744
consul: Adding kvs table to state store
2014-03-31 11:48:32 -07:00
Armon Dadgar
218d5502f6
consul: Adding new directory structs for KVS
2014-03-31 11:47:10 -07:00
Armon Dadgar
fab32fe515
consul: Only close the cursor for read-only transactions (mdb)
2014-03-27 10:48:04 -07:00
Armon Dadgar
3c911b3145
consul: Should not clear the peer set
2014-03-25 14:57:00 -07:00
Armon Dadgar
9210f71fb6
consul: Fixing issue with cursors not closing in MDB
2014-03-25 13:30:19 -07:00
Armon Dadgar
8f3ceca608
consul: Set maximum consul DB size to 128MB
2014-03-25 13:29:42 -07:00
Armon Dadgar
4b6dc60169
consul: Set maximum raft log size to 128MB
2014-03-25 13:29:15 -07:00
Armon Dadgar
277c31d813
consul: Handle reaping of serf members
2014-03-20 12:51:49 -07:00
Armon Dadgar
fad79e1f8e
consul: Increase default reap time to 3 days
2014-03-20 12:39:06 -07:00
Armon Dadgar
a421782901
consul: Ignore new Serf events
2014-03-12 12:46:14 -07:00
Armon Dadgar
18c3bbcb21
consul: Add tags for consul protocol versions
2014-03-09 15:46:03 -07:00
Armon Dadgar
6fba03db8f
consul: Adding protocol version numbers
2014-03-09 15:18:36 -07:00
Armon Dadgar
ccd9d0b001
consul: Fixing subtle delete issue
2014-03-05 19:32:09 -08:00
Armon Dadgar
eb9f2a50bd
consul: Peg Serf proto version to 3
2014-03-05 15:32:59 -08:00
Armon Dadgar
4833c7995e
consul: Handle API changes in StateStore
2014-03-05 15:03:12 -08:00
Armon Dadgar
b73a381e6d
consul: Log instead of panic. Change NodeServices to return nil.
2014-03-05 15:02:28 -08:00
Armon Dadgar
8948a5218e
consul: Providing logOutput to StateStore
2014-03-05 14:34:29 -08:00
Armon Dadgar
ba2df6cb9c
consul: Passthrough the Serf Stats()
2014-02-23 18:08:58 -08:00
Armon Dadgar
11369ca9ad
consul: Adding Stats() method to get various debugging information
2014-02-23 16:37:33 -08:00
Armon Dadgar
f65ba3c365
consul: Increase network timeout value
2014-02-22 11:13:59 -08:00
Armon Dadgar
974d227b94
consul: Reduce the number of raft snapshots we keep
2014-02-22 10:57:22 -08:00
Armon Dadgar
6c597008f4
If not in bootstrap mode, clear the raft peerset
2014-02-21 15:21:27 -08:00
Armon Dadgar
6142460b29
consul: Only add ourself to the peerset if we are in bootstrap mode
2014-02-20 16:27:14 -08:00
Armon Dadgar
b31a0510eb
consul: Do not replay events on serf join
2014-02-20 16:27:03 -08:00
Armon Dadgar
7294305df9
consul: Adding telemetry
2014-02-20 15:16:26 -08:00
Armon Dadgar
f9da9fe1b5
consul: Use serf event to announce new leader
2014-02-19 12:36:27 -08:00
Armon Dadgar
a2b3374569
Add test file for structs package
2014-02-07 16:40:52 -08:00
Armon Dadgar
7534346103
agent: Adding server up callback to make state sync faster
2014-02-07 12:11:34 -08:00
Armon Dadgar
ba765b193f
consul: ConnPool multiplexes a single connection instead of using multiple
2014-02-05 16:19:05 -08:00
Armon Dadgar
e9c0493c9e
consul: Make some ConnPool methods private
2014-02-05 15:30:19 -08:00
Armon Dadgar
4459aa9517
consul: Allow receiving RPC connections
2014-02-05 15:29:52 -08:00
Armon Dadgar
5cc0c73f89
TODO cleanups
2014-02-05 14:54:35 -08:00
Armon Dadgar
f6ea0ba7f8
consul: Fixing struct type
2014-02-05 14:27:24 -08:00
Armon Dadgar
1b84705cb3
consul: ensure conn pool shutdown is fast
2014-02-05 14:20:18 -08:00
Armon Dadgar
944cbc7291
consul: Health endpoints support blocking queries
2014-02-05 13:30:18 -08:00
Armon Dadgar
a58ee71739
consul: Adding a sanity check
2014-02-05 11:13:08 -08:00
Armon Dadgar
f0134e42c6
consul: Support blocking queries for the Catalog
2014-02-05 11:10:10 -08:00
Armon Dadgar
b0707df2ab
consul: Enable ListNodes and ListServices to be a blocking query
2014-02-05 11:00:43 -08:00
Armon Dadgar
8b1c78dc00
consul: Cleanup the FSM, running out of file handles
2014-02-05 11:00:10 -08:00
Armon Dadgar
ed5ff78504
consul: Adding indexed versions of return structs
2014-02-05 10:44:28 -08:00
Armon Dadgar
5c60d0a1bc
consul: blockingRPC is a helper method for queries that need to block
2014-02-05 10:38:29 -08:00
Armon Dadgar
428c74cc35
consul: State store can return the tables for a query, and watch for changes
2014-02-05 10:37:28 -08:00
Armon Dadgar
626a3b5bf6
consul: Adding BlockingQuery to structs to wait for changes
2014-02-05 10:21:31 -08:00
Armon Dadgar
ab0831e268
consul: Add a guard against deadlock in MDB
2014-02-04 19:04:36 -08:00
Armon Dadgar
59cd74dbb0
consul: reduce the scope of various transactions
2014-02-04 19:01:32 -08:00
Armon Dadgar
6188cd4ccd
consul: Notify watchers of changes
2014-02-04 18:45:40 -08:00
Armon Dadgar
10707da7fc
consul: Move notification group from MDBTable into the state store
2014-02-04 18:37:38 -08:00
Armon Dadgar
369193fbd6
consul: updating state store to associate changes with raft index
2014-02-04 18:33:15 -08:00
Armon Dadgar
a8c366e9df
consul: Add a NotifyGroup to the MDBTable
2014-02-04 12:32:05 -08:00
Armon Dadgar
e1c7632cc3
consul: Adding a simple notification mechansim
2014-02-04 12:21:30 -08:00
Armon Dadgar
7d643a9dab
consul: MDBTable can track a special 'last index' value
2014-02-04 11:11:31 -08:00
Armon Dadgar
255e224ac8
consul: Log state store errors
2014-02-03 15:21:56 -08:00
Armon Dadgar
936152092d
consul: client re-uses the last connection if error free
2014-02-03 11:53:04 -08:00
Armon Dadgar
9b80ab9a61
consul: benchmark the ListNodes RPC method
2014-02-01 12:16:33 -08:00
Armon Dadgar
5c11f1fb79
consul: Adding some benchmarks to test state store
2014-02-01 12:00:56 -08:00
Armon Dadgar
1ecdeae1b6
consul: Update for serf 0.4
2014-01-30 13:13:29 -08:00
Armon Dadgar
9ea32b102f
Adding LANMembers to the Consul.Interface
2014-01-21 11:52:01 -08:00
Armon Dadgar
334c2137ef
Preventing multiple nodes in bootstrap mode from adding each other as Raft peers
2014-01-20 13:56:29 -10:00
Armon Dadgar
3e6787511e
change isConsulServer to parse flags
2014-01-20 13:39:07 -10:00
Armon Dadgar
ed8cb1bc2b
Export the consul service id and name
2014-01-15 17:27:37 -10:00
Armon Dadgar
ea41b2bb26
Export the serf check ID
2014-01-15 17:24:16 -10:00
Armon Dadgar
e4c6ad9807
CheckServiceNodes will return node checks that are not service associated
2014-01-15 11:14:28 -10:00
Armon Dadgar
80d9899aec
Do not remove ourself when we leave from Raft
2014-01-10 15:05:34 -08:00
Armon Dadgar
df1eea834a
Fixing testServerDC method
2014-01-10 12:58:04 -08:00
Armon Dadgar
2030b2288d
Simplify Raft peer adds using only reconciliation
2014-01-10 12:55:55 -08:00
Armon Dadgar
786755ebcd
Check for error when sending RPC byte
2014-01-10 12:09:19 -08:00
Armon Dadgar
d741a999f5
Refactor testServerDC
2014-01-10 11:07:29 -08:00
Armon Dadgar
6b45c2c5a4
Cleanup log
2014-01-10 11:07:04 -08:00
Armon Dadgar
c5e2004be9
Log cleanup
2014-01-10 11:06:11 -08:00
Armon Dadgar
c2ef218c30
Improve idempotence check for consul service registration
2014-01-09 22:12:08 -08:00
Armon Dadgar
27e558ee77
Verify that consul service is registered
2014-01-09 18:02:44 -08:00
Armon Dadgar
79717c95bf
Fixing issue that would prevent consul server registration
2014-01-09 17:59:31 -08:00
Armon Dadgar
26134960b1
Auto-register the consul service
2014-01-09 17:57:13 -08:00
Armon Dadgar
688a0d5bf1
Testing leader functions and reconciliation
2014-01-09 17:46:33 -08:00
Armon Dadgar
6992e8bf61
Fixing some tests
2014-01-09 17:22:01 -08:00
Armon Dadgar
9d96ce1107
First pass at Serf reconciliation
2014-01-09 15:49:09 -08:00
Armon Dadgar
3cb3085175
Adding utility method to parse consul nodes
2014-01-09 15:45:14 -08:00
Armon Dadgar
e1692fb0a0
Adding a ReconcileInterval config
2014-01-09 15:44:25 -08:00
Armon Dadgar
a82a606221
Retain reference to RPC endpoints
2014-01-09 15:30:36 -08:00
Armon Dadgar
5bb4a5306b
Cleanup
2014-01-09 11:33:23 -08:00
Armon Dadgar
f410802055
Adding Health endpoint to combine service nodes with health
2014-01-08 15:06:13 -08:00
Armon Dadgar
0b59adce3f
Adding CheckServiceNodes to get health info with service nodes
2014-01-08 14:58:53 -08:00
Armon Dadgar
490abc75a6
Minor structs cleanup
2014-01-08 14:43:36 -08:00
Armon Dadgar
000dbedc06
Testing the health endpoints
2014-01-08 14:23:52 -08:00
Armon Dadgar
918b83bf4e
First pass at health endpoints
2014-01-08 13:56:34 -08:00
Armon Dadgar
dff6b6e3c5
Adding stubs for Health endpoints
2014-01-08 13:52:09 -08:00
Armon Dadgar
ad346fecdf
Adding FSM support for register/deregister health checks
2014-01-08 13:39:40 -08:00
Armon Dadgar
7c8993ef3f
Support getting node checks in the snapshot
2014-01-08 12:19:11 -08:00
Armon Dadgar
023974becb
Implementing the health methods with tests
2014-01-08 12:15:01 -08:00
Armon Dadgar
30618ca359
Skeleton methods for health info
2014-01-08 11:35:27 -08:00
Armon Dadgar
d6f8b6e48b
Adding HealthCheck and an associated table
2014-01-08 11:21:29 -08:00
Armon Dadgar
48fecaf410
Adding test for last row id restore
2014-01-08 10:43:44 -08:00
Armon Dadgar
c3c507f381
Remove unused variable
2014-01-08 10:39:06 -08:00
Armon Dadgar
97b9ff64e0
Delete node in a transaction
2014-01-08 10:37:16 -08:00
Armon Dadgar
a84fdd51e1
Update for new interfaces
2014-01-08 10:31:42 -08:00
Armon Dadgar
0ca9b085a2
Switch state store to MDBTables
2014-01-08 10:31:20 -08:00
Armon Dadgar
f666211ca2
Adding ServiceName to ServiceNode to simplify
2014-01-08 10:29:29 -08:00
Armon Dadgar
a5a8eeee93
Support multi-table transactions with MDBTable
2014-01-08 10:27:37 -08:00
Armon Dadgar
49bc2c4075
Handle record updates
2014-01-07 21:35:44 -08:00
Armon Dadgar
ed87aae1cf
Supporting table Delete
2014-01-07 18:55:34 -08:00
Armon Dadgar
f55090314a
Refactoring some code to share with Delete
2014-01-07 17:43:57 -08:00
Armon Dadgar
e8846486de
Support blank fields
2014-01-07 17:28:15 -08:00
Armon Dadgar
88cebcc595
Working on abstracting MDB storage
2014-01-07 16:58:28 -08:00
Armon Dadgar
4bca485178
Adding some utility functions
2014-01-07 16:58:16 -08:00
Armon Dadgar
870074056f
Support non-unique service entries per node
2014-01-06 14:18:38 -08:00
Armon Dadgar
2edd92a73b
Handle new Raft API
2014-01-03 17:15:09 -08:00
Armon Dadgar
ca43075041
NodeServices struct now includes the node address
2014-01-02 17:29:39 -08:00
Armon Dadgar
76baf19c9a
Fixing bug in state store
2013-12-31 18:31:17 -08:00
Armon Dadgar
aefe4cc679
Fix indexing error when getting nodes
2013-12-31 18:16:09 -08:00
Armon Dadgar
3c3da212d7
Allow for more cached connections
2013-12-31 17:43:56 -08:00
Armon Dadgar
4cb3d08aba
Increase maximum MDB map size
2013-12-31 17:43:05 -08:00
Armon Dadgar
0588a9cb3f
Fixing some tests
2013-12-31 16:46:56 -08:00
Armon Dadgar
ce79f27364
Adding support for advertise address
2013-12-31 16:45:13 -08:00
Armon Dadgar
7f2feeb7eb
Testing Raft advertise addr
2013-12-31 15:44:27 -08:00
Armon Dadgar
f7eb948ae1
Methods to get a private IP
2013-12-31 15:44:17 -08:00
Armon Dadgar
a88bef821a
Guard against a bad advertise address
2013-12-31 14:00:25 -08:00
Armon Dadgar
ebdf8d2114
Adding RemoveFailedNode to consul.Client
2013-12-30 14:42:23 -08:00
Armon Dadgar
8fee0cd50a
Changing the Join interfaces to match Serf
2013-12-30 12:20:17 -08:00
Armon Dadgar
3c00ba3864
Update for the new Serf config
2013-12-27 12:51:15 -08:00
Armon Dadgar
3d908d9edf
Enable bootstrap mode for the tests
2013-12-24 16:53:30 -08:00
Armon Dadgar
69ed0ec184
Adding a bootstrap flag to allow single server raft
2013-12-24 16:48:07 -08:00
Armon Dadgar
fd9a44ba09
Guard MDB against 0 byte slices
2013-12-24 13:25:09 -08:00
Armon Dadgar
17ee53088b
Mark a few txn's as being readonly
2013-12-24 13:12:03 -08:00
Armon Dadgar
5df07d9c60
Defer the txn aborts
2013-12-24 13:05:43 -08:00
Armon Dadgar
140fb21472
Stronger API validation
2013-12-24 12:43:34 -08:00
Armon Dadgar
088def3935
Do not leave raft pool if we are the only member
2013-12-24 12:36:50 -08:00
Armon Dadgar
ac15ca1139
Better error logging
2013-12-24 12:22:42 -08:00
Armon Dadgar
851c4c8ed1
More HTTP endpoints
2013-12-23 16:20:51 -08:00
Armon Dadgar
995a60ea0b
Setup logging for Raft properly
2013-12-23 15:30:45 -08:00
Armon Dadgar
b03d1b55b3
Ensure local server is always a raft peer
2013-12-23 11:50:58 -08:00
Armon Dadgar
3fe3f8815d
Adding a Status.Peers endpoint to get peerset
2013-12-23 11:39:29 -08:00
Armon Dadgar
0e4b5720d9
Filling in Agent basics
2013-12-20 15:33:13 -08:00
Armon Dadgar
32c822db1b
Adding time based reaping to ConnPool
2013-12-19 15:42:17 -08:00
Armon Dadgar
5f0bc8c91d
Rename ConsulRPC to just consul.Interface
2013-12-19 15:20:10 -08:00
Armon Dadgar
90f8f075dc
Server also implements ConsulRPC interface
2013-12-19 15:18:25 -08:00
Armon Dadgar
20b3d5ccbe
Minimize open connections maintained by client
2013-12-19 15:10:29 -08:00
Armon Dadgar
5b0ca256ff
Testing Client RPC to server
2013-12-19 15:08:55 -08:00
Armon Dadgar
8b35f6b22a
Test joining a Serf pool
2013-12-19 14:56:38 -08:00
Armon Dadgar
9249bb65a5
Adding client tests
2013-12-19 14:54:32 -08:00
Armon Dadgar
1bae62fce6
Adding initial consul client
2013-12-19 14:48:14 -08:00
Armon Dadgar
ed0af0ad42
Refactor isConsulServer into util
2013-12-19 14:37:54 -08:00
Armon Dadgar
644ce2fcf7
Refactor ensurePath to util
2013-12-19 14:18:55 -08:00
Armon Dadgar
88396b966a
Move rpc structs into sub-package
2013-12-19 12:03:57 -08:00
Armon Dadgar
0ad0393484
Remove comment
2013-12-19 11:15:38 -08:00
Armon Dadgar
5fad6a7372
Make tests more reliable
2013-12-18 16:44:56 -08:00
Armon Dadgar
9c8af31036
Guard against accessing slices that may have contents changed
2013-12-18 16:40:32 -08:00
Armon Dadgar
c5aada3298
Switch Raft from SQLite to MDB
2013-12-18 16:23:17 -08:00
Armon Dadgar
c515682303
Adding snapshot support
2013-12-18 15:09:38 -08:00
Armon Dadgar
424491e9f6
Starting port of state store to MDB
2013-12-18 15:03:25 -08:00
Armon Dadgar
ab970083dd
FSM logs snapshot time
2013-12-17 11:13:19 -08:00
Armon Dadgar
7fbb2c9918
Adding support and tests for FSM snapshotting
2013-12-16 10:47:14 -08:00
Armon Dadgar
70a001bfa0
Adding ability to snapshot StateStore
2013-12-12 15:14:08 -08:00
Armon Dadgar
b86d6f4370
Changing how state store is opened to allow shared connections
2013-12-12 14:41:13 -08:00
Armon Dadgar
96a52fc0b2
Remove unused raft endpoints
2013-12-12 11:48:22 -08:00
Armon Dadgar
8409f9fc0a
Adding NodeServices endpoing
2013-12-12 11:46:25 -08:00
Armon Dadgar
7757943156
Support querying for ServiceNodes
2013-12-12 11:37:19 -08:00
Armon Dadgar
d4bb369642
Remove useless check since we are doing a DISTINCT query
2013-12-12 11:08:01 -08:00
Armon Dadgar
e1c927f218
Adding ability to list services
2013-12-12 11:07:14 -08:00
Armon Dadgar
d3cba241bf
Adding node listing
2013-12-12 10:48:36 -08:00
Armon Dadgar
9a76a2bf12
Support datacenter listing
2013-12-12 10:35:50 -08:00
Armon Dadgar
aee98291a9
Remove unused methods
2013-12-11 16:43:29 -08:00
Armon Dadgar
f73f2a6513
Test leader forwarding
2013-12-11 16:42:19 -08:00
Armon Dadgar
5135724dae
Adding support for cross-dc forwarding
2013-12-11 16:33:19 -08:00
Armon Dadgar
4cfe5179ba
Track remote consul servers
2013-12-11 16:24:34 -08:00
Armon Dadgar
43cc986202
Adding support for deregistration
2013-12-11 15:34:10 -08:00
Armon Dadgar
4385ab3092
Testing Catalog.Register endpoint
2013-12-11 14:57:40 -08:00
Armon Dadgar
2b194d6380
Adding FSM support for Register
2013-12-11 14:38:18 -08:00
Armon Dadgar
b0c82b61d2
Adding state store methods
2013-12-11 14:27:27 -08:00
Armon Dadgar
94865a40ac
consul: starting work on some RPC layers
2013-12-11 14:04:44 -08:00
Armon Dadgar
b4b4365d1d
Adding some state store methods with tests
2013-12-11 14:03:09 -08:00
Armon Dadgar
479185694d
Stubs
2013-12-10 18:19:15 -08:00
Armon Dadgar
ac9d2a81ff
consul: working on fsm state
2013-12-10 17:00:48 -08:00
Armon Dadgar
48e3db305b
Adding Status.Leader endpoint
2013-12-10 15:16:41 -08:00
Armon Dadgar
662a1d9af7
consul: Adding method to force remove failed nodes
2013-12-10 14:42:29 -08:00
Armon Dadgar
0725906cab
consul: Adding LANMembers and WANMembers
2013-12-10 13:17:54 -08:00
Armon Dadgar
e7f4a84841
consul: abandon join on shutdown or member fail
2013-12-09 16:25:24 -08:00
Armon Dadgar
761197575c
consul: Adding tons of shit, leave test
2013-12-09 16:05:15 -08:00
Armon Dadgar
9c4583c0e3
consul: type safe event handlers
2013-12-09 15:29:44 -08:00
Armon Dadgar
f582b86cd8
consul: status rpc endpoint
2013-12-09 15:29:20 -08:00
Armon Dadgar
2d7af79662
consul: store the peerstore
2013-12-09 15:29:01 -08:00
Armon Dadgar
08152dc66b
consul: Leave does a RemovePeer RPC call
2013-12-09 15:01:42 -08:00
Armon Dadgar
a8a9d2cd45
consul: helper to make RPC calls
2013-12-09 14:58:49 -08:00
Armon Dadgar
f7f743dfa9
consul: ConnPool creates RPC client
2013-12-09 14:52:22 -08:00
Armon Dadgar
03bd66c8fa
consul: Adding Raft rpc endpoint
2013-12-09 14:49:07 -08:00
Armon Dadgar
b7bafb6bd8
consul: gossip role includes rpc addr
2013-12-09 14:30:16 -08:00
Armon Dadgar
c28ebbf60f
consul: Write the byte to set the RPC mode
2013-12-09 14:29:20 -08:00
Armon Dadgar
6e9d7dc0fd
consul: RaftLayer does not use ConnPool
2013-12-09 14:25:59 -08:00
Armon Dadgar
ad51531407
consul: fixing test
2013-12-09 14:23:19 -08:00
Armon Dadgar
5ab00f34ee
consul: Remove the RaftBindAddr
2013-12-09 14:22:23 -08:00
Armon Dadgar
a5d001034e
consul: close raft transport before layer
2013-12-09 14:20:56 -08:00
Armon Dadgar
7f4adceae8
consul: sharing the RPC layer between Consul/Raft
2013-12-09 13:13:40 -08:00
Armon Dadgar
fc595ce9ee
consul: Adding leave function
2013-12-09 12:10:27 -08:00
Armon Dadgar
205941ffcf
consul: adding connection pool
2013-12-09 12:09:57 -08:00
Armon Dadgar
af9176bca0
consul: Add+test JoinLAN/JoinWAN
2013-12-06 17:18:09 -08:00
Armon Dadgar
72e93a7432
consul: refactor into more files
2013-12-06 16:54:33 -08:00
Armon Dadgar
0bf9a8fb1c
consul: Basic RPC framework
2013-12-06 16:35:13 -08:00
Armon Dadgar
9b8433f787
consul: Rename to LAN/WAN instead of Local/Remote
2013-12-06 16:05:26 -08:00
Armon Dadgar
94ff23d2a4
consul: adding basic skeleton
2013-12-06 15:43:07 -08:00