Commit Graph

1195 Commits

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