Commit graph

1292 commits

Author SHA1 Message Date
Armon Dadgar 2cd89e60ed consul: Do not override the node address 2015-01-08 10:57:15 -08:00
Armon Dadgar 957fa1f5ec consul: Fixing merge conflict 2015-01-08 10:42:19 -08:00
Armon Dadgar 2c9dac682a consul: Remove cruft from KV watching 2015-01-07 18:10:18 -08:00
Armon Dadgar 5b972294f8 consul: Enforce lock-delay with delete behavior 2015-01-07 15:48:27 -08:00
Ryan Uber 5fe18b5093 Ignore vim swap files 2015-01-07 15:21:01 -08:00
Ryan Uber 7ecd015fc0 command: check LastIndex is not zero while waiting for leader 2015-01-07 15:18:00 -08:00
Armon Dadgar a66a765ca9 consul: Adding merge delegate to prevent mixing clusters 2015-01-06 15:48:46 -08:00
Armon Dadgar e971e8f456 consul: Test WatchKV 2015-01-05 17:08:01 -08:00
Armon Dadgar b61043de5d consul: Adding test for KVS.List blocking query 2015-01-05 16:57:48 -08:00
Armon Dadgar 48d97879c8 consul: Remove dead code 2015-01-05 16:42:30 -08:00
Armon Dadgar 0ea4f3d846 consul: Optimize KV watching 2015-01-05 16:41:57 -08:00
Armon Dadgar 7a63f822a3 consul: First pass to reduce KV watch cost 2015-01-05 16:18:27 -08:00
Armon Dadgar 8eaee53661 consul: Adding more useful metrics 2015-01-05 15:13:39 -08:00
Armon Dadgar 5ad16ca00f consul: Fixing the KVS tests 2015-01-05 15:06:53 -08:00
Armon Dadgar 200b348f69 consul: Disable tombstones as follower 2015-01-05 14:58:59 -08:00
Armon Dadgar 4f6f5ae6f0 consul: Improve log message 2015-01-05 14:43:56 -08:00
Armon Dadgar bf40a2ac1f consul: Reverting some index compute logic 2015-01-05 14:43:56 -08:00
Armon Dadgar 7a4b532564 consul: List Keys should handle tombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar b70dac1a62 consul: Ensure KVS List handles tombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar a350ec9379 consul: Mesure time for reapTombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar e2bfaa11a2 consul: Testing leader issue of reap command 2015-01-05 14:43:56 -08:00
Armon Dadgar b1fefa6d90 consul: Test FSM Reap operations 2015-01-05 14:43:56 -08:00
Armon Dadgar 7736e701ca consul: Test FSM restore of tombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar 91f8ff41eb consul: Testing tombstone snapshot 2015-01-05 14:43:55 -08:00
Armon Dadgar 41886c6af5 consul: Testing tombstone reaping 2015-01-05 14:43:55 -08:00
Armon Dadgar bba573dfbc consul: Test tombstone creation 2015-01-05 14:43:55 -08:00
Armon Dadgar f9d322f346 consul: Persist tombstones 2015-01-05 14:43:55 -08:00
Armon Dadgar 9152fae109 consul: First pass at tombstone reaping 2015-01-05 14:43:55 -08:00
Armon Dadgar 0c9cbdb3d1 consul: TombstoneReapRequestType -> TombstoneRequestType 2015-01-05 14:43:55 -08:00
Armon Dadgar 8681d913ba consul: Generate a raft operation to reap tombstones 2015-01-05 14:43:55 -08:00
Armon Dadgar 02e984e4c4 consul: Adding new request to reap tombstones 2015-01-05 14:43:55 -08:00
Armon Dadgar 9f30ffbf9a consul: Leader should reset the tombstone GC clock 2015-01-05 14:43:55 -08:00
Armon Dadgar fb8f7fd929 consul: Adding PendingExpiration 2015-01-05 14:43:55 -08:00
Armon Dadgar 71c2c1468d consul: Thread Tombstone GC through 2015-01-05 14:43:55 -08:00
Armon Dadgar ae69cbca7b consul: Fixing accidental commit of transaction 2015-01-05 14:43:54 -08:00
Armon Dadgar 4da4e322a3 consul: Fixing tombstone creation and hinting of GC 2015-01-05 14:43:54 -08:00
Armon Dadgar 1a9431847b consul: Adding GetTxnLimit to MDBTable 2015-01-05 14:43:54 -08:00
Armon Dadgar 2724061351 consul: Support reset of tombstone GC 2015-01-05 14:43:54 -08:00
Armon Dadgar 4430f4592d consul: Adding TombstoneGC to track TTLs 2015-01-05 14:43:54 -08:00
Armon Dadgar 3e2bd0db2c consul: Rename TombstoneGC to TombstoneTTL 2015-01-05 14:43:54 -08:00
Armon Dadgar 68caf9046c consul: Create tombstones before key deletes 2015-01-05 14:43:54 -08:00
Armon Dadgar d5369098ba consul: Adding TombstoneGC config 2015-01-05 14:43:54 -08:00
Daniel Malon e56b3861dc advertise specific address for a service
Enable setting a specific address in a service definition for advertise. If no specific address is given it will fallback to the node address and reassemble the old behaviour.
2015-01-02 21:10:05 +00:00
Armon Dadgar 6b9ace19cf consul: Collect useful session metrics 2015-01-02 22:46:51 +05:30
Armon Dadgar d8c65aabee consul: Minor cleanup 2014-12-12 22:17:41 -08:00
Armon Dadgar c0d3798154 consul: Test Session.Apply updates session timers 2014-12-12 21:54:29 -08:00
Armon Dadgar 4d0903f781 consul: Adding more tests for session TTLs 2014-12-12 21:42:59 -08:00
Armon Dadgar 5b6ce2ca4a consul: Setup ACLs and timers after initial barrier 2014-12-12 21:42:24 -08:00
Armon Dadgar f25566931f consul: Make sessionTimersLock a plain mutex 2014-12-12 19:17:35 -08:00
Armon Dadgar 9b897d1134 consul: Ignore zero ttl on session 2014-12-12 19:17:04 -08:00
Armon Dadgar 990ad02f83 consul: Minor cleanups 2014-12-12 15:43:34 -08:00
Armon Dadgar 8dbfe7c9a8 Merge pull request #524 from amalaviy/session_ttl
Consul Session TTLs
2014-12-12 14:42:25 -08:00
Atin Malaviya 073020f6be Add invalidateSession test 2014-12-11 06:09:53 -05:00
Atin Malaviya 5a76929ba4 Fixed clearSessionTimer, created invalidateSession, added invalid TTL test 2014-12-11 05:34:31 -05:00
Atin Malaviya 7ece29c3e0 Took out usage of snapshot SessionListTTL 2014-12-10 21:37:06 -05:00
Atin Malaviya 2de09dc2e7 Took out StateSnapshot SessionListTTL also 2014-12-10 20:53:05 -05:00
Atin Malaviya 8369b77204 Clean up code based on feedback from armon 2014-12-10 20:49:06 -05:00
Atin Malaviya a1afc07f54 Added more tests 2014-12-10 16:43:15 -05:00
Atin Malaviya c992c18ef0 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 b623af776b Consul Session TTLs
The design of the session TTLs is based on the Google Chubby approach
(http://research.google.com/archive/chubby-osdi06.pdf). The Session
struct has an additional TTL field now. This attaches an implicit
heartbeat based failure detector. Tracking of heartbeats is done by
the current leader and not persisted via the Raft log. The implication
of this is during a leader failover, we do not retain the last
heartbeat times.

Similar to Chubby, the TTL represents a lower-bound. Consul promises
not to terminate a session before the TTL has expired, but is allowed
to extend the expiration past it. This enables us to reset the TTL on
a leader failover. The TTL is also extended when the client does a
heartbeat. Like Chubby, this means a TTL is extended on creation,
heartbeat or failover.

Additionally, because we must account for time requests are in transit
and the relative rates of clocks on the clients and servers, Consul
will take the conservative approach of internally multiplying the TTL
by 2x. This helps to compensate for network latency and clock skew
without violating the contract.

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

As of golang 1.3, crypto/tls no longer natively supports doing partial
verification (verifying the cert issuer but not the hostname), so we
have to disable verification entirely and then do the issuer
verification ourselves. Fortunately, crypto/x509 makes this relatively
straightforward.

If the "server_name" configuration option is passed, we preserve the
existing behavior of checking that server name everywhere.

No option is provided to retain the current behavior of checking the
remote certificate against the local node name, since that behavior
seems clearly buggy and unintentional, and I have difficulty imagining
it is actually being used anywhere. It would be relatively
straightforward to restore if desired, however.
2014-06-28 13:32:42 -07:00
Armon Dadgar 80b86c9ee9 Rename Expect to BootstrapExpect. Fixes #223. 2014-06-19 17:08:55 -07:00
Armon Dadgar 406d19f483 consul: Minor cleanups 2014-06-18 16:15:28 -07:00
Robert Xu fff6546c75 Minor cleanup to logic and testsuite.
Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-18 18:47:05 -04:00
Robert Xu a2fea2ce55 Utilise new raft.SetPeers() method, move expect logic to leader.go.
This way, we don't use EnableSingleMode, nor cause chaos adding peers.

Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-18 12:03:30 -04:00
Robert Xu 31c392813c Add expect bootstrap '-expect=n' mode.
This allows for us to automatically bootstrap a cluster of nodes after
'n' number of server nodes join. All servers must have the same 'n' set, or
they will fail to join the cluster; all servers will not join the peer set
until they hit 'n' server nodes.

If the raft commit index is not empty, '-expect=n' does nothing because it
thinks you've already bootstrapped.

Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-16 17:40:33 -04:00
Armon Dadgar 91373968a8 Adding server_name configuration for TLS 2014-06-13 11:10:27 -07:00
Robert B Gordon 987c078957 Seems like we should actually check the reference count. 2014-06-13 11:25:01 -05:00
Armon Dadgar ea054b8847 consul: Start RPC before Raft, wait to accept connecitons 2014-06-11 10:17:58 -07:00
Armon Dadgar 1812eedad9 consul: start RPC after fully initialized. Fixes #160 2014-06-11 09:46:44 -07:00
Armon Dadgar 2e18774c02 consul: Avoid network for server RPC. Fixes #148. 2014-06-10 19:12:36 -07:00
Armon Dadgar cae158b310 consul: Provide output for serfHealth check. Fixes #176. 2014-06-09 16:07:22 -07:00
Armon Dadgar 9e925bf458 consul: Adding support for optional session name 2014-06-09 11:42:28 -07:00
Armon Dadgar 06cd40d1e7 consul: fixing use of nil log output. Fixes #203 2014-06-09 11:16:53 -07:00
Armon Dadgar c656bbfbcf Rename shared msgpack handle 2014-06-08 14:02:42 -07:00
Andrew M Bursavich d209517d50 reuse codec.MsgpackHandle 2014-06-07 01:13:38 -07:00
Armon Dadgar b5bd20634a consul: Gossip the build using Serf 2014-06-06 15:36:40 -07:00
Armon Dadgar d0d85b461c consul: Sort datacenter list. Fixes #198 2014-06-06 14:12:40 -07:00
William Tisäter 7b4c7f3f63 Log peers when TestLeader_LeftServer fail 2014-05-30 21:18:37 +02:00
William Tisäter 2c13f8a03e Re-configure LeaderLeaseTimeout to pass validation 2014-05-30 20:57:39 +02:00
Armon Dadgar 890d4d771f consul: Ensure clients also implement LocalMember 2014-05-29 11:21:56 -07:00
Armon Dadgar f9766541e1 Merge pull request #173 from hashicorp/f-agent-self
Add `/v1/agent/self` and return local agent config
2014-05-29 11:18:19 -07:00
Armon Dadgar 09a988e8d4 consul: Conn pool clean, spare existing streams 2014-05-28 16:55:39 -07:00
Armon Dadgar 319ab05b8c consul: Provide logger to yamux 2014-05-28 16:32:25 -07:00
Armon Dadgar 6b2fe4869b consul: Suppress messages about closed connections 2014-05-28 16:32:25 -07:00
Armon Dadgar d4a62e7c0d consul: ensure connections are properly closed 2014-05-28 16:32:24 -07:00
Armon Dadgar 74452a5ae0 consul: Add new protocol version for yamux 2014-05-28 16:32:24 -07:00
Armon Dadgar 313f79913e consul: Pass protocol version for leader forwarding 2014-05-28 16:32:24 -07:00
Armon Dadgar 345efd74e4 consul: remove explicit leave, use reconciliation 2014-05-28 16:32:24 -07:00
Armon Dadgar d857c63f41 consul: Server processes local Serf join 2014-05-28 16:32:24 -07:00
Armon Dadgar bf25792e2f consul: Fix client server reaping 2014-05-28 16:32:24 -07:00
Armon Dadgar 589105eee4 consul: Store the protocol version for a server 2014-05-28 16:32:24 -07:00
Armon Dadgar c8831db91c consul: Adding Addr to serverParts 2014-05-28 16:32:24 -07:00
Armon Dadgar a79c3d2103 consul: Pool client connections, support for yamux connections 2014-05-28 16:32:24 -07:00
Armon Dadgar 8e636ef340 consul: Support for incoming Yamux connections 2014-05-28 16:32:24 -07:00
Armon Dadgar c98736b8ae Merge pull request #174 from nelhage/multi-ca-cert
Allow multiple PEM-encoded certificates in the ca_file.
2014-05-27 10:47:41 -07:00
William Tisäter a028c3ae93 Add /v1/agent/self and return local agent config 2014-05-27 01:15:33 +02:00
William Tisäter 95e7752721 Wait for joining member in TestClient_JoinLAN 2014-05-27 00:55:20 +02:00
William Tisäter 405dfd99c1 Fix tests on Go 1.3 and greater
Go 1.3 and greater require ServerName or InsecureSkipVerify to be set.

https://codereview.appspot.com/67010043/
2014-05-27 00:47:47 +02:00
William Tisäter 0ddc86bbcc Revert "Remove WaitForResult from two failing tests"
This reverts commit f0842409cde194ce2102ff2baf3de821cb6ac9d5.
2014-05-26 23:49:23 +02:00
William Tisäter 93e89b8148 Remove TODO comments 2014-05-26 23:44:46 +02:00
William Tisäter f990e9fcb2 Remove WaitForResult from two failing tests 2014-05-26 23:44:37 +02:00
Nelson Elhage 7d4824ade7 Allow multiple PEM-encoded certificates in the ca_file.
fixes #167
2014-05-26 10:58:57 -07:00
Armon Dadgar 5c90e9b43e consul: Suppress error if connection is closed 2014-05-23 16:28:55 -07:00
Armon Dadgar d42474a7cb Support wildcard for check lookup. Fixes #152 2014-05-21 12:45:12 -07:00
Armon Dadgar 5fa10c912e Support rejoin after leave. Fixes #110. 2014-05-21 12:32:24 -07:00
Armon Dadgar 3b0d3b76c2 consul: Adding support for lock-delay in sessions 2014-05-20 16:25:29 -07:00
Armon Dadgar 9470f9a5a2 gofmt 2014-05-20 16:25:29 -07:00
Armon Dadgar d5b1330227 agent: First pass at session endpoints 2014-05-20 16:25:29 -07:00
Armon Dadgar e0c791f305 consul: Adding tests for session endpoints 2014-05-20 16:25:29 -07:00
Armon Dadgar e58e9bceb0 consul: First pass at Session RPC endpoints 2014-05-20 16:25:29 -07:00
Armon Dadgar 2fbcc07e1b consul: Testing FSM snapshot of sessions 2014-05-20 16:25:29 -07:00
Armon Dadgar 55ce278223 consul: Testing KVS Lock/Unlock in FSM 2014-05-20 16:25:29 -07:00
Armon Dadgar bfd008a6da consul: FSM tests for session 2014-05-20 16:25:28 -07:00
Armon Dadgar 6ed9c4bdb6 consul: Adding support for sessions to FSM 2014-05-20 16:25:28 -07:00
Armon Dadgar 8baa83a668 consul: Adding SessionList to snapshot 2014-05-20 16:25:28 -07:00
Armon Dadgar 994a149965 consul: Session invalidation releases locks 2014-05-20 16:25:28 -07:00
Armon Dadgar cd7e3967be consul: Support KVSLock and KVSUnlock 2014-05-20 16:25:28 -07:00
Armon Dadgar 35996042ae consul: Switch notify to using txn defer 2014-05-20 16:25:28 -07:00
Armon Dadgar 679e4e6e70 consul: Adding session invalidation 2014-05-20 16:25:28 -07:00
Armon Dadgar 2e3d3ec2f8 consul: Adding Defer to MDBTxn 2014-05-20 16:25:28 -07:00
Armon Dadgar a1b59bcaf9 consul: Adding session tests 2014-05-20 16:25:28 -07:00
Armon Dadgar f7edd7763b consul: Adding SessionDestroy 2014-05-20 16:25:28 -07:00
Armon Dadgar 0491e58fb9 consul: Adding session lookup methods 2014-05-20 16:25:27 -07:00
Armon Dadgar 7c38c1ca85 consul: Adding SessionCreate and SessionRestore 2014-05-20 16:25:27 -07:00
Armon Dadgar 00477dca21 consul: Adding util method to generate a UUID 2014-05-20 16:25:27 -07:00
Armon Dadgar a5c60eb556 consul: Adding new session tables 2014-05-20 16:25:27 -07:00
Armon Dadgar 59c0d35184 Merge pull request #145 from abursavich/master
consul: use empty slice instead of nil slice when no tags exist for /v1/catalog/services
2014-05-19 15:37:43 -07:00
Armon Dadgar 6c0479f082 Merge pull request #136 from hashicorp/f-testutil-package
WIP: Proof of concept using `WaitForResult` in tests
2014-05-16 15:03:50 -07:00
Armon Dadgar f8898dce6e consul: Disable conflict resolution. See #97. 2014-05-16 14:11:53 -07:00
Armon Dadgar 2d8b1f5b6f consul: Avoid name conflict on WAN ring. Fixes #158. 2014-05-16 14:07:53 -07:00
Mitchell Hashimoto ec547d5b99 command/agent: find proper private IP on Windows
/cc @armon
2014-05-15 11:27:30 -07:00
Armon Dadgar c54f53eaf7 consul: Remove RPC client tracking. Fixes #149. 2014-05-14 17:34:24 -07:00
Andrew M Bursavich 1dd3dfe801 use empty slice instead of nil slice when no tags exist for service 2014-05-13 00:18:36 -07:00
Armon Dadgar 813ebf0b0c consul: Adding a Raft command enqueue limit 2014-05-09 19:18:06 -07:00
William Tisäter 2f23eb42ea Add TODOs for failing tests 2014-05-09 11:38:29 +02:00
William Tisäter e749e2ebc9 Wait wrap tests in TestServer_JoinLAN 2014-05-09 03:41:47 +02:00
William Tisäter 31c962f2a9 Sleep since no obvious way to wait for shutdown 2014-05-09 03:24:13 +02:00
William Tisäter 16bfc8fd1d Fix race condition in TestLeader_RegisterMember 2014-05-09 03:05:38 +02:00
William Tisäter a211e1164c Fix race condition in TestCatalogListNodes 2014-05-09 03:00:56 +02:00
William Tisäter 30f8573c78 Change blocking call sleep time 2014-05-09 02:36:25 +02:00
William Tisäter cb54c4cb49 Remove all sleeps from client_test.go 2014-05-09 02:29:51 +02:00
William Tisäter 9b6b75f77c Fix race condition in TestLeader_FailedMember 2014-05-09 02:14:39 +02:00
William Tisäter d6f3dc510c Remove all sleeps from internal_endpoint_test.go 2014-05-09 02:11:40 +02:00
William Tisäter e27f89fec1 Remove all sleeps from kvs_endpoint_test.go 2014-05-09 02:09:53 +02:00
William Tisäter 44d3985ea8 Remove all sleeps from leader_test.go 2014-05-09 02:04:52 +02:00
William Tisäter b108af2dd3 Remove all sleeps from server_test.go 2014-05-09 01:38:58 +02:00
William Tisäter 5a56d8a2c6 Remove all sleeps from status_endpoint_test.go 2014-05-09 01:23:54 +02:00
William Tisäter d0b38ad641 Fix imports in health_endpoint_test.go 2014-05-09 01:21:13 +02:00
William Tisäter 89c018b681 Remove all sleeps from catalog_endpoint_test.go 2014-05-09 01:18:35 +02:00
William Tisäter c391c5bfcb Remove all sleeps from health_endpoint_test.go 2014-05-09 01:18:08 +02:00
William Tisäter 1ee709ba38 Require datacenter argument for WaitForLeader 2014-05-09 01:17:35 +02:00
William Tisäter 463f85c3c7 Move argument structs back in original position 2014-05-07 23:51:15 +02:00
William Tisäter c624161827 Move WaitForLeader calls to top of test 2014-05-07 23:47:16 +02:00
William Tisäter bdbe97545a Drop client arguments from WaitForLeader 2014-05-07 23:41:14 +02:00
William Tisäter 2019f454d0 Fix TestCatalogListNodes_StaleRaad with WaitForLeader 2014-05-07 13:53:29 +02:00
William Tisäter 81b572cb31 Proof of concept using WaitForResult in tests 2014-05-07 02:48:25 +02:00
Armon Dadgar 144a531237 consul: Drop the Raft logs size warning from 8MB to 1MB 2014-05-06 14:10:08 -07:00
Armon Dadgar 5c34e01d17 consul: Fixing for upstream API changes 2014-05-01 18:11:36 -07:00
Armon Dadgar 8b487ce103 consul: Support listkeys without seperator 2014-04-30 23:44:27 -04:00
Armon Dadgar a649ea1cbc consul: Adding ListKeys endpoint 2014-04-30 23:44:27 -04:00
Armon Dadgar a631821f6c consul: Adding a key listing mechanism 2014-04-30 23:44:27 -04:00
Armon Dadgar d045335ca0 consul: Rename Misc RPC to Internal 2014-04-30 23:43:59 -04:00
Armon Dadgar 6720349697 consul: Testing the Misc endpoitns 2014-04-30 23:43:58 -04:00
Armon Dadgar 702fe3afda consul: Adding Misc RPC endpoint 2014-04-30 23:43:58 -04:00
Armon Dadgar 75f9a126ae consul: Adding methods to dump node info 2014-04-30 23:43:58 -04:00
Armon Dadgar b54e1696f2 consul: Hack around LMDB delete issue. Fixes #85. 2014-04-29 16:01:20 -07:00
Armon Dadgar ece6849cac consul: Expose runtime stats for debugging 2014-04-29 10:55:42 -07:00
Armon Dadgar de507c0317 consul: Adding a warning for large raft entries 2014-04-28 22:25:09 -07:00
Armon Dadgar c1ae3d78ef consul: Increase DB size on 64bit systems. Fixes #81. 2014-04-28 17:07:59 -07:00
Armon Dadgar 08cba55ab3 consul: Do not fire ServerUp on WAN node join 2014-04-23 12:20:54 -07:00
Armon Dadgar d581af7692 consul: Clear peer set on leave. Fixes #69 2014-04-23 11:39:45 -07:00
Armon Dadgar 2845d24cfa Store check output in dedicated field. Fixes #59. 2014-04-21 16:20:22 -07:00
Armon Dadgar 28bd111098 consul: Adding strongly consistent read tests 2014-04-21 12:08:00 -07:00
Armon Dadgar 37f38fca15 consul: Testing a stale read 2014-04-21 11:57:39 -07:00
Armon Dadgar 7a3c3e718e consul: Adding consistent read enforcement 2014-04-21 11:49:21 -07:00
Armon Dadgar 710a823379 consul: Merging BlockingQuery into QueryOptions 2014-04-21 11:31:15 -07:00
Armon Dadgar 55b5fd4e6a consul: Use QueryMeta to simplify blockingRPC interface 2014-04-21 11:18:27 -07:00
Armon Dadgar 959ffb5758 consul: Move the Index into QueryMeta 2014-04-21 11:13:36 -07:00
Armon Dadgar 5b91b6f06e consul: Moving QueryMeta handling into blockingRPC 2014-04-21 11:04:52 -07:00
Armon Dadgar f7bcffe627 consul: Adding a method to enforce consistent read 2014-04-21 10:59:46 -07:00
Armon Dadgar dbdfcbc717 consul: Testing QueryMeta 2014-04-21 10:59:46 -07:00
Armon Dadgar 9e0e5259f9 consul: Adding support for QueryMeta on all queries 2014-04-21 10:59:46 -07:00
Armon Dadgar da9c89e9ba consul: Support a stale read query 2014-04-21 10:59:46 -07:00
Armon Dadgar 4c7d9a01b3 consul: Switch to RPCInfo 2014-04-21 10:59:46 -07:00
Armon Dadgar 85fd3158c3 consul: Adding RPCInfo to get common info 2014-04-21 10:59:46 -07:00
Armon Dadgar 6ea9ec310c consul: Adding additional query options and return meta data 2014-04-21 10:59:46 -07:00
Armon Dadgar 25e4e526ae consul: Update to use raft-mdb package 2014-04-19 13:31:56 -07:00
Armon Dadgar 0abda467e7 consul: Fix a 64bit alignment issue for x86-32 2014-04-11 11:12:17 -07:00
Armon Dadgar bd0cc256b7 consul: Adding client/server TLS tests 2014-04-07 15:07:00 -07:00
Armon Dadgar a851ebcb23 consul: Refactor to pull out server config 2014-04-07 15:07:00 -07:00
Armon Dadgar f91fe6c407 consul: Adding configuration tests 2014-04-07 15:07:00 -07:00
Armon Dadgar c77666669b consul: Fix decoding of certificate 2014-04-07 15:07:00 -07:00
Armon Dadgar 0bd535f60d consul: Simplify TLS handling in RPC server 2014-04-07 15:07:00 -07:00
Armon Dadgar 8160ea85ed consul: Enforce TLS if VerifyIncoming is set 2014-04-07 15:06:59 -07:00
Armon Dadgar 37ad00d66d consul: Ensure Raft also uses TLS connections 2014-04-07 15:06:59 -07:00
Armon Dadgar cb100af7b8 consul: Enable incoming TLS connections to server 2014-04-07 15:06:59 -07:00
Armon Dadgar f3a3492edc consul: Server initializes pool with TLS settings 2014-04-07 15:06:59 -07:00
Armon Dadgar 91417d4cf3 consul: Client initializes TLS settings 2014-04-07 15:06:59 -07:00
Armon Dadgar 5b18b000f2 consul: Connection pool supports TLS mode 2014-04-07 15:06:59 -07:00
Armon Dadgar 80de0f8789 consul: Adding basic TLS configuraiton 2014-04-07 15:06:59 -07:00
Armon Dadgar b10df9ea60 consul: Export some telemetry on service queries 2014-04-04 14:55:44 -07:00
Armon Dadgar 08d29f120f Merge pull request #26 from hashicorp/f-tags
Adding support for multiple tags
2014-04-03 15:51:31 -07:00
Armon Dadgar 63ce30acd4 consul: Adding reconcilation to handle reaped Serf nodes. Fixes #15. 2014-04-03 15:51:09 -07:00
Armon Dadgar c919928d8d consul: Adding test for multiple tags with lookup 2014-04-03 12:07:17 -07:00
Armon Dadgar 1c3e574c71 consul: Updating all the tests 2014-04-03 12:03:10 -07:00
Armon Dadgar b9c2b178f0 consul: Change state store to support multiple tags 2014-04-03 12:03:02 -07:00
Armon Dadgar fa8fb4153e consul: Replace single tag with list of tags 2014-04-03 11:23:55 -07:00
Armon Dadgar 13c370da30 consul: FSM snapshot can avoid type assertion 2014-04-01 12:10:58 -07:00
Armon Dadgar a312d7e6ff consul: Avoid loading all KV pairs during a snapshot 2014-04-01 11:55:25 -07:00
Armon Dadgar 24da6713de consul: Support a streaming transaction 2014-04-01 11:42:07 -07:00
Armon Dadgar 20a9cbc6d1 consul: More efficient restore of KVS entriesg 2014-04-01 11:29:55 -07:00
Armon Dadgar 0313f62311 consul: Adding raft endpoint to force a snapshot 2014-03-31 20:09:16 -07:00
Armon Dadgar 243198e49b consul: Fixing blocking query if set table is at index 0 2014-03-31 20:00:46 -07:00
Armon Dadgar d1de666855 consul: Enable a recursive delete of all keys 2014-03-31 20:00:01 -07:00
Armon Dadgar 5def21491e consul: Test the remaining KVS endpoints 2014-03-31 16:18:44 -07:00
Armon Dadgar 97b64d82e7 consul: Adding tests for endpoint method 2014-03-31 16:10:49 -07:00
Armon Dadgar 2067783692 consul: First pass at KVS endpoints for RPC 2014-03-31 16:00:23 -07:00
Armon Dadgar a55ebaa353 consul: Adding KVS RPC endpoint 2014-03-31 14:15:49 -07:00
Armon Dadgar 8b5b6c3872 consul: Testing FSM application of KVS commands 2014-03-31 14:13:03 -07:00
Armon Dadgar b24118e1bc consul: FSM support to snapshot/restore KVS values 2014-03-31 13:56:16 -07:00
Armon Dadgar 4aa7c0c00c consul: Adding FSM support for KVS operations 2014-03-31 13:41:43 -07:00
Armon Dadgar 47807c5d19 consul: Snapshot KVS store support 2014-03-31 13:31:31 -07:00
Armon Dadgar aba2d997d3 consul: Support DeleteTree 2014-03-31 13:20:08 -07:00
Armon Dadgar 5ffe5a0dba consul: Adding support for KVSList 2014-03-31 13:12:35 -07:00
Armon Dadgar d0ff439f77 consul: Adding support for virtual indexes 2014-03-31 13:06:29 -07:00
Armon Dadgar 493bbd5991 consul: Implementing Check-And-Set 2014-03-31 12:37:11 -07:00
Armon Dadgar aae9429d9d consul: Implement KVSDelete 2014-03-31 12:24:06 -07:00
Armon Dadgar a009f89946 consul: Implement and test KV get and set 2014-03-31 12:13:57 -07:00
Armon Dadgar 48ffdc05f4 consul: Adding KVSDeleteTree operation 2014-03-31 12:13:40 -07:00
Armon Dadgar d804a08744 consul: Adding kvs table to state store 2014-03-31 11:48:32 -07:00
Armon Dadgar 218d5502f6 consul: Adding new directory structs for KVS 2014-03-31 11:47:10 -07:00
Armon Dadgar fab32fe515 consul: Only close the cursor for read-only transactions (mdb) 2014-03-27 10:48:04 -07:00
Armon Dadgar 3c911b3145 consul: Should not clear the peer set 2014-03-25 14:57:00 -07:00
Armon Dadgar 9210f71fb6 consul: Fixing issue with cursors not closing in MDB 2014-03-25 13:30:19 -07:00
Armon Dadgar 8f3ceca608 consul: Set maximum consul DB size to 128MB 2014-03-25 13:29:42 -07:00
Armon Dadgar 4b6dc60169 consul: Set maximum raft log size to 128MB 2014-03-25 13:29:15 -07:00
Armon Dadgar 277c31d813 consul: Handle reaping of serf members 2014-03-20 12:51:49 -07:00
Armon Dadgar fad79e1f8e consul: Increase default reap time to 3 days 2014-03-20 12:39:06 -07:00
Armon Dadgar a421782901 consul: Ignore new Serf events 2014-03-12 12:46:14 -07:00
Armon Dadgar 18c3bbcb21 consul: Add tags for consul protocol versions 2014-03-09 15:46:03 -07:00
Armon Dadgar 6fba03db8f consul: Adding protocol version numbers 2014-03-09 15:18:36 -07:00
Armon Dadgar ccd9d0b001 consul: Fixing subtle delete issue 2014-03-05 19:32:09 -08:00
Armon Dadgar eb9f2a50bd consul: Peg Serf proto version to 3 2014-03-05 15:32:59 -08:00
Armon Dadgar 4833c7995e consul: Handle API changes in StateStore 2014-03-05 15:03:12 -08:00
Armon Dadgar b73a381e6d consul: Log instead of panic. Change NodeServices to return nil. 2014-03-05 15:02:28 -08:00
Armon Dadgar 8948a5218e consul: Providing logOutput to StateStore 2014-03-05 14:34:29 -08:00
Armon Dadgar ba2df6cb9c consul: Passthrough the Serf Stats() 2014-02-23 18:08:58 -08:00
Armon Dadgar 11369ca9ad consul: Adding Stats() method to get various debugging information 2014-02-23 16:37:33 -08:00
Armon Dadgar f65ba3c365 consul: Increase network timeout value 2014-02-22 11:13:59 -08:00
Armon Dadgar 974d227b94 consul: Reduce the number of raft snapshots we keep 2014-02-22 10:57:22 -08:00
Armon Dadgar 6c597008f4 If not in bootstrap mode, clear the raft peerset 2014-02-21 15:21:27 -08:00
Armon Dadgar 6142460b29 consul: Only add ourself to the peerset if we are in bootstrap mode 2014-02-20 16:27:14 -08:00
Armon Dadgar b31a0510eb consul: Do not replay events on serf join 2014-02-20 16:27:03 -08:00
Armon Dadgar 7294305df9 consul: Adding telemetry 2014-02-20 15:16:26 -08:00
Armon Dadgar f9da9fe1b5 consul: Use serf event to announce new leader 2014-02-19 12:36:27 -08:00
Armon Dadgar a2b3374569 Add test file for structs package 2014-02-07 16:40:52 -08:00
Armon Dadgar 7534346103 agent: Adding server up callback to make state sync faster 2014-02-07 12:11:34 -08:00
Armon Dadgar ba765b193f consul: ConnPool multiplexes a single connection instead of using multiple 2014-02-05 16:19:05 -08:00
Armon Dadgar e9c0493c9e consul: Make some ConnPool methods private 2014-02-05 15:30:19 -08:00
Armon Dadgar 4459aa9517 consul: Allow receiving RPC connections 2014-02-05 15:29:52 -08:00
Armon Dadgar 5cc0c73f89 TODO cleanups 2014-02-05 14:54:35 -08:00
Armon Dadgar f6ea0ba7f8 consul: Fixing struct type 2014-02-05 14:27:24 -08:00
Armon Dadgar 1b84705cb3 consul: ensure conn pool shutdown is fast 2014-02-05 14:20:18 -08:00
Armon Dadgar 944cbc7291 consul: Health endpoints support blocking queries 2014-02-05 13:30:18 -08:00
Armon Dadgar a58ee71739 consul: Adding a sanity check 2014-02-05 11:13:08 -08:00
Armon Dadgar f0134e42c6 consul: Support blocking queries for the Catalog 2014-02-05 11:10:10 -08:00
Armon Dadgar b0707df2ab consul: Enable ListNodes and ListServices to be a blocking query 2014-02-05 11:00:43 -08:00
Armon Dadgar 8b1c78dc00 consul: Cleanup the FSM, running out of file handles 2014-02-05 11:00:10 -08:00
Armon Dadgar ed5ff78504 consul: Adding indexed versions of return structs 2014-02-05 10:44:28 -08:00
Armon Dadgar 5c60d0a1bc consul: blockingRPC is a helper method for queries that need to block 2014-02-05 10:38:29 -08:00
Armon Dadgar 428c74cc35 consul: State store can return the tables for a query, and watch for changes 2014-02-05 10:37:28 -08:00
Armon Dadgar 626a3b5bf6 consul: Adding BlockingQuery to structs to wait for changes 2014-02-05 10:21:31 -08:00
Armon Dadgar ab0831e268 consul: Add a guard against deadlock in MDB 2014-02-04 19:04:36 -08:00
Armon Dadgar 59cd74dbb0 consul: reduce the scope of various transactions 2014-02-04 19:01:32 -08:00
Armon Dadgar 6188cd4ccd consul: Notify watchers of changes 2014-02-04 18:45:40 -08:00
Armon Dadgar 10707da7fc consul: Move notification group from MDBTable into the state store 2014-02-04 18:37:38 -08:00
Armon Dadgar 369193fbd6 consul: updating state store to associate changes with raft index 2014-02-04 18:33:15 -08:00
Armon Dadgar a8c366e9df consul: Add a NotifyGroup to the MDBTable 2014-02-04 12:32:05 -08:00
Armon Dadgar e1c7632cc3 consul: Adding a simple notification mechansim 2014-02-04 12:21:30 -08:00
Armon Dadgar 7d643a9dab consul: MDBTable can track a special 'last index' value 2014-02-04 11:11:31 -08:00
Armon Dadgar 255e224ac8 consul: Log state store errors 2014-02-03 15:21:56 -08:00
Armon Dadgar 936152092d consul: client re-uses the last connection if error free 2014-02-03 11:53:04 -08:00
Armon Dadgar 9b80ab9a61 consul: benchmark the ListNodes RPC method 2014-02-01 12:16:33 -08:00
Armon Dadgar 5c11f1fb79 consul: Adding some benchmarks to test state store 2014-02-01 12:00:56 -08:00
Armon Dadgar 1ecdeae1b6 consul: Update for serf 0.4 2014-01-30 13:13:29 -08:00
Armon Dadgar 9ea32b102f Adding LANMembers to the Consul.Interface 2014-01-21 11:52:01 -08:00
Armon Dadgar 334c2137ef Preventing multiple nodes in bootstrap mode from adding each other as Raft peers 2014-01-20 13:56:29 -10:00
Armon Dadgar 3e6787511e change isConsulServer to parse flags 2014-01-20 13:39:07 -10:00
Armon Dadgar ed8cb1bc2b Export the consul service id and name 2014-01-15 17:27:37 -10:00
Armon Dadgar ea41b2bb26 Export the serf check ID 2014-01-15 17:24:16 -10:00
Armon Dadgar e4c6ad9807 CheckServiceNodes will return node checks that are not service associated 2014-01-15 11:14:28 -10:00
Armon Dadgar 80d9899aec Do not remove ourself when we leave from Raft 2014-01-10 15:05:34 -08:00
Armon Dadgar df1eea834a Fixing testServerDC method 2014-01-10 12:58:04 -08:00
Armon Dadgar 2030b2288d Simplify Raft peer adds using only reconciliation 2014-01-10 12:55:55 -08:00
Armon Dadgar 786755ebcd Check for error when sending RPC byte 2014-01-10 12:09:19 -08:00
Armon Dadgar d741a999f5 Refactor testServerDC 2014-01-10 11:07:29 -08:00
Armon Dadgar 6b45c2c5a4 Cleanup log 2014-01-10 11:07:04 -08:00
Armon Dadgar c5e2004be9 Log cleanup 2014-01-10 11:06:11 -08:00
Armon Dadgar c2ef218c30 Improve idempotence check for consul service registration 2014-01-09 22:12:08 -08:00
Armon Dadgar 27e558ee77 Verify that consul service is registered 2014-01-09 18:02:44 -08:00
Armon Dadgar 79717c95bf Fixing issue that would prevent consul server registration 2014-01-09 17:59:31 -08:00
Armon Dadgar 26134960b1 Auto-register the consul service 2014-01-09 17:57:13 -08:00
Armon Dadgar 688a0d5bf1 Testing leader functions and reconciliation 2014-01-09 17:46:33 -08:00
Armon Dadgar 6992e8bf61 Fixing some tests 2014-01-09 17:22:01 -08:00
Armon Dadgar 9d96ce1107 First pass at Serf reconciliation 2014-01-09 15:49:09 -08:00
Armon Dadgar 3cb3085175 Adding utility method to parse consul nodes 2014-01-09 15:45:14 -08:00
Armon Dadgar e1692fb0a0 Adding a ReconcileInterval config 2014-01-09 15:44:25 -08:00
Armon Dadgar a82a606221 Retain reference to RPC endpoints 2014-01-09 15:30:36 -08:00
Armon Dadgar 5bb4a5306b Cleanup 2014-01-09 11:33:23 -08:00
Armon Dadgar f410802055 Adding Health endpoint to combine service nodes with health 2014-01-08 15:06:13 -08:00
Armon Dadgar 0b59adce3f Adding CheckServiceNodes to get health info with service nodes 2014-01-08 14:58:53 -08:00
Armon Dadgar 490abc75a6 Minor structs cleanup 2014-01-08 14:43:36 -08:00
Armon Dadgar 000dbedc06 Testing the health endpoints 2014-01-08 14:23:52 -08:00
Armon Dadgar 918b83bf4e First pass at health endpoints 2014-01-08 13:56:34 -08:00
Armon Dadgar dff6b6e3c5 Adding stubs for Health endpoints 2014-01-08 13:52:09 -08:00
Armon Dadgar ad346fecdf Adding FSM support for register/deregister health checks 2014-01-08 13:39:40 -08:00
Armon Dadgar 7c8993ef3f Support getting node checks in the snapshot 2014-01-08 12:19:11 -08:00
Armon Dadgar 023974becb Implementing the health methods with tests 2014-01-08 12:15:01 -08:00
Armon Dadgar 30618ca359 Skeleton methods for health info 2014-01-08 11:35:27 -08:00
Armon Dadgar d6f8b6e48b Adding HealthCheck and an associated table 2014-01-08 11:21:29 -08:00
Armon Dadgar 48fecaf410 Adding test for last row id restore 2014-01-08 10:43:44 -08:00
Armon Dadgar c3c507f381 Remove unused variable 2014-01-08 10:39:06 -08:00
Armon Dadgar 97b9ff64e0 Delete node in a transaction 2014-01-08 10:37:16 -08:00
Armon Dadgar a84fdd51e1 Update for new interfaces 2014-01-08 10:31:42 -08:00
Armon Dadgar 0ca9b085a2 Switch state store to MDBTables 2014-01-08 10:31:20 -08:00
Armon Dadgar f666211ca2 Adding ServiceName to ServiceNode to simplify 2014-01-08 10:29:29 -08:00
Armon Dadgar a5a8eeee93 Support multi-table transactions with MDBTable 2014-01-08 10:27:37 -08:00
Armon Dadgar 49bc2c4075 Handle record updates 2014-01-07 21:35:44 -08:00
Armon Dadgar ed87aae1cf Supporting table Delete 2014-01-07 18:55:34 -08:00
Armon Dadgar f55090314a Refactoring some code to share with Delete 2014-01-07 17:43:57 -08:00
Armon Dadgar e8846486de Support blank fields 2014-01-07 17:28:15 -08:00
Armon Dadgar 88cebcc595 Working on abstracting MDB storage 2014-01-07 16:58:28 -08:00
Armon Dadgar 4bca485178 Adding some utility functions 2014-01-07 16:58:16 -08:00
Armon Dadgar 870074056f Support non-unique service entries per node 2014-01-06 14:18:38 -08:00
Armon Dadgar 2edd92a73b Handle new Raft API 2014-01-03 17:15:09 -08:00
Armon Dadgar ca43075041 NodeServices struct now includes the node address 2014-01-02 17:29:39 -08:00
Armon Dadgar 76baf19c9a Fixing bug in state store 2013-12-31 18:31:17 -08:00
Armon Dadgar aefe4cc679 Fix indexing error when getting nodes 2013-12-31 18:16:09 -08:00
Armon Dadgar 3c3da212d7 Allow for more cached connections 2013-12-31 17:43:56 -08:00
Armon Dadgar 4cb3d08aba Increase maximum MDB map size 2013-12-31 17:43:05 -08:00
Armon Dadgar 0588a9cb3f Fixing some tests 2013-12-31 16:46:56 -08:00
Armon Dadgar ce79f27364 Adding support for advertise address 2013-12-31 16:45:13 -08:00
Armon Dadgar 7f2feeb7eb Testing Raft advertise addr 2013-12-31 15:44:27 -08:00
Armon Dadgar f7eb948ae1 Methods to get a private IP 2013-12-31 15:44:17 -08:00
Armon Dadgar a88bef821a Guard against a bad advertise address 2013-12-31 14:00:25 -08:00
Armon Dadgar ebdf8d2114 Adding RemoveFailedNode to consul.Client 2013-12-30 14:42:23 -08:00
Armon Dadgar 8fee0cd50a Changing the Join interfaces to match Serf 2013-12-30 12:20:17 -08:00
Armon Dadgar 3c00ba3864 Update for the new Serf config 2013-12-27 12:51:15 -08:00
Armon Dadgar 3d908d9edf Enable bootstrap mode for the tests 2013-12-24 16:53:30 -08:00
Armon Dadgar 69ed0ec184 Adding a bootstrap flag to allow single server raft 2013-12-24 16:48:07 -08:00
Armon Dadgar fd9a44ba09 Guard MDB against 0 byte slices 2013-12-24 13:25:09 -08:00
Armon Dadgar 17ee53088b Mark a few txn's as being readonly 2013-12-24 13:12:03 -08:00
Armon Dadgar 5df07d9c60 Defer the txn aborts 2013-12-24 13:05:43 -08:00
Armon Dadgar 140fb21472 Stronger API validation 2013-12-24 12:43:34 -08:00
Armon Dadgar 088def3935 Do not leave raft pool if we are the only member 2013-12-24 12:36:50 -08:00
Armon Dadgar ac15ca1139 Better error logging 2013-12-24 12:22:42 -08:00
Armon Dadgar 851c4c8ed1 More HTTP endpoints 2013-12-23 16:20:51 -08:00
Armon Dadgar 995a60ea0b Setup logging for Raft properly 2013-12-23 15:30:45 -08:00
Armon Dadgar b03d1b55b3 Ensure local server is always a raft peer 2013-12-23 11:50:58 -08:00
Armon Dadgar 3fe3f8815d Adding a Status.Peers endpoint to get peerset 2013-12-23 11:39:29 -08:00
Armon Dadgar 0e4b5720d9 Filling in Agent basics 2013-12-20 15:33:13 -08:00
Armon Dadgar 32c822db1b Adding time based reaping to ConnPool 2013-12-19 15:42:17 -08:00
Armon Dadgar 5f0bc8c91d Rename ConsulRPC to just consul.Interface 2013-12-19 15:20:10 -08:00
Armon Dadgar 90f8f075dc Server also implements ConsulRPC interface 2013-12-19 15:18:25 -08:00
Armon Dadgar 20b3d5ccbe Minimize open connections maintained by client 2013-12-19 15:10:29 -08:00
Armon Dadgar 5b0ca256ff Testing Client RPC to server 2013-12-19 15:08:55 -08:00
Armon Dadgar 8b35f6b22a Test joining a Serf pool 2013-12-19 14:56:38 -08:00
Armon Dadgar 9249bb65a5 Adding client tests 2013-12-19 14:54:32 -08:00
Armon Dadgar 1bae62fce6 Adding initial consul client 2013-12-19 14:48:14 -08:00
Armon Dadgar ed0af0ad42 Refactor isConsulServer into util 2013-12-19 14:37:54 -08:00
Armon Dadgar 644ce2fcf7 Refactor ensurePath to util 2013-12-19 14:18:55 -08:00
Armon Dadgar 88396b966a Move rpc structs into sub-package 2013-12-19 12:03:57 -08:00
Armon Dadgar 0ad0393484 Remove comment 2013-12-19 11:15:38 -08:00
Armon Dadgar 5fad6a7372 Make tests more reliable 2013-12-18 16:44:56 -08:00
Armon Dadgar 9c8af31036 Guard against accessing slices that may have contents changed 2013-12-18 16:40:32 -08:00
Armon Dadgar c5aada3298 Switch Raft from SQLite to MDB 2013-12-18 16:23:17 -08:00
Armon Dadgar c515682303 Adding snapshot support 2013-12-18 15:09:38 -08:00
Armon Dadgar 424491e9f6 Starting port of state store to MDB 2013-12-18 15:03:25 -08:00
Armon Dadgar ab970083dd FSM logs snapshot time 2013-12-17 11:13:19 -08:00
Armon Dadgar 7fbb2c9918 Adding support and tests for FSM snapshotting 2013-12-16 10:47:14 -08:00
Armon Dadgar 70a001bfa0 Adding ability to snapshot StateStore 2013-12-12 15:14:08 -08:00
Armon Dadgar b86d6f4370 Changing how state store is opened to allow shared connections 2013-12-12 14:41:13 -08:00
Armon Dadgar 96a52fc0b2 Remove unused raft endpoints 2013-12-12 11:48:22 -08:00
Armon Dadgar 8409f9fc0a Adding NodeServices endpoing 2013-12-12 11:46:25 -08:00
Armon Dadgar 7757943156 Support querying for ServiceNodes 2013-12-12 11:37:19 -08:00
Armon Dadgar d4bb369642 Remove useless check since we are doing a DISTINCT query 2013-12-12 11:08:01 -08:00
Armon Dadgar e1c927f218 Adding ability to list services 2013-12-12 11:07:14 -08:00
Armon Dadgar d3cba241bf Adding node listing 2013-12-12 10:48:36 -08:00
Armon Dadgar 9a76a2bf12 Support datacenter listing 2013-12-12 10:35:50 -08:00
Armon Dadgar aee98291a9 Remove unused methods 2013-12-11 16:43:29 -08:00
Armon Dadgar f73f2a6513 Test leader forwarding 2013-12-11 16:42:19 -08:00
Armon Dadgar 5135724dae Adding support for cross-dc forwarding 2013-12-11 16:33:19 -08:00
Armon Dadgar 4cfe5179ba Track remote consul servers 2013-12-11 16:24:34 -08:00
Armon Dadgar 43cc986202 Adding support for deregistration 2013-12-11 15:34:10 -08:00
Armon Dadgar 4385ab3092 Testing Catalog.Register endpoint 2013-12-11 14:57:40 -08:00
Armon Dadgar 2b194d6380 Adding FSM support for Register 2013-12-11 14:38:18 -08:00
Armon Dadgar b0c82b61d2 Adding state store methods 2013-12-11 14:27:27 -08:00
Armon Dadgar 94865a40ac consul: starting work on some RPC layers 2013-12-11 14:04:44 -08:00
Armon Dadgar b4b4365d1d Adding some state store methods with tests 2013-12-11 14:03:09 -08:00
Armon Dadgar 479185694d Stubs 2013-12-10 18:19:15 -08:00
Armon Dadgar ac9d2a81ff consul: working on fsm state 2013-12-10 17:00:48 -08:00
Armon Dadgar 48e3db305b Adding Status.Leader endpoint 2013-12-10 15:16:41 -08:00
Armon Dadgar 662a1d9af7 consul: Adding method to force remove failed nodes 2013-12-10 14:42:29 -08:00
Armon Dadgar 0725906cab consul: Adding LANMembers and WANMembers 2013-12-10 13:17:54 -08:00
Armon Dadgar e7f4a84841 consul: abandon join on shutdown or member fail 2013-12-09 16:25:24 -08:00
Armon Dadgar 761197575c consul: Adding tons of shit, leave test 2013-12-09 16:05:15 -08:00
Armon Dadgar 9c4583c0e3 consul: type safe event handlers 2013-12-09 15:29:44 -08:00
Armon Dadgar f582b86cd8 consul: status rpc endpoint 2013-12-09 15:29:20 -08:00
Armon Dadgar 2d7af79662 consul: store the peerstore 2013-12-09 15:29:01 -08:00
Armon Dadgar 08152dc66b consul: Leave does a RemovePeer RPC call 2013-12-09 15:01:42 -08:00
Armon Dadgar a8a9d2cd45 consul: helper to make RPC calls 2013-12-09 14:58:49 -08:00
Armon Dadgar f7f743dfa9 consul: ConnPool creates RPC client 2013-12-09 14:52:22 -08:00
Armon Dadgar 03bd66c8fa consul: Adding Raft rpc endpoint 2013-12-09 14:49:07 -08:00
Armon Dadgar b7bafb6bd8 consul: gossip role includes rpc addr 2013-12-09 14:30:16 -08:00
Armon Dadgar c28ebbf60f consul: Write the byte to set the RPC mode 2013-12-09 14:29:20 -08:00
Armon Dadgar 6e9d7dc0fd consul: RaftLayer does not use ConnPool 2013-12-09 14:25:59 -08:00
Armon Dadgar ad51531407 consul: fixing test 2013-12-09 14:23:19 -08:00
Armon Dadgar 5ab00f34ee consul: Remove the RaftBindAddr 2013-12-09 14:22:23 -08:00
Armon Dadgar a5d001034e consul: close raft transport before layer 2013-12-09 14:20:56 -08:00
Armon Dadgar 7f4adceae8 consul: sharing the RPC layer between Consul/Raft 2013-12-09 13:13:40 -08:00
Armon Dadgar fc595ce9ee consul: Adding leave function 2013-12-09 12:10:27 -08:00
Armon Dadgar 205941ffcf consul: adding connection pool 2013-12-09 12:09:57 -08:00
Armon Dadgar af9176bca0 consul: Add+test JoinLAN/JoinWAN 2013-12-06 17:18:09 -08:00
Armon Dadgar 72e93a7432 consul: refactor into more files 2013-12-06 16:54:33 -08:00
Armon Dadgar 0bf9a8fb1c consul: Basic RPC framework 2013-12-06 16:35:13 -08:00
Armon Dadgar 9b8433f787 consul: Rename to LAN/WAN instead of Local/Remote 2013-12-06 16:05:26 -08:00
Armon Dadgar 94ff23d2a4 consul: adding basic skeleton 2013-12-06 15:43:07 -08:00