Commit Graph

1195 Commits

Author SHA1 Message Date
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