Atin Malaviya
b623af776b
Consul Session TTLs
...
The design of the session TTLs is based on the Google Chubby approach
(http://research.google.com/archive/chubby-osdi06.pdf ). The Session
struct has an additional TTL field now. This attaches an implicit
heartbeat based failure detector. Tracking of heartbeats is done by
the current leader and not persisted via the Raft log. The implication
of this is during a leader failover, we do not retain the last
heartbeat times.
Similar to Chubby, the TTL represents a lower-bound. Consul promises
not to terminate a session before the TTL has expired, but is allowed
to extend the expiration past it. This enables us to reset the TTL on
a leader failover. The TTL is also extended when the client does a
heartbeat. Like Chubby, this means a TTL is extended on creation,
heartbeat or failover.
Additionally, because we must account for time requests are in transit
and the relative rates of clocks on the clients and servers, Consul
will take the conservative approach of internally multiplying the TTL
by 2x. This helps to compensate for network latency and clock skew
without violating the contract.
Reference: https://docs.google.com/document/d/1Y5-pahLkUaA7Kz4SBU_mehKiyt9yaaUGcBTMZR7lToY/edit?usp=sharing
2014-12-07 12:38:22 -05:00
Ali Abbas
a542df954f
cleanup and simplify
2014-12-06 13:08:35 +01:00
Ali Abbas
40979b1159
* use defer to avoid tracking lock
...
* simplify control flow
2014-12-06 12:32:18 +01:00
Chavez
5f4281f98f
consul: Server leave test fix
2014-12-05 11:22:54 -08:00
Chavez
c6b3cae106
consul: Fix failing globalRPC test
2014-12-05 10:36:37 -08:00
Veres Lajos
850d5bdc32
typofixes - https://github.com/vlajos/misspell_fixer
2014-12-04 23:25:06 +00:00
Armon Dadgar
402d580863
consul: Check that ACL also allows registration
2014-11-30 21:10:42 -07:00
Armon Dadgar
d74f79b3fa
consul: Enforce service registration ACLs
2014-11-30 21:05:15 -07:00
Ali Abbas
818fc22c9f
* Fix race condition on read/write of shutdown bool variable of server and connection pool.
...
* In connection pool, there is no guarantee that .reap() cannot execute the same time as .Shutdown() is called. It also did not benefit to eval shutdown when a select is run on the shutdown channel.
* In server, same principle applies to handleConsulConn. Since we also have a shutdown channel, it makes more to use this than to loop on a bool variable.
2014-11-26 10:39:25 +01:00
Ali Abbas
73504a01e9
cleanup unreachable code
2014-11-25 19:54:30 +01:00
Atin Malaviya
d7e09d57ba
Set empty Behavior setting into SessionKeysRelease and flag error for unrecognized values
2014-11-20 19:16:07 -05:00
Atin Malaviya
3aabda02b3
Clean up tests, use switch to default session.Behavior value if unspecified, unrecognized
2014-11-20 14:29:18 -05:00
Atin Malaviya
aa0cecd04e
Ephemeral Nodes for via Session behavior settings.
...
Added a "delete" behavior for session invalidation, in addition to
the default "release" behavior. On session invalidation, the sessions
Behavior field is checked and if it is set to "delete", all nodes owned
by the session are deleted. If it is "release", then just the locks
are released as default.
2014-11-20 11:34:45 -05:00
Ryan Uber
4cd89a9113
Rebase against upstream
2014-11-19 16:45:49 -08:00
Ryan Uber
3b2ab70c4d
consul: clean up comments, fix globalRPC tests
2014-11-19 16:37:40 -08:00
Ryan Uber
4a8249db00
consul: fix obscure bug when launching goroutines from for loop
2014-11-19 16:37:40 -08:00
Ryan Uber
2661bbfa27
consul: more tests, remove unused KeyManager() method
2014-11-19 16:37:40 -08:00
Ryan Uber
fcacee723b
consul: simplify keyring operations
2014-11-19 16:36:19 -08:00
Ryan Uber
66ad81ef13
consul: add test for internal keyring rpc endpoint
2014-11-19 16:36:19 -08:00
Ryan Uber
344b63b9db
consul: simplify keyring operations
2014-11-19 16:36:19 -08:00
Ryan Uber
b3f251de9c
command/keyring: clean up tests
2014-11-19 16:36:18 -08:00
Ryan Uber
d02afd42fb
agent: -encrypt appends to keyring if one exists
2014-11-19 16:36:01 -08:00
Ryan Uber
295f876923
command/agent: fix up gossip encryption indicator
2014-11-19 16:35:37 -08:00
Ryan Uber
7f85c708dc
agent: squash some more common keyring semantics
2014-11-19 16:34:18 -08:00
Ryan Uber
4e8f53fa5d
consul: detach executeKeyringOp() from *Internal
2014-11-19 16:34:18 -08:00
Ryan Uber
db0084ccd0
consul: use keyring operation type to cut out duplicated logic
2014-11-19 16:34:18 -08:00
Ryan Uber
057c22db10
consul: generalize multi-DC RPC call broadcasts
2014-11-19 16:34:18 -08:00
Ryan Uber
001a579d47
command/keyring: cleanup
2014-11-19 16:34:18 -08:00
Ryan Uber
cb795199d1
consul: test rpc errors returned from remote datacenters
2014-11-19 16:34:18 -08:00
Ryan Uber
a1943afddc
consul: make forwarding to multiple datacenters parallel
2014-11-19 16:34:18 -08:00
Ryan Uber
d7edc1c51c
consul: break rpc forwarding and response ingestion out of internal endpoints
2014-11-19 16:34:18 -08:00
Ryan Uber
1ec111bbfc
consul: kill unused struct fields
2014-11-19 16:34:17 -08:00
Ryan Uber
f6b5fc8c08
consul: cross-dc key rotation works
2014-11-19 16:34:17 -08:00
Ryan Uber
f9b5b15a6b
consul: use a function for ingesting responses
2014-11-19 16:34:17 -08:00
Ryan Uber
71e9715c54
consul: restructuring
2014-11-19 16:34:17 -08:00
Ryan Uber
a551a6e4a0
consul: refactor keyring, repeat RPC calls to all DC's
2014-11-19 16:34:17 -08:00
Ryan Uber
2e92e19760
agent: refactor keyring loader
2014-11-19 16:31:06 -08:00
Ryan Uber
43a60f1424
command: basic rpc works for keys command
2014-11-19 16:30:21 -08:00
Ryan Uber
96376212ff
consul: use rpc layer only for key management functions, add rpc commands
2014-11-19 16:30:21 -08:00
Ryan Uber
8a4ed84711
consul: first pass at keyring integration
2014-11-19 16:30:20 -08:00
Armon Dadgar
dd41c69389
Merge pull request #478 from amalaviy/https
...
Added HTTPS support via a new HTTPS Port configuration option
2014-11-19 11:17:10 -08:00
Armon Dadgar
bd1e03428c
consul: Increase maximum number of parallel readers
2014-11-18 18:46:43 -08:00
Atin Malaviya
2bd0e8c745
consul.Config() helper to generate the tlsutil.Config{} struct, 30 second keepalive, use keepalive for HTTP and HTTPS
2014-11-18 17:56:48 -05:00
Atin Malaviya
b4424a1a50
Moved TLS Config stuff to tlsutil package
2014-11-18 11:03:36 -05:00
Armon Dadgar
0540605110
consul: Fixing key list index calculation
2014-11-12 17:55:45 -08:00
Emil Hessman
0222ed9eb9
Fix missing arguments
2014-11-01 22:56:48 +01:00
Armon Dadgar
af90aa8026
Gofmt
2014-10-20 10:21:31 -07:00
Armon Dadgar
3f36515544
Switching to the pinned version of msgpack
2014-10-17 18:26:19 -07:00
Armon Dadgar
34713fe970
Encode/Decode test
2014-10-17 18:23:13 -07:00
Armon Dadgar
b04dc46c72
consul: Improving test reliability
2014-10-17 17:40:14 -07:00
Armon Dadgar
a1d2f9a3da
Merge pull request #401 from hashicorp/f-healthcheck
...
Default services to "critical" state instead of "unknown"
2014-10-15 16:50:38 -07:00
Armon Dadgar
e571d532b2
consul: Fixing FSM path tests
2014-10-15 15:03:58 -07:00
Armon Dadgar
0ea385579a
consul: Ensure FSM stores data in the data dir
2014-10-15 14:57:59 -07:00
Armon Dadgar
5571da4661
consul: FSM stores state in a given path only
2014-10-15 14:56:12 -07:00
Armon Dadgar
0d1559764d
consul: Allow providing a path for the state store
2014-10-15 14:55:04 -07:00
Ryan Uber
cc0f80a4aa
consul/structs: keep HealthUnknown around for backward compatibility
2014-10-15 11:35:22 -07:00
Armon Dadgar
88b53702f1
consul: Reduce mmap size on 32bit
2014-10-15 11:32:40 -07:00
Ryan Uber
ec63686416
consul: kill remaining use of HealthUnknown
2014-10-15 10:14:46 -07:00
Armon Dadgar
a8a5905d21
consul: less aggressive deadlock timer. Fixes #389
2014-10-14 12:00:25 -07:00
Armon Dadgar
5c46544e7e
consul: Improve variable name
2014-10-14 11:04:43 -07:00
Armon Dadgar
e33b6683aa
consul: Reap left members ignoring state. Fixes #371
2014-10-14 11:02:26 -07:00
Armon Dadgar
8afbab60cb
consul: Log why invalidation happened. Fixes #390
2014-10-14 10:54:57 -07:00
Armon Dadgar
b6c5d77cf8
consul: Fixing graceful leave of current leader. Fixes #360 .
2014-10-13 22:14:43 -07:00
Armon Dadgar
e51f9da84b
consul: Deprecate ACLForceSet
2014-10-09 12:28:07 -07:00
Armon Dadgar
1177a9bf11
consul: Fix non-deterministic ACL IDs
2014-10-09 12:23:32 -07:00
Armon Dadgar
a80478594a
consul: Fix non-deterministic session IDs
2014-10-09 11:54:47 -07:00
Armon Dadgar
daa32dd6f8
consul: don't close a nil connection
2014-10-02 10:26:25 -07:00
Armon Dadgar
99d39db982
agent: First pass at multi-DC support
2014-08-28 15:00:49 -07:00
Armon Dadgar
9eddff083a
consul: Testing user events
2014-08-26 19:26:55 -07:00
Armon Dadgar
1227e77f6d
consul: Adding user event name tests
2014-08-26 19:20:02 -07:00
Armon Dadgar
3a1d686444
consul: Adding user event handler for callbacks
2014-08-26 19:04:07 -07:00
Armon Dadgar
b1cf52db01
consul: expose UserEvent from Serf
2014-08-26 18:50:03 -07:00
Armon Dadgar
ce98b0abbd
consul: Deny delete anonymous or update of root policies
2014-08-22 14:55:09 -07:00
Armon Dadgar
597cd12e97
consul: Ensure node/service/check registration is in a single txn
2014-08-22 12:38:33 -07:00
Armon Dadgar
54ed1ec834
consul: fixing a unit test
2014-08-22 12:34:31 -07:00
Armon Dadgar
a078e4d6f4
consul: Refactor txn handling in state store
2014-08-22 12:27:12 -07:00
Armon Dadgar
1f845c995a
consul: Ensure authoritative cache is purged after update
2014-08-18 15:46:59 -07:00
Armon Dadgar
6492f06a3e
consul: Provide ETag to avoid expensive policy fetch
2014-08-18 15:46:59 -07:00
Armon Dadgar
7473bd2fc9
consul: ACL enforcement for KV updates
2014-08-18 15:46:24 -07:00
Armon Dadgar
ea015710e9
consul: ACL enforcement for key reads
2014-08-18 15:46:24 -07:00
Armon Dadgar
7299ef1a82
consul: Filter keys, refactor to interface
2014-08-18 15:46:24 -07:00
Armon Dadgar
d38fd8eb1d
consul: Helpers to filter on ACL rules
2014-08-18 15:46:24 -07:00
Armon Dadgar
17ee7f5057
consul: Starting token enforcement
2014-08-18 15:46:23 -07:00
Armon Dadgar
5561148c8e
consul: Prevent resolution of root policy
2014-08-18 15:46:23 -07:00
Armon Dadgar
8c5bb94c74
consul: Resolve parent ACLs
2014-08-18 15:46:23 -07:00
Armon Dadgar
8153537e86
consul: Support management tokens
2014-08-18 15:46:23 -07:00
Armon Dadgar
9e16caa497
consul: Adding some metrics for ACL usage
2014-08-18 15:46:23 -07:00
Armon Dadgar
5da5df716d
consul: Create anonymous and master tokens
2014-08-18 15:46:22 -07:00
Armon Dadgar
bbde4beefd
consul: Testing down policies and multi-DC
2014-08-18 15:46:22 -07:00
Armon Dadgar
846cc66e6d
consul: Testing ACL resolution
2014-08-18 15:46:22 -07:00
Armon Dadgar
61b80e912c
consul: Use Etag for policy caching
2014-08-18 15:46:22 -07:00
Armon Dadgar
db8f896c58
consul: Support conditional policy fetch
2014-08-18 15:46:22 -07:00
Armon Dadgar
edcd69019c
consul: Verify compilation of rules
2014-08-18 15:46:22 -07:00
Armon Dadgar
9a4778b7d3
consul: Enable ACL lookup
2014-08-18 15:46:22 -07:00
Armon Dadgar
bd124a8da3
consul: Pulling in ACLs
2014-08-18 15:46:21 -07:00
Armon Dadgar
6f7bf36ee9
agent: ACL endpoint tests
2014-08-18 15:46:21 -07:00
Armon Dadgar
bdf9516f96
consul: ACL Endpoint tests
2014-08-18 15:46:21 -07:00
Armon Dadgar
ea31f37dd6
consul: Adding ACL endpoint
2014-08-18 15:46:21 -07:00
Armon Dadgar
b41e36868e
consul: register the ACL queries
2014-08-18 15:46:21 -07:00
Armon Dadgar
8a3a0faacf
consul: FSM support for ACLsg
2014-08-18 15:46:21 -07:00
Armon Dadgar
101d7da90a
consul: Adding ACLs to the state store
2014-08-18 15:46:21 -07:00
Armon Dadgar
da52fda65f
consul: ACL structs
2014-08-18 15:46:21 -07:00
Armon Dadgar
ca6a8aef55
agent: Adding ACL master token
2014-08-18 15:46:20 -07:00
Armon Dadgar
ebae394863
consul: ACL setting passthrough
2014-08-18 15:46:20 -07:00
William Tisäter
90816cca98
Run go fmt
2014-07-24 01:09:55 +02:00
William Tisäter
78a69b61a3
Don't override ServiceTags
2014-07-23 23:42:22 +02:00
William Tisäter
31037338a3
Change order of fixtures
2014-07-23 23:42:22 +02:00
William Tisäter
9dc67edf7f
Make service tag filter case-insensitive
2014-07-23 23:42:22 +02:00
William Tisäter
2727c158a6
Make service index case-insensitive
2014-07-23 23:42:22 +02:00
William Tisäter
ff93acda28
Lowercase index key and lookup value if flag is set
2014-07-23 23:42:22 +02:00
William Tisäter
f7263e8e7a
Add case-insensitive flag to MDBIndex
2014-07-23 23:42:21 +02:00
William Tisäter
75e631ee94
Add helper for lowercase list of strings
2014-07-23 23:42:21 +02:00
Armon Dadgar
bf26a9160f
consul: Defer serf handler until initialized. Fixes #254 .
2014-07-22 09:36:58 -04:00
Armon Dadgar
020802f7a5
Merge pull request #233 from nelhage/tls-no-subjname
...
Restore the 0.2 TLS verification behavior.
2014-07-01 13:41:00 -07:00
Nelson Elhage
627b2e455f
Add some basic smoke tests for wrapTLSclient.
...
Check the success case, and check that we reject a self-signed
certificate.
2014-06-29 18:11:32 -07:00
Nelson Elhage
0a2476b20e
Restore the 0.2 TLS verification behavior.
...
Namely, don't check the DNS names in TLS certificates when connecting to
other servers.
As of golang 1.3, crypto/tls no longer natively supports doing partial
verification (verifying the cert issuer but not the hostname), so we
have to disable verification entirely and then do the issuer
verification ourselves. Fortunately, crypto/x509 makes this relatively
straightforward.
If the "server_name" configuration option is passed, we preserve the
existing behavior of checking that server name everywhere.
No option is provided to retain the current behavior of checking the
remote certificate against the local node name, since that behavior
seems clearly buggy and unintentional, and I have difficulty imagining
it is actually being used anywhere. It would be relatively
straightforward to restore if desired, however.
2014-06-28 13:32:42 -07:00
Armon Dadgar
80b86c9ee9
Rename Expect to BootstrapExpect. Fixes #223 .
2014-06-19 17:08:55 -07:00
Armon Dadgar
406d19f483
consul: Minor cleanups
2014-06-18 16:15:28 -07:00
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