Armon Dadgar
a886e8e561
consul: Setup ACLs and timers after initial barrier
2014-12-12 21:42:24 -08:00
Armon Dadgar
fc89462236
consul: Make sessionTimersLock a plain mutex
2014-12-12 19:17:35 -08:00
Armon Dadgar
a5a9f051cd
consul: Ignore zero ttl on session
2014-12-12 19:17:04 -08:00
Armon Dadgar
bb1ba3a167
consul: Minor cleanups
2014-12-12 15:43:34 -08:00
Armon Dadgar
29afa881f4
Merge pull request #524 from amalaviy/session_ttl
...
Consul Session TTLs
2014-12-12 14:42:25 -08:00
Atin Malaviya
31e461e10b
Add invalidateSession test
2014-12-11 06:09:53 -05:00
Atin Malaviya
ac54010027
Fixed clearSessionTimer, created invalidateSession, added invalid TTL test
2014-12-11 05:34:31 -05:00
Atin Malaviya
60915629f6
Took out usage of snapshot SessionListTTL
2014-12-10 21:37:06 -05:00
Atin Malaviya
3821f3c57b
Took out StateSnapshot SessionListTTL also
2014-12-10 20:53:05 -05:00
Atin Malaviya
5229f3b44d
Clean up code based on feedback from armon
2014-12-10 20:49:06 -05:00
Atin Malaviya
87e9d855fd
Added more tests
2014-12-10 16:43:15 -05:00
Atin Malaviya
624c465e2b
Added more tests. Also added return of 404 if the session id to renew is not found
2014-12-10 10:02:23 -05:00
Atin Malaviya
4732c36d88
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
fc73a5a53e
cleanup and simplify
2014-12-06 13:08:35 +01:00
Ali Abbas
a030abdefc
* use defer to avoid tracking lock
...
* simplify control flow
2014-12-06 12:32:18 +01:00
Chavez
42a92693a8
consul: Server leave test fix
2014-12-05 11:22:54 -08:00
Chavez
b98374802d
consul: Fix failing globalRPC test
2014-12-05 10:36:37 -08:00
Veres Lajos
3b1068387a
typofixes - https://github.com/vlajos/misspell_fixer
2014-12-04 23:25:06 +00:00
Armon Dadgar
4861e4d9e1
consul: Check that ACL also allows registration
2014-11-30 21:10:42 -07:00
Armon Dadgar
cafba93869
consul: Enforce service registration ACLs
2014-11-30 21:05:15 -07:00
Ali Abbas
d1b2e41680
* 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
e395420af6
cleanup unreachable code
2014-11-25 19:54:30 +01:00
Atin Malaviya
d7933ae747
Set empty Behavior setting into SessionKeysRelease and flag error for unrecognized values
2014-11-20 19:16:07 -05:00
Atin Malaviya
6ef03a806c
Clean up tests, use switch to default session.Behavior value if unspecified, unrecognized
2014-11-20 14:29:18 -05:00
Atin Malaviya
47241fc1c8
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
c283754381
Rebase against upstream
2014-11-19 16:45:49 -08:00
Ryan Uber
4203e7ab6d
consul: clean up comments, fix globalRPC tests
2014-11-19 16:37:40 -08:00
Ryan Uber
a662acd794
consul: fix obscure bug when launching goroutines from for loop
2014-11-19 16:37:40 -08:00
Ryan Uber
0cafb129ee
consul: more tests, remove unused KeyManager() method
2014-11-19 16:37:40 -08:00
Ryan Uber
648c7cdc8e
consul: simplify keyring operations
2014-11-19 16:36:19 -08:00
Ryan Uber
ee03c6a4b8
consul: add test for internal keyring rpc endpoint
2014-11-19 16:36:19 -08:00
Ryan Uber
a79176d314
consul: simplify keyring operations
2014-11-19 16:36:19 -08:00
Ryan Uber
e60c909276
command/keyring: clean up tests
2014-11-19 16:36:18 -08:00
Ryan Uber
bc2b2120fa
agent: -encrypt appends to keyring if one exists
2014-11-19 16:36:01 -08:00
Ryan Uber
22b2c63304
command/agent: fix up gossip encryption indicator
2014-11-19 16:35:37 -08:00
Ryan Uber
1f9d13dc73
agent: squash some more common keyring semantics
2014-11-19 16:34:18 -08:00
Ryan Uber
25845a39d3
consul: detach executeKeyringOp() from *Internal
2014-11-19 16:34:18 -08:00
Ryan Uber
7b4b87ccf1
consul: use keyring operation type to cut out duplicated logic
2014-11-19 16:34:18 -08:00
Ryan Uber
9556347609
consul: generalize multi-DC RPC call broadcasts
2014-11-19 16:34:18 -08:00
Ryan Uber
daf77c3f5b
command/keyring: cleanup
2014-11-19 16:34:18 -08:00
Ryan Uber
61b0908e3a
consul: test rpc errors returned from remote datacenters
2014-11-19 16:34:18 -08:00
Ryan Uber
9b8e753b15
consul: make forwarding to multiple datacenters parallel
2014-11-19 16:34:18 -08:00
Ryan Uber
74c7b1239b
consul: break rpc forwarding and response ingestion out of internal endpoints
2014-11-19 16:34:18 -08:00
Ryan Uber
9d01174521
consul: kill unused struct fields
2014-11-19 16:34:17 -08:00
Ryan Uber
9056e617cb
consul: cross-dc key rotation works
2014-11-19 16:34:17 -08:00
Ryan Uber
ef2aabc544
consul: use a function for ingesting responses
2014-11-19 16:34:17 -08:00
Ryan Uber
2bdeaa0c6a
consul: restructuring
2014-11-19 16:34:17 -08:00
Ryan Uber
8dec2744da
consul: refactor keyring, repeat RPC calls to all DC's
2014-11-19 16:34:17 -08:00
Ryan Uber
fcb0961436
agent: refactor keyring loader
2014-11-19 16:31:06 -08:00
Ryan Uber
67b179ccc9
command: basic rpc works for keys command
2014-11-19 16:30:21 -08:00
Ryan Uber
4dd1b42477
consul: use rpc layer only for key management functions, add rpc commands
2014-11-19 16:30:21 -08:00
Ryan Uber
e20a724999
consul: first pass at keyring integration
2014-11-19 16:30:20 -08:00
Armon Dadgar
6be29e17c2
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
e9c7b1df93
consul: Increase maximum number of parallel readers
2014-11-18 18:46:43 -08:00
Atin Malaviya
61f1d24f39
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
f1f8c88228
Moved TLS Config stuff to tlsutil package
2014-11-18 11:03:36 -05:00
Armon Dadgar
8a1969cc8c
consul: Fixing key list index calculation
2014-11-12 17:55:45 -08:00
Emil Hessman
c9333b1b9b
Fix missing arguments
2014-11-01 22:56:48 +01:00
Armon Dadgar
541b98a926
Gofmt
2014-10-20 10:21:31 -07:00
Armon Dadgar
ce4aa7beb5
Switching to the pinned version of msgpack
2014-10-17 18:26:19 -07:00
Armon Dadgar
ad445f5ac2
Encode/Decode test
2014-10-17 18:23:13 -07:00
Armon Dadgar
f37f5fde54
consul: Improving test reliability
2014-10-17 17:40:14 -07:00
Armon Dadgar
4f1fa3a4ce
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
c8ac05b39e
consul: Fixing FSM path tests
2014-10-15 15:03:58 -07:00
Armon Dadgar
bb3324dd85
consul: Ensure FSM stores data in the data dir
2014-10-15 14:57:59 -07:00
Armon Dadgar
7380216911
consul: FSM stores state in a given path only
2014-10-15 14:56:12 -07:00
Armon Dadgar
be8051ec7e
consul: Allow providing a path for the state store
2014-10-15 14:55:04 -07:00
Ryan Uber
d2fc11c19d
consul/structs: keep HealthUnknown around for backward compatibility
2014-10-15 11:35:22 -07:00
Armon Dadgar
f8fc46dc57
consul: Reduce mmap size on 32bit
2014-10-15 11:32:40 -07:00
Ryan Uber
2f93e13da8
consul: kill remaining use of HealthUnknown
2014-10-15 10:14:46 -07:00
Armon Dadgar
d1d76856e6
consul: less aggressive deadlock timer. Fixes #389
2014-10-14 12:00:25 -07:00
Armon Dadgar
af4a955037
consul: Improve variable name
2014-10-14 11:04:43 -07:00
Armon Dadgar
e39d2ee675
consul: Reap left members ignoring state. Fixes #371
2014-10-14 11:02:26 -07:00
Armon Dadgar
93b209db50
consul: Log why invalidation happened. Fixes #390
2014-10-14 10:54:57 -07:00
Armon Dadgar
d3c3d9a1be
consul: Fixing graceful leave of current leader. Fixes #360 .
2014-10-13 22:14:43 -07:00
Armon Dadgar
e6ed387f42
consul: Deprecate ACLForceSet
2014-10-09 12:28:07 -07:00
Armon Dadgar
c832ea8aa3
consul: Fix non-deterministic ACL IDs
2014-10-09 12:23:32 -07:00
Armon Dadgar
39e8b1ffaa
consul: Fix non-deterministic session IDs
2014-10-09 11:54:47 -07:00
Armon Dadgar
c8f35aea45
consul: don't close a nil connection
2014-10-02 10:26:25 -07:00
Armon Dadgar
602828472d
agent: First pass at multi-DC support
2014-08-28 15:00:49 -07:00
Armon Dadgar
b5fb9d6dfb
consul: Testing user events
2014-08-26 19:26:55 -07:00
Armon Dadgar
20d55e2ec4
consul: Adding user event name tests
2014-08-26 19:20:02 -07:00
Armon Dadgar
be78e355de
consul: Adding user event handler for callbacks
2014-08-26 19:04:07 -07:00
Armon Dadgar
1c341e6766
consul: expose UserEvent from Serf
2014-08-26 18:50:03 -07:00
Armon Dadgar
9622e99861
consul: Deny delete anonymous or update of root policies
2014-08-22 14:55:09 -07:00
Armon Dadgar
333095691e
consul: Ensure node/service/check registration is in a single txn
2014-08-22 12:38:33 -07:00
Armon Dadgar
22e7205a5f
consul: fixing a unit test
2014-08-22 12:34:31 -07:00
Armon Dadgar
40ae65b277
consul: Refactor txn handling in state store
2014-08-22 12:27:12 -07:00
Armon Dadgar
43a7a20868
consul: Ensure authoritative cache is purged after update
2014-08-18 15:46:59 -07:00
Armon Dadgar
e56007753d
consul: Provide ETag to avoid expensive policy fetch
2014-08-18 15:46:59 -07:00
Armon Dadgar
25855b2362
consul: ACL enforcement for KV updates
2014-08-18 15:46:24 -07:00
Armon Dadgar
c7cb1f562b
consul: ACL enforcement for key reads
2014-08-18 15:46:24 -07:00
Armon Dadgar
f49d34d0e3
consul: Filter keys, refactor to interface
2014-08-18 15:46:24 -07:00
Armon Dadgar
614b0a1414
consul: Helpers to filter on ACL rules
2014-08-18 15:46:24 -07:00
Armon Dadgar
84488ed1f0
consul: Starting token enforcement
2014-08-18 15:46:23 -07:00
Armon Dadgar
2d5e869e69
consul: Prevent resolution of root policy
2014-08-18 15:46:23 -07:00
Armon Dadgar
10db4c7c8f
consul: Resolve parent ACLs
2014-08-18 15:46:23 -07:00
Armon Dadgar
ef171ca344
consul: Support management tokens
2014-08-18 15:46:23 -07:00
Armon Dadgar
a82439c713
consul: Adding some metrics for ACL usage
2014-08-18 15:46:23 -07:00
Armon Dadgar
827e7c9efa
consul: Create anonymous and master tokens
2014-08-18 15:46:22 -07:00
Armon Dadgar
01beaa60cc
consul: Testing down policies and multi-DC
2014-08-18 15:46:22 -07:00
Armon Dadgar
fe86c8c5ee
consul: Testing ACL resolution
2014-08-18 15:46:22 -07:00
Armon Dadgar
0c912f2c98
consul: Use Etag for policy caching
2014-08-18 15:46:22 -07:00
Armon Dadgar
b5e22203fc
consul: Support conditional policy fetch
2014-08-18 15:46:22 -07:00
Armon Dadgar
b5c9e65175
consul: Verify compilation of rules
2014-08-18 15:46:22 -07:00
Armon Dadgar
338f11c6cf
consul: Enable ACL lookup
2014-08-18 15:46:22 -07:00
Armon Dadgar
97a737b1ee
consul: Pulling in ACLs
2014-08-18 15:46:21 -07:00
Armon Dadgar
78049ad240
agent: ACL endpoint tests
2014-08-18 15:46:21 -07:00
Armon Dadgar
1b6806872d
consul: ACL Endpoint tests
2014-08-18 15:46:21 -07:00
Armon Dadgar
7cbb2225af
consul: Adding ACL endpoint
2014-08-18 15:46:21 -07:00
Armon Dadgar
b53ee80acd
consul: register the ACL queries
2014-08-18 15:46:21 -07:00
Armon Dadgar
70b84e44c9
consul: FSM support for ACLsg
2014-08-18 15:46:21 -07:00
Armon Dadgar
fea61d629b
consul: Adding ACLs to the state store
2014-08-18 15:46:21 -07:00
Armon Dadgar
3b4d8d5805
consul: ACL structs
2014-08-18 15:46:21 -07:00
Armon Dadgar
cae4b421a3
agent: Adding ACL master token
2014-08-18 15:46:20 -07:00
Armon Dadgar
a8063457f8
consul: ACL setting passthrough
2014-08-18 15:46:20 -07:00
William Tisäter
6b52d410b3
Run `go fmt`
2014-07-24 01:09:55 +02:00
William Tisäter
945e19e139
Don't override `ServiceTags`
2014-07-23 23:42:22 +02:00
William Tisäter
57d62eb492
Change order of fixtures
2014-07-23 23:42:22 +02:00
William Tisäter
37426f7410
Make service tag filter case-insensitive
2014-07-23 23:42:22 +02:00
William Tisäter
9ad8b9ff19
Make service index case-insensitive
2014-07-23 23:42:22 +02:00
William Tisäter
9359f899f5
Lowercase index key and lookup value if flag is set
2014-07-23 23:42:22 +02:00
William Tisäter
ee4de11741
Add case-insensitive flag to `MDBIndex`
2014-07-23 23:42:21 +02:00
William Tisäter
e5798c74d2
Add helper for lowercase list of strings
2014-07-23 23:42:21 +02:00
Armon Dadgar
ce9de56469
consul: Defer serf handler until initialized. Fixes #254 .
2014-07-22 09:36:58 -04:00
Armon Dadgar
746449ffed
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
12a7f765b6
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
d174cbe7f4
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
924e4bc7f1
Rename Expect to BootstrapExpect. Fixes #223 .
2014-06-19 17:08:55 -07:00
Armon Dadgar
92b6e947dd
consul: Minor cleanups
2014-06-18 16:15:28 -07:00
Robert Xu
7b456a6d6d
Minor cleanup to logic and testsuite.
...
Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-18 18:47:05 -04:00
Robert Xu
bc4a4fe09b
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
c60fd0542a
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
961a00c496
Adding server_name configuration for TLS
2014-06-13 11:10:27 -07:00
Robert B Gordon
470d0f1e58
Seems like we should actually check the reference count.
2014-06-13 11:25:01 -05:00
Armon Dadgar
93f4eb0a0f
consul: Start RPC before Raft, wait to accept connecitons
2014-06-11 10:17:58 -07:00
Armon Dadgar
938371ee40
consul: start RPC after fully initialized. Fixes #160
2014-06-11 09:46:44 -07:00
Armon Dadgar
ab4e3de185
consul: Avoid network for server RPC. Fixes #148 .
2014-06-10 19:12:36 -07:00
Armon Dadgar
476339b20c
consul: Provide output for serfHealth check. Fixes #176 .
2014-06-09 16:07:22 -07:00
Armon Dadgar
10f3007aa2
consul: Adding support for optional session name
2014-06-09 11:42:28 -07:00
Armon Dadgar
9a46a12fa5
consul: fixing use of nil log output. Fixes #203
2014-06-09 11:16:53 -07:00
Armon Dadgar
474e286aca
Rename shared msgpack handle
2014-06-08 14:02:42 -07:00
Andrew M Bursavich
8a3c1a9b47
reuse codec.MsgpackHandle
2014-06-07 01:13:38 -07:00
Armon Dadgar
b144633815
consul: Gossip the build using Serf
2014-06-06 15:36:40 -07:00
Armon Dadgar
e171df2e2c
consul: Sort datacenter list. Fixes #198
2014-06-06 14:12:40 -07:00
William Tisäter
cbdb54f22b
Log peers when `TestLeader_LeftServer` fail
2014-05-30 21:18:37 +02:00
William Tisäter
9e3ad6721c
Re-configure `LeaderLeaseTimeout` to pass validation
2014-05-30 20:57:39 +02:00
Armon Dadgar
acc048036b
consul: Ensure clients also implement LocalMember
2014-05-29 11:21:56 -07:00
Armon Dadgar
3874498374
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
5124428ba7
consul: Conn pool clean, spare existing streams
2014-05-28 16:55:39 -07:00
Armon Dadgar
22f548c338
consul: Provide logger to yamux
2014-05-28 16:32:25 -07:00
Armon Dadgar
6331a717ed
consul: Suppress messages about closed connections
2014-05-28 16:32:25 -07:00
Armon Dadgar
57cef6e9b1
consul: ensure connections are properly closed
2014-05-28 16:32:24 -07:00
Armon Dadgar
d1ebf83e39
consul: Add new protocol version for yamux
2014-05-28 16:32:24 -07:00
Armon Dadgar
d737a2204a
consul: Pass protocol version for leader forwarding
2014-05-28 16:32:24 -07:00
Armon Dadgar
f16d13213c
consul: remove explicit leave, use reconciliation
2014-05-28 16:32:24 -07:00
Armon Dadgar
a31a19040e
consul: Server processes local Serf join
2014-05-28 16:32:24 -07:00
Armon Dadgar
1be705c410
consul: Fix client server reaping
2014-05-28 16:32:24 -07:00
Armon Dadgar
3a854b5952
consul: Store the protocol version for a server
2014-05-28 16:32:24 -07:00
Armon Dadgar
aa32e95139
consul: Adding Addr to serverParts
2014-05-28 16:32:24 -07:00
Armon Dadgar
2457293dce
consul: Pool client connections, support for yamux connections
2014-05-28 16:32:24 -07:00
Armon Dadgar
b03ead39a1
consul: Support for incoming Yamux connections
2014-05-28 16:32:24 -07:00
Armon Dadgar
c51089353e
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
d0e447d29b
Add `/v1/agent/self` and return local agent config
2014-05-27 01:15:33 +02:00
William Tisäter
7146561fad
Wait for joining member in `TestClient_JoinLAN`
2014-05-27 00:55:20 +02:00
William Tisäter
ed4230f1fc
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
4685e1c51f
Revert "Remove `WaitForResult` from two failing tests"
...
This reverts commit f0842409cd
.
2014-05-26 23:49:23 +02:00
William Tisäter
3f361972ac
Remove TODO comments
2014-05-26 23:44:46 +02:00
William Tisäter
f0842409cd
Remove `WaitForResult` from two failing tests
2014-05-26 23:44:37 +02:00
Nelson Elhage
fe4ec67488
Allow multiple PEM-encoded certificates in the ca_file.
...
fixes #167
2014-05-26 10:58:57 -07:00
Armon Dadgar
37f49427e1
consul: Suppress error if connection is closed
2014-05-23 16:28:55 -07:00
Armon Dadgar
e55a6fb6d6
Support wildcard for check lookup. Fixes #152
2014-05-21 12:45:12 -07:00
Armon Dadgar
de309057ff
Support rejoin after leave. Fixes #110 .
2014-05-21 12:32:24 -07:00
Armon Dadgar
e0abf2e92c
consul: Adding support for lock-delay in sessions
2014-05-20 16:25:29 -07:00
Armon Dadgar
14be60aaca
gofmt
2014-05-20 16:25:29 -07:00
Armon Dadgar
0119ec7f0a
agent: First pass at session endpoints
2014-05-20 16:25:29 -07:00
Armon Dadgar
b8174dc500
consul: Adding tests for session endpoints
2014-05-20 16:25:29 -07:00
Armon Dadgar
f2b2a68a55
consul: First pass at Session RPC endpoints
2014-05-20 16:25:29 -07:00
Armon Dadgar
aa97e24b02
consul: Testing FSM snapshot of sessions
2014-05-20 16:25:29 -07:00
Armon Dadgar
555533e2f8
consul: Testing KVS Lock/Unlock in FSM
2014-05-20 16:25:29 -07:00
Armon Dadgar
85656e0f54
consul: FSM tests for session
2014-05-20 16:25:28 -07:00
Armon Dadgar
137d21fbac
consul: Adding support for sessions to FSM
2014-05-20 16:25:28 -07:00
Armon Dadgar
8772068163
consul: Adding SessionList to snapshot
2014-05-20 16:25:28 -07:00
Armon Dadgar
c19806464b
consul: Session invalidation releases locks
2014-05-20 16:25:28 -07:00
Armon Dadgar
dc1955526c
consul: Support KVSLock and KVSUnlock
2014-05-20 16:25:28 -07:00
Armon Dadgar
1c484e991d
consul: Switch notify to using txn defer
2014-05-20 16:25:28 -07:00
Armon Dadgar
5e0639a0eb
consul: Adding session invalidation
2014-05-20 16:25:28 -07:00
Armon Dadgar
8fec0c093c
consul: Adding Defer to MDBTxn
2014-05-20 16:25:28 -07:00
Armon Dadgar
222996050d
consul: Adding session tests
2014-05-20 16:25:28 -07:00
Armon Dadgar
65ccddcd6b
consul: Adding SessionDestroy
2014-05-20 16:25:28 -07:00
Armon Dadgar
4695da527a
consul: Adding session lookup methods
2014-05-20 16:25:27 -07:00
Armon Dadgar
836e1b5a10
consul: Adding SessionCreate and SessionRestore
2014-05-20 16:25:27 -07:00
Armon Dadgar
26ee0e3c76
consul: Adding util method to generate a UUID
2014-05-20 16:25:27 -07:00
Armon Dadgar
1e5c8a445c
consul: Adding new session tables
2014-05-20 16:25:27 -07:00
Armon Dadgar
d1f392fed3
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
baa831d847
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
e08ca71559
consul: Disable conflict resolution. See #97 .
2014-05-16 14:11:53 -07:00
Armon Dadgar
1611d986d6
consul: Avoid name conflict on WAN ring. Fixes #158 .
2014-05-16 14:07:53 -07:00
Mitchell Hashimoto
78b7c57ba3
command/agent: find proper private IP on Windows
...
/cc @armon
2014-05-15 11:27:30 -07:00
Armon Dadgar
03a98ed1d7
consul: Remove RPC client tracking. Fixes #149 .
2014-05-14 17:34:24 -07:00
Andrew M Bursavich
f48dcf0984
use empty slice instead of nil slice when no tags exist for service
2014-05-13 00:18:36 -07:00
Armon Dadgar
686fac0e49
consul: Adding a Raft command enqueue limit
2014-05-09 19:18:06 -07:00
William Tisäter
dcfd03be00
Add TODOs for failing tests
2014-05-09 11:38:29 +02:00
William Tisäter
335cd5a68a
Wait wrap tests in `TestServer_JoinLAN`
2014-05-09 03:41:47 +02:00
William Tisäter
4a9058a07e
Sleep since no obvious way to wait for shutdown
2014-05-09 03:24:13 +02:00
William Tisäter
7092ab744b
Fix race condition in `TestLeader_RegisterMember`
2014-05-09 03:05:38 +02:00
William Tisäter
048b780d61
Fix race condition in `TestCatalogListNodes`
2014-05-09 03:00:56 +02:00
William Tisäter
860cdb9c96
Change blocking call sleep time
2014-05-09 02:36:25 +02:00
William Tisäter
a727c59e74
Remove all sleeps from `client_test.go`
2014-05-09 02:29:51 +02:00
William Tisäter
7ffc8cd29e
Fix race condition in `TestLeader_FailedMember`
2014-05-09 02:14:39 +02:00
William Tisäter
f0a8866d42
Remove all sleeps from `internal_endpoint_test.go`
2014-05-09 02:11:40 +02:00
William Tisäter
9e73d1b849
Remove all sleeps from `kvs_endpoint_test.go`
2014-05-09 02:09:53 +02:00
William Tisäter
f4597403e3
Remove all sleeps from `leader_test.go`
2014-05-09 02:04:52 +02:00
William Tisäter
4e9e14ff93
Remove all sleeps from `server_test.go`
2014-05-09 01:38:58 +02:00
William Tisäter
176e3eb9df
Remove all sleeps from `status_endpoint_test.go`
2014-05-09 01:23:54 +02:00
William Tisäter
c0de985b91
Fix imports in `health_endpoint_test.go`
2014-05-09 01:21:13 +02:00
William Tisäter
14dec397f8
Remove all sleeps from `catalog_endpoint_test.go`
2014-05-09 01:18:35 +02:00
William Tisäter
f202123fb1
Remove all sleeps from `health_endpoint_test.go`
2014-05-09 01:18:08 +02:00
William Tisäter
78145ecfd5
Require datacenter argument for `WaitForLeader`
2014-05-09 01:17:35 +02:00
William Tisäter
05243b35cd
Move argument structs back in original position
2014-05-07 23:51:15 +02:00
William Tisäter
93c7103bb5
Move `WaitForLeader` calls to top of test
2014-05-07 23:47:16 +02:00
William Tisäter
c8168bd8fe
Drop client arguments from `WaitForLeader`
2014-05-07 23:41:14 +02:00
William Tisäter
aa00bfff7d
Fix `TestCatalogListNodes_StaleRaad` with `WaitForLeader`
2014-05-07 13:53:29 +02:00
William Tisäter
028bc7e1b4
Proof of concept using `WaitForResult` in tests
2014-05-07 02:48:25 +02:00
Armon Dadgar
4a80e73df4
consul: Drop the Raft logs size warning from 8MB to 1MB
2014-05-06 14:10:08 -07:00
Armon Dadgar
888ce89b91
consul: Fixing for upstream API changes
2014-05-01 18:11:36 -07:00
Armon Dadgar
a325630d7a
consul: Support listkeys without seperator
2014-04-30 23:44:27 -04:00
Armon Dadgar
18723c96be
consul: Adding ListKeys endpoint
2014-04-30 23:44:27 -04:00
Armon Dadgar
dcbb55b874
consul: Adding a key listing mechanism
2014-04-30 23:44:27 -04:00
Armon Dadgar
7098807583
consul: Rename Misc RPC to Internal
2014-04-30 23:43:59 -04:00
Armon Dadgar
9c954e81e7
consul: Testing the Misc endpoitns
2014-04-30 23:43:58 -04:00
Armon Dadgar
4761ad73b2
consul: Adding Misc RPC endpoint
2014-04-30 23:43:58 -04:00
Armon Dadgar
87eba3da8d
consul: Adding methods to dump node info
2014-04-30 23:43:58 -04:00
Armon Dadgar
b7e0881df5
consul: Hack around LMDB delete issue. Fixes #85 .
2014-04-29 16:01:20 -07:00
Armon Dadgar
2c45bd6fe9
consul: Expose runtime stats for debugging
2014-04-29 10:55:42 -07:00
Armon Dadgar
a5ab73e67d
consul: Adding a warning for large raft entries
2014-04-28 22:25:09 -07:00
Armon Dadgar
2dd0d80274
consul: Increase DB size on 64bit systems. Fixes #81 .
2014-04-28 17:07:59 -07:00
Armon Dadgar
02fa6e9d96
consul: Do not fire ServerUp on WAN node join
2014-04-23 12:20:54 -07:00
Armon Dadgar
b4ae24db02
consul: Clear peer set on leave. Fixes #69
2014-04-23 11:39:45 -07:00
Armon Dadgar
018482dc4c
Store check output in dedicated field. Fixes #59 .
2014-04-21 16:20:22 -07:00
Armon Dadgar
3d9e6795eb
consul: Adding strongly consistent read tests
2014-04-21 12:08:00 -07:00
Armon Dadgar
67263e2ca3
consul: Testing a stale read
2014-04-21 11:57:39 -07:00
Armon Dadgar
e5e97274d4
consul: Adding consistent read enforcement
2014-04-21 11:49:21 -07:00
Armon Dadgar
e706c988b8
consul: Merging BlockingQuery into QueryOptions
2014-04-21 11:31:15 -07:00
Armon Dadgar
180cc33030
consul: Use QueryMeta to simplify blockingRPC interface
2014-04-21 11:18:27 -07:00
Armon Dadgar
d2b487edb6
consul: Move the Index into QueryMeta
2014-04-21 11:13:36 -07:00
Armon Dadgar
beeeb86a12
consul: Moving QueryMeta handling into blockingRPC
2014-04-21 11:04:52 -07:00
Armon Dadgar
a2acbe732e
consul: Adding a method to enforce consistent read
2014-04-21 10:59:46 -07:00
Armon Dadgar
93abc19845
consul: Testing QueryMeta
2014-04-21 10:59:46 -07:00
Armon Dadgar
afa6a1ae49
consul: Adding support for QueryMeta on all queries
2014-04-21 10:59:46 -07:00
Armon Dadgar
fa90f1cd0d
consul: Support a stale read query
2014-04-21 10:59:46 -07:00
Armon Dadgar
a9d4e2357e
consul: Switch to RPCInfo
2014-04-21 10:59:46 -07:00
Armon Dadgar
cea8a4f9f2
consul: Adding RPCInfo to get common info
2014-04-21 10:59:46 -07:00
Armon Dadgar
fbc526e8c1
consul: Adding additional query options and return meta data
2014-04-21 10:59:46 -07:00
Armon Dadgar
efa972057e
consul: Update to use raft-mdb package
2014-04-19 13:31:56 -07:00
Armon Dadgar
7f18a3ca22
consul: Fix a 64bit alignment issue for x86-32
2014-04-11 11:12:17 -07:00
Armon Dadgar
365fd58e6b
consul: Adding client/server TLS tests
2014-04-07 15:07:00 -07:00
Armon Dadgar
462ed3cee0
consul: Refactor to pull out server config
2014-04-07 15:07:00 -07:00
Armon Dadgar
2c212516ee
consul: Adding configuration tests
2014-04-07 15:07:00 -07:00
Armon Dadgar
165103d55e
consul: Fix decoding of certificate
2014-04-07 15:07:00 -07:00
Armon Dadgar
39a55953af
consul: Simplify TLS handling in RPC server
2014-04-07 15:07:00 -07:00
Armon Dadgar
f94dfa4efc
consul: Enforce TLS if VerifyIncoming is set
2014-04-07 15:06:59 -07:00
Armon Dadgar
7884439b7c
consul: Ensure Raft also uses TLS connections
2014-04-07 15:06:59 -07:00
Armon Dadgar
1ab9a4ad53
consul: Enable incoming TLS connections to server
2014-04-07 15:06:59 -07:00
Armon Dadgar
f68d3160d2
consul: Server initializes pool with TLS settings
2014-04-07 15:06:59 -07:00
Armon Dadgar
00ec592dd1
consul: Client initializes TLS settings
2014-04-07 15:06:59 -07:00
Armon Dadgar
7beac2a1bc
consul: Connection pool supports TLS mode
2014-04-07 15:06:59 -07:00
Armon Dadgar
c593632d3c
consul: Adding basic TLS configuraiton
2014-04-07 15:06:59 -07:00
Armon Dadgar
ebf98fcea0
consul: Export some telemetry on service queries
2014-04-04 14:55:44 -07:00
Armon Dadgar
cef6859069
Merge pull request #26 from hashicorp/f-tags
...
Adding support for multiple tags
2014-04-03 15:51:31 -07:00
Armon Dadgar
ed39e90e3a
consul: Adding reconcilation to handle reaped Serf nodes. Fixes #15 .
2014-04-03 15:51:09 -07:00
Armon Dadgar
7f399a0ecc
consul: Adding test for multiple tags with lookup
2014-04-03 12:07:17 -07:00
Armon Dadgar
4a1faf435c
consul: Updating all the tests
2014-04-03 12:03:10 -07:00
Armon Dadgar
13bff3a09b
consul: Change state store to support multiple tags
2014-04-03 12:03:02 -07:00
Armon Dadgar
283c5d1be1
consul: Replace single tag with list of tags
2014-04-03 11:23:55 -07:00
Armon Dadgar
5ff482dec0
consul: FSM snapshot can avoid type assertion
2014-04-01 12:10:58 -07:00
Armon Dadgar
9473bbe7bf
consul: Avoid loading all KV pairs during a snapshot
2014-04-01 11:55:25 -07:00
Armon Dadgar
8172526801
consul: Support a streaming transaction
2014-04-01 11:42:07 -07:00
Armon Dadgar
4ccb2d4a73
consul: More efficient restore of KVS entriesg
2014-04-01 11:29:55 -07:00
Armon Dadgar
512c6895e4
consul: Adding raft endpoint to force a snapshot
2014-03-31 20:09:16 -07:00
Armon Dadgar
8f2ef0d7d2
consul: Fixing blocking query if set table is at index 0
2014-03-31 20:00:46 -07:00
Armon Dadgar
94df059026
consul: Enable a recursive delete of all keys
2014-03-31 20:00:01 -07:00
Armon Dadgar
1b2dd17f93
consul: Test the remaining KVS endpoints
2014-03-31 16:18:44 -07:00
Armon Dadgar
fc5110405c
consul: Adding tests for endpoint method
2014-03-31 16:10:49 -07:00
Armon Dadgar
3e9dc6d8b6
consul: First pass at KVS endpoints for RPC
2014-03-31 16:00:23 -07:00
Armon Dadgar
47ad40a925
consul: Adding KVS RPC endpoint
2014-03-31 14:15:49 -07:00
Armon Dadgar
6ca5c7c49d
consul: Testing FSM application of KVS commands
2014-03-31 14:13:03 -07:00
Armon Dadgar
c31232fb70
consul: FSM support to snapshot/restore KVS values
2014-03-31 13:56:16 -07:00
Armon Dadgar
f91e12fe30
consul: Adding FSM support for KVS operations
2014-03-31 13:41:43 -07:00
Armon Dadgar
9cfea72d2a
consul: Snapshot KVS store support
2014-03-31 13:31:31 -07:00
Armon Dadgar
860cfd7497
consul: Support DeleteTree
2014-03-31 13:20:08 -07:00
Armon Dadgar
dfb8c03659
consul: Adding support for KVSList
2014-03-31 13:12:35 -07:00
Armon Dadgar
59703cbfae
consul: Adding support for virtual indexes
2014-03-31 13:06:29 -07:00
Armon Dadgar
8d7c5fc9cd
consul: Implementing Check-And-Set
2014-03-31 12:37:11 -07:00
Armon Dadgar
f87c47424c
consul: Implement KVSDelete
2014-03-31 12:24:06 -07:00
Armon Dadgar
6744ee62be
consul: Implement and test KV get and set
2014-03-31 12:13:57 -07:00
Armon Dadgar
a6086e1750
consul: Adding KVSDeleteTree operation
2014-03-31 12:13:40 -07:00
Armon Dadgar
a365b30792
consul: Adding kvs table to state store
2014-03-31 11:48:32 -07:00
Armon Dadgar
6e51251cc1
consul: Adding new directory structs for KVS
2014-03-31 11:47:10 -07:00
Armon Dadgar
2d937bc0a8
consul: Only close the cursor for read-only transactions (mdb)
2014-03-27 10:48:04 -07:00
Armon Dadgar
80439376cf
consul: Should not clear the peer set
2014-03-25 14:57:00 -07:00
Armon Dadgar
966daed094
consul: Fixing issue with cursors not closing in MDB
2014-03-25 13:30:19 -07:00
Armon Dadgar
ab5a3d3721
consul: Set maximum consul DB size to 128MB
2014-03-25 13:29:42 -07:00
Armon Dadgar
32e500e012
consul: Set maximum raft log size to 128MB
2014-03-25 13:29:15 -07:00
Armon Dadgar
ad8e25917b
consul: Handle reaping of serf members
2014-03-20 12:51:49 -07:00
Armon Dadgar
73b6ac322b
consul: Increase default reap time to 3 days
2014-03-20 12:39:06 -07:00
Armon Dadgar
7d4e099566
consul: Ignore new Serf events
2014-03-12 12:46:14 -07:00
Armon Dadgar
cd6842ff6b
consul: Add tags for consul protocol versions
2014-03-09 15:46:03 -07:00
Armon Dadgar
2a8d998968
consul: Adding protocol version numbers
2014-03-09 15:18:36 -07:00
Armon Dadgar
e914c0a70b
consul: Fixing subtle delete issue
2014-03-05 19:32:09 -08:00
Armon Dadgar
ad2d5752c9
consul: Peg Serf proto version to 3
2014-03-05 15:32:59 -08:00
Armon Dadgar
98fffdacb5
consul: Handle API changes in StateStore
2014-03-05 15:03:12 -08:00
Armon Dadgar
37a16979d7
consul: Log instead of panic. Change NodeServices to return nil.
2014-03-05 15:02:28 -08:00
Armon Dadgar
ca5a9cac23
consul: Providing logOutput to StateStore
2014-03-05 14:34:29 -08:00
Armon Dadgar
1b1cb3be11
consul: Passthrough the Serf Stats()
2014-02-23 18:08:58 -08:00
Armon Dadgar
2362b397fa
consul: Adding Stats() method to get various debugging information
2014-02-23 16:37:33 -08:00
Armon Dadgar
800975200a
consul: Increase network timeout value
2014-02-22 11:13:59 -08:00
Armon Dadgar
e54d8f6c07
consul: Reduce the number of raft snapshots we keep
2014-02-22 10:57:22 -08:00
Armon Dadgar
5e790b02a9
If not in bootstrap mode, clear the raft peerset
2014-02-21 15:21:27 -08:00
Armon Dadgar
5d8783148b
consul: Only add ourself to the peerset if we are in bootstrap mode
2014-02-20 16:27:14 -08:00
Armon Dadgar
421c4d6933
consul: Do not replay events on serf join
2014-02-20 16:27:03 -08:00
Armon Dadgar
889297dc99
consul: Adding telemetry
2014-02-20 15:16:26 -08:00
Armon Dadgar
7123c6315b
consul: Use serf event to announce new leader
2014-02-19 12:36:27 -08:00
Armon Dadgar
035f9f6a5a
Add test file for structs package
2014-02-07 16:40:52 -08:00
Armon Dadgar
c1637b4978
agent: Adding server up callback to make state sync faster
2014-02-07 12:11:34 -08:00
Armon Dadgar
d7b3174804
consul: ConnPool multiplexes a single connection instead of using multiple
2014-02-05 16:19:05 -08:00
Armon Dadgar
e0b1315171
consul: Make some ConnPool methods private
2014-02-05 15:30:19 -08:00
Armon Dadgar
15d2a6a51e
consul: Allow receiving RPC connections
2014-02-05 15:29:52 -08:00
Armon Dadgar
e72ad27850
TODO cleanups
2014-02-05 14:54:35 -08:00
Armon Dadgar
1996deaa18
consul: Fixing struct type
2014-02-05 14:27:24 -08:00
Armon Dadgar
18b4e51bb5
consul: ensure conn pool shutdown is fast
2014-02-05 14:20:18 -08:00
Armon Dadgar
4cee14f58a
consul: Health endpoints support blocking queries
2014-02-05 13:30:18 -08:00
Armon Dadgar
bd1a140476
consul: Adding a sanity check
2014-02-05 11:13:08 -08:00
Armon Dadgar
89bffaf467
consul: Support blocking queries for the Catalog
2014-02-05 11:10:10 -08:00
Armon Dadgar
1d1dd8f8d2
consul: Enable ListNodes and ListServices to be a blocking query
2014-02-05 11:00:43 -08:00
Armon Dadgar
697d9e7ed8
consul: Cleanup the FSM, running out of file handles
2014-02-05 11:00:10 -08:00
Armon Dadgar
630aa33cf4
consul: Adding indexed versions of return structs
2014-02-05 10:44:28 -08:00
Armon Dadgar
ffa7173953
consul: blockingRPC is a helper method for queries that need to block
2014-02-05 10:38:29 -08:00
Armon Dadgar
985e3a0529
consul: State store can return the tables for a query, and watch for changes
2014-02-05 10:37:28 -08:00
Armon Dadgar
f0205e1974
consul: Adding BlockingQuery to structs to wait for changes
2014-02-05 10:21:31 -08:00
Armon Dadgar
e29b9ca50a
consul: Add a guard against deadlock in MDB
2014-02-04 19:04:36 -08:00
Armon Dadgar
3897a23db2
consul: reduce the scope of various transactions
2014-02-04 19:01:32 -08:00
Armon Dadgar
7326a74e65
consul: Notify watchers of changes
2014-02-04 18:45:40 -08:00
Armon Dadgar
420417861a
consul: Move notification group from MDBTable into the state store
2014-02-04 18:37:38 -08:00
Armon Dadgar
67a7d25e1c
consul: updating state store to associate changes with raft index
2014-02-04 18:33:15 -08:00
Armon Dadgar
64ba7991f4
consul: Add a NotifyGroup to the MDBTable
2014-02-04 12:32:05 -08:00
Armon Dadgar
9c4d62edd9
consul: Adding a simple notification mechansim
2014-02-04 12:21:30 -08:00
Armon Dadgar
78db2f6475
consul: MDBTable can track a special 'last index' value
2014-02-04 11:11:31 -08:00
Armon Dadgar
231bbb1bd5
consul: Log state store errors
2014-02-03 15:21:56 -08:00
Armon Dadgar
db4bf65e2e
consul: client re-uses the last connection if error free
2014-02-03 11:53:04 -08:00
Armon Dadgar
be04291fb2
consul: benchmark the ListNodes RPC method
2014-02-01 12:16:33 -08:00
Armon Dadgar
e98595cddf
consul: Adding some benchmarks to test state store
2014-02-01 12:00:56 -08:00
Armon Dadgar
fe0efdfa75
consul: Update for serf 0.4
2014-01-30 13:13:29 -08:00
Armon Dadgar
0964285761
Adding LANMembers to the Consul.Interface
2014-01-21 11:52:01 -08:00
Armon Dadgar
28a9598c91
Preventing multiple nodes in bootstrap mode from adding each other as Raft peers
2014-01-20 13:56:29 -10:00
Armon Dadgar
01c73ee9ae
change isConsulServer to parse flags
2014-01-20 13:39:07 -10:00
Armon Dadgar
4ee8bde861
Export the consul service id and name
2014-01-15 17:27:37 -10:00
Armon Dadgar
9d34893992
Export the serf check ID
2014-01-15 17:24:16 -10:00
Armon Dadgar
7831f34606
CheckServiceNodes will return node checks that are not service associated
2014-01-15 11:14:28 -10:00
Armon Dadgar
0cdd9071aa
Do not remove ourself when we leave from Raft
2014-01-10 15:05:34 -08:00
Armon Dadgar
ee37fbc6a2
Fixing testServerDC method
2014-01-10 12:58:04 -08:00
Armon Dadgar
cf29019545
Simplify Raft peer adds using only reconciliation
2014-01-10 12:55:55 -08:00
Armon Dadgar
28c1e556d6
Check for error when sending RPC byte
2014-01-10 12:09:19 -08:00
Armon Dadgar
992db5d291
Refactor testServerDC
2014-01-10 11:07:29 -08:00
Armon Dadgar
4b33ff20d0
Cleanup log
2014-01-10 11:07:04 -08:00
Armon Dadgar
4c992a88c1
Log cleanup
2014-01-10 11:06:11 -08:00
Armon Dadgar
27320017b9
Improve idempotence check for consul service registration
2014-01-09 22:12:08 -08:00
Armon Dadgar
0507568a37
Verify that consul service is registered
2014-01-09 18:02:44 -08:00
Armon Dadgar
5c6596fa8a
Fixing issue that would prevent consul server registration
2014-01-09 17:59:31 -08:00
Armon Dadgar
8c6f03ad07
Auto-register the consul service
2014-01-09 17:57:13 -08:00
Armon Dadgar
0f0f29eb31
Testing leader functions and reconciliation
2014-01-09 17:46:33 -08:00
Armon Dadgar
028829a36d
Fixing some tests
2014-01-09 17:22:01 -08:00
Armon Dadgar
c0029c6967
First pass at Serf reconciliation
2014-01-09 15:49:09 -08:00
Armon Dadgar
1f3934bcc0
Adding utility method to parse consul nodes
2014-01-09 15:45:14 -08:00
Armon Dadgar
a0338f14cd
Adding a ReconcileInterval config
2014-01-09 15:44:25 -08:00
Armon Dadgar
679dae613e
Retain reference to RPC endpoints
2014-01-09 15:30:36 -08:00
Armon Dadgar
d781e29d7c
Cleanup
2014-01-09 11:33:23 -08:00
Armon Dadgar
2f8448c286
Adding Health endpoint to combine service nodes with health
2014-01-08 15:06:13 -08:00
Armon Dadgar
0de92171ee
Adding CheckServiceNodes to get health info with service nodes
2014-01-08 14:58:53 -08:00
Armon Dadgar
7a6dacd63e
Minor structs cleanup
2014-01-08 14:43:36 -08:00
Armon Dadgar
7b4f7ca6b6
Testing the health endpoints
2014-01-08 14:23:52 -08:00
Armon Dadgar
fdf3f750ea
First pass at health endpoints
2014-01-08 13:56:34 -08:00
Armon Dadgar
9f0e5b99a3
Adding stubs for Health endpoints
2014-01-08 13:52:09 -08:00
Armon Dadgar
65ad4d1c47
Adding FSM support for register/deregister health checks
2014-01-08 13:39:40 -08:00
Armon Dadgar
1f02461f8c
Support getting node checks in the snapshot
2014-01-08 12:19:11 -08:00
Armon Dadgar
2b79c125f2
Implementing the health methods with tests
2014-01-08 12:15:01 -08:00
Armon Dadgar
c6c0f34fe8
Skeleton methods for health info
2014-01-08 11:35:27 -08:00
Armon Dadgar
266c6736bf
Adding HealthCheck and an associated table
2014-01-08 11:21:29 -08:00
Armon Dadgar
c40c2a9c1f
Adding test for last row id restore
2014-01-08 10:43:44 -08:00
Armon Dadgar
6d4c1b0365
Remove unused variable
2014-01-08 10:39:06 -08:00
Armon Dadgar
842bf62587
Delete node in a transaction
2014-01-08 10:37:16 -08:00
Armon Dadgar
4ebf710394
Update for new interfaces
2014-01-08 10:31:42 -08:00
Armon Dadgar
7e84a75563
Switch state store to MDBTables
2014-01-08 10:31:20 -08:00
Armon Dadgar
f3788b0472
Adding ServiceName to ServiceNode to simplify
2014-01-08 10:29:29 -08:00
Armon Dadgar
e3ddf8fa00
Support multi-table transactions with MDBTable
2014-01-08 10:27:37 -08:00
Armon Dadgar
ee81a5744a
Handle record updates
2014-01-07 21:35:44 -08:00
Armon Dadgar
226185ae2e
Supporting table Delete
2014-01-07 18:55:34 -08:00
Armon Dadgar
13916b1375
Refactoring some code to share with Delete
2014-01-07 17:43:57 -08:00
Armon Dadgar
63319b84fe
Support blank fields
2014-01-07 17:28:15 -08:00
Armon Dadgar
3896176b43
Working on abstracting MDB storage
2014-01-07 16:58:28 -08:00
Armon Dadgar
64d567c5be
Adding some utility functions
2014-01-07 16:58:16 -08:00
Armon Dadgar
e0ba0e8d52
Support non-unique service entries per node
2014-01-06 14:18:38 -08:00
Armon Dadgar
1e3adb54f3
Handle new Raft API
2014-01-03 17:15:09 -08:00
Armon Dadgar
8f6d868097
NodeServices struct now includes the node address
2014-01-02 17:29:39 -08:00
Armon Dadgar
052ce19ddd
Fixing bug in state store
2013-12-31 18:31:17 -08:00
Armon Dadgar
61bad89e51
Fix indexing error when getting nodes
2013-12-31 18:16:09 -08:00
Armon Dadgar
4b2be68cc9
Allow for more cached connections
2013-12-31 17:43:56 -08:00
Armon Dadgar
0bbd4a71e7
Increase maximum MDB map size
2013-12-31 17:43:05 -08:00
Armon Dadgar
c78cc37f0b
Fixing some tests
2013-12-31 16:46:56 -08:00
Armon Dadgar
93dac80a86
Adding support for advertise address
2013-12-31 16:45:13 -08:00
Armon Dadgar
3f6f9cc33a
Testing Raft advertise addr
2013-12-31 15:44:27 -08:00
Armon Dadgar
c721f0c43a
Methods to get a private IP
2013-12-31 15:44:17 -08:00
Armon Dadgar
caf3a847e6
Guard against a bad advertise address
2013-12-31 14:00:25 -08:00
Armon Dadgar
53298520ad
Adding RemoveFailedNode to consul.Client
2013-12-30 14:42:23 -08:00
Armon Dadgar
b468519698
Changing the Join interfaces to match Serf
2013-12-30 12:20:17 -08:00
Armon Dadgar
2cc64f3291
Update for the new Serf config
2013-12-27 12:51:15 -08:00
Armon Dadgar
8cc761de17
Enable bootstrap mode for the tests
2013-12-24 16:53:30 -08:00
Armon Dadgar
9a2d3c144a
Adding a bootstrap flag to allow single server raft
2013-12-24 16:48:07 -08:00
Armon Dadgar
ee7469cac5
Guard MDB against 0 byte slices
2013-12-24 13:25:09 -08:00
Armon Dadgar
eab0826170
Mark a few txn's as being readonly
2013-12-24 13:12:03 -08:00
Armon Dadgar
821d598df9
Defer the txn aborts
2013-12-24 13:05:43 -08:00
Armon Dadgar
1fb80fe38d
Stronger API validation
2013-12-24 12:43:34 -08:00
Armon Dadgar
682a986ae8
Do not leave raft pool if we are the only member
2013-12-24 12:36:50 -08:00
Armon Dadgar
37aa0ae7a5
Better error logging
2013-12-24 12:22:42 -08:00
Armon Dadgar
39d9e3e78f
More HTTP endpoints
2013-12-23 16:20:51 -08:00
Armon Dadgar
9e7feea454
Setup logging for Raft properly
2013-12-23 15:30:45 -08:00
Armon Dadgar
c3866c9516
Ensure local server is always a raft peer
2013-12-23 11:50:58 -08:00
Armon Dadgar
21b43553bb
Adding a Status.Peers endpoint to get peerset
2013-12-23 11:39:29 -08:00
Armon Dadgar
aeccadd217
Filling in Agent basics
2013-12-20 15:33:13 -08:00
Armon Dadgar
862a838ff1
Adding time based reaping to ConnPool
2013-12-19 15:42:17 -08:00
Armon Dadgar
e20189e2c4
Rename ConsulRPC to just consul.Interface
2013-12-19 15:20:10 -08:00
Armon Dadgar
b0d6c443da
Server also implements ConsulRPC interface
2013-12-19 15:18:25 -08:00
Armon Dadgar
9eb6ab8196
Minimize open connections maintained by client
2013-12-19 15:10:29 -08:00
Armon Dadgar
6a1b36bd46
Testing Client RPC to server
2013-12-19 15:08:55 -08:00
Armon Dadgar
c644f1e57b
Test joining a Serf pool
2013-12-19 14:56:38 -08:00
Armon Dadgar
8c853d31a7
Adding client tests
2013-12-19 14:54:32 -08:00
Armon Dadgar
ebfda68bef
Adding initial consul client
2013-12-19 14:48:14 -08:00
Armon Dadgar
b4ecf22106
Refactor isConsulServer into util
2013-12-19 14:37:54 -08:00
Armon Dadgar
ee7f13b205
Refactor ensurePath to util
2013-12-19 14:18:55 -08:00
Armon Dadgar
ea925ba5e3
Move rpc structs into sub-package
2013-12-19 12:03:57 -08:00
Armon Dadgar
d31e08291c
Remove comment
2013-12-19 11:15:38 -08:00
Armon Dadgar
60fb194090
Make tests more reliable
2013-12-18 16:44:56 -08:00
Armon Dadgar
108df68d3d
Guard against accessing slices that may have contents changed
2013-12-18 16:40:32 -08:00
Armon Dadgar
4abc881adc
Switch Raft from SQLite to MDB
2013-12-18 16:23:17 -08:00
Armon Dadgar
e827a2ca27
Adding snapshot support
2013-12-18 15:09:38 -08:00
Armon Dadgar
85251683cc
Starting port of state store to MDB
2013-12-18 15:03:25 -08:00
Armon Dadgar
3b47cce733
FSM logs snapshot time
2013-12-17 11:13:19 -08:00
Armon Dadgar
589e58ab27
Adding support and tests for FSM snapshotting
2013-12-16 10:47:14 -08:00
Armon Dadgar
21478ce3a7
Adding ability to snapshot StateStore
2013-12-12 15:14:08 -08:00
Armon Dadgar
b7beda2a63
Changing how state store is opened to allow shared connections
2013-12-12 14:41:13 -08:00
Armon Dadgar
fd831ade43
Remove unused raft endpoints
2013-12-12 11:48:22 -08:00
Armon Dadgar
d17b32d165
Adding NodeServices endpoing
2013-12-12 11:46:25 -08:00
Armon Dadgar
0b2cd77bbe
Support querying for ServiceNodes
2013-12-12 11:37:19 -08:00
Armon Dadgar
5b40ba49bf
Remove useless check since we are doing a DISTINCT query
2013-12-12 11:08:01 -08:00
Armon Dadgar
47cd33ae46
Adding ability to list services
2013-12-12 11:07:14 -08:00
Armon Dadgar
7915a23531
Adding node listing
2013-12-12 10:48:36 -08:00
Armon Dadgar
255be3559c
Support datacenter listing
2013-12-12 10:35:50 -08:00
Armon Dadgar
4a2230bfc8
Remove unused methods
2013-12-11 16:43:29 -08:00
Armon Dadgar
03965f0721
Test leader forwarding
2013-12-11 16:42:19 -08:00
Armon Dadgar
15f045596b
Adding support for cross-dc forwarding
2013-12-11 16:33:19 -08:00
Armon Dadgar
d4476e3df6
Track remote consul servers
2013-12-11 16:24:34 -08:00
Armon Dadgar
7bc7d4cd4f
Adding support for deregistration
2013-12-11 15:34:10 -08:00
Armon Dadgar
6b3578bc26
Testing Catalog.Register endpoint
2013-12-11 14:57:40 -08:00
Armon Dadgar
7dc6662a93
Adding FSM support for Register
2013-12-11 14:38:18 -08:00
Armon Dadgar
05d5eb08a8
Adding state store methods
2013-12-11 14:27:27 -08:00
Armon Dadgar
3b8888bdc8
consul: starting work on some RPC layers
2013-12-11 14:04:44 -08:00
Armon Dadgar
eb428df842
Adding some state store methods with tests
2013-12-11 14:03:09 -08:00
Armon Dadgar
d96636ced1
Stubs
2013-12-10 18:19:15 -08:00
Armon Dadgar
148607ac88
consul: working on fsm state
2013-12-10 17:00:48 -08:00
Armon Dadgar
637137b997
Adding Status.Leader endpoint
2013-12-10 15:16:41 -08:00
Armon Dadgar
808e23bbd4
consul: Adding method to force remove failed nodes
2013-12-10 14:42:29 -08:00
Armon Dadgar
29d0f901dc
consul: Adding LANMembers and WANMembers
2013-12-10 13:17:54 -08:00
Armon Dadgar
0ade6bb750
consul: abandon join on shutdown or member fail
2013-12-09 16:25:24 -08:00
Armon Dadgar
207171f264
consul: Adding tons of shit, leave test
2013-12-09 16:05:15 -08:00
Armon Dadgar
c4a4b9df34
consul: type safe event handlers
2013-12-09 15:29:44 -08:00
Armon Dadgar
15a1cf589b
consul: status rpc endpoint
2013-12-09 15:29:20 -08:00
Armon Dadgar
dbc9eeb8a7
consul: store the peerstore
2013-12-09 15:29:01 -08:00
Armon Dadgar
500927cbb1
consul: Leave does a RemovePeer RPC call
2013-12-09 15:01:42 -08:00
Armon Dadgar
e699a14fe3
consul: helper to make RPC calls
2013-12-09 14:58:49 -08:00
Armon Dadgar
ae30ace448
consul: ConnPool creates RPC client
2013-12-09 14:52:22 -08:00
Armon Dadgar
1a9a51c5c2
consul: Adding Raft rpc endpoint
2013-12-09 14:49:07 -08:00
Armon Dadgar
a2eb514206
consul: gossip role includes rpc addr
2013-12-09 14:30:16 -08:00
Armon Dadgar
ee4b1ce9dd
consul: Write the byte to set the RPC mode
2013-12-09 14:29:20 -08:00
Armon Dadgar
8f2d9f9b0d
consul: RaftLayer does not use ConnPool
2013-12-09 14:25:59 -08:00
Armon Dadgar
fa76825247
consul: fixing test
2013-12-09 14:23:19 -08:00
Armon Dadgar
f6f5e166ae
consul: Remove the RaftBindAddr
2013-12-09 14:22:23 -08:00
Armon Dadgar
06306ad66f
consul: close raft transport before layer
2013-12-09 14:20:56 -08:00
Armon Dadgar
e780255dd4
consul: sharing the RPC layer between Consul/Raft
2013-12-09 13:13:40 -08:00
Armon Dadgar
47b2b357a4
consul: Adding leave function
2013-12-09 12:10:27 -08:00
Armon Dadgar
2ad674677c
consul: adding connection pool
2013-12-09 12:09:57 -08:00
Armon Dadgar
9e8cdb6c7a
consul: Add+test JoinLAN/JoinWAN
2013-12-06 17:18:09 -08:00
Armon Dadgar
41b3ca7da9
consul: refactor into more files
2013-12-06 16:54:33 -08:00
Armon Dadgar
310eb2f506
consul: Basic RPC framework
2013-12-06 16:35:13 -08:00
Armon Dadgar
b8bc9d2027
consul: Rename to LAN/WAN instead of Local/Remote
2013-12-06 16:05:26 -08:00
Armon Dadgar
7fbd8ba370
consul: adding basic skeleton
2013-12-06 15:43:07 -08:00