Commit Graph

417 Commits

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