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
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
b5bd20634a
consul: Gossip the build using Serf
2014-06-06 15:36:40 -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
319ab05b8c
consul: Provide logger to yamux
2014-05-28 16:32:25 -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
589105eee4
consul: Store the protocol version for a server
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
William Tisäter
a028c3ae93
Add /v1/agent/self
and return local agent config
2014-05-27 01:15:33 +02:00
Armon Dadgar
5fa10c912e
Support rejoin after leave. Fixes #110 .
2014-05-21 12:32:24 -07:00
Armon Dadgar
e58e9bceb0
consul: First pass at Session RPC endpoints
2014-05-20 16:25:29 -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
Armon Dadgar
c54f53eaf7
consul: Remove RPC client tracking. Fixes #149 .
2014-05-14 17:34:24 -07:00
Armon Dadgar
5c34e01d17
consul: Fixing for upstream API changes
2014-05-01 18:11:36 -07:00
Armon Dadgar
d045335ca0
consul: Rename Misc RPC to Internal
2014-04-30 23:43:59 -04:00
Armon Dadgar
702fe3afda
consul: Adding Misc RPC endpoint
2014-04-30 23:43:58 -04:00
Armon Dadgar
ece6849cac
consul: Expose runtime stats for debugging
2014-04-29 10:55:42 -07:00
Armon Dadgar
c1ae3d78ef
consul: Increase DB size on 64bit systems. Fixes #81 .
2014-04-28 17:07:59 -07:00
Armon Dadgar
d581af7692
consul: Clear peer set on leave. Fixes #69
2014-04-23 11:39:45 -07:00
Armon Dadgar
25e4e526ae
consul: Update to use raft-mdb package
2014-04-19 13:31:56 -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
a55ebaa353
consul: Adding KVS RPC endpoint
2014-03-31 14:15:49 -07:00
Armon Dadgar
3c911b3145
consul: Should not clear the peer set
2014-03-25 14:57:00 -07:00
Armon Dadgar
4b6dc60169
consul: Set maximum raft log size to 128MB
2014-03-25 13:29:15 -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
eb9f2a50bd
consul: Peg Serf proto version to 3
2014-03-05 15:32:59 -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
ba765b193f
consul: ConnPool multiplexes a single connection instead of using multiple
2014-02-05 16:19:05 -08:00
Armon Dadgar
8b1c78dc00
consul: Cleanup the FSM, running out of file handles
2014-02-05 11:00:10 -08:00
Armon Dadgar
255e224ac8
consul: Log state store errors
2014-02-03 15:21:56 -08:00
Armon Dadgar
1ecdeae1b6
consul: Update for serf 0.4
2014-01-30 13:13:29 -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
2030b2288d
Simplify Raft peer adds using only reconciliation
2014-01-10 12:55:55 -08:00
Armon Dadgar
c5e2004be9
Log cleanup
2014-01-10 11:06:11 -08:00
Armon Dadgar
9d96ce1107
First pass at Serf reconciliation
2014-01-09 15:49:09 -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
000dbedc06
Testing the health endpoints
2014-01-08 14:23:52 -08:00
Armon Dadgar
3c3da212d7
Allow for more cached connections
2013-12-31 17:43:56 -08:00
Armon Dadgar
ce79f27364
Adding support for advertise address
2013-12-31 16:45:13 -08:00
Armon Dadgar
a88bef821a
Guard against a bad advertise address
2013-12-31 14:00:25 -08:00
Armon Dadgar
8fee0cd50a
Changing the Join interfaces to match Serf
2013-12-30 12:20:17 -08:00
Armon Dadgar
69ed0ec184
Adding a bootstrap flag to allow single server raft
2013-12-24 16:48:07 -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
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
32c822db1b
Adding time based reaping to ConnPool
2013-12-19 15:42:17 -08:00
Armon Dadgar
90f8f075dc
Server also implements ConsulRPC interface
2013-12-19 15:18:25 -08:00
Armon Dadgar
644ce2fcf7
Refactor ensurePath to util
2013-12-19 14:18:55 -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
4cfe5179ba
Track remote consul servers
2013-12-11 16:24:34 -08:00
Armon Dadgar
94865a40ac
consul: starting work on some RPC layers
2013-12-11 14:04:44 -08:00
Armon Dadgar
ac9d2a81ff
consul: working on fsm state
2013-12-10 17:00:48 -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
761197575c
consul: Adding tons of shit, leave test
2013-12-09 16:05:15 -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
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
6e9d7dc0fd
consul: RaftLayer does not use ConnPool
2013-12-09 14:25:59 -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