Commit graph

837 commits

Author SHA1 Message Date
James Phillips 3e93055cef Switches sessions over to UUIDFieldIndex. 2015-10-19 17:09:02 -07:00
James Phillips d905804514 Adds a special case for fill KVS listings to avoid a tombstone scan. 2015-10-19 16:22:27 -07:00
James Phillips 22a46f7bf5 Makes the iterator naming more consistent. 2015-10-19 15:51:11 -07:00
James Phillips 9a2fdff4c4 Converts sessions and ACLs over to iterators. 2015-10-19 14:56:22 -07:00
James Phillips d459d94b3f Converts KVS snapshot over to iterator. 2015-10-19 14:07:57 -07:00
James Phillips 498c4a989a Converts nodes, services, checks to iterators duing dumps; fixes tag drift bug.
Realized that the conversions ServiceNode <-> NodeService were incomplete in a
few places so centralized those and added some tests.
2015-10-19 13:55:35 -07:00
James Phillips 8ee52e9850 Gets rid of non-idomatic "state_store" alias in FSM. 2015-10-16 14:07:48 -07:00
James Phillips adef4894df Ports a couple of new RPC calls to the updated codec mechanism. 2015-10-15 15:09:13 -07:00
James Phillips 268255dcbe Runs go fmt after latest changes. 2015-10-15 14:59:09 -07:00
James Phillips e982f976eb Adds unit tests for new structs clone functions. 2015-10-15 14:59:09 -07:00
James Phillips 46be9fa2cf Adds benchmarks back in to the state store. 2015-10-15 14:59:09 -07:00
James Phillips 6db1a8624d Removes a todo that's no longer needed. 2015-10-15 14:59:09 -07:00
James Phillips 82f275d126 Adds unit tests for the graveyard. 2015-10-15 14:59:09 -07:00
James Phillips e285af5d1c Does some go fmt after latest round of changes. 2015-10-15 14:59:09 -07:00
James Phillips 409fd57e4a Adds a delay test. 2015-10-15 14:59:09 -07:00
James Phillips 73ad5f0695 Adds watch unit tests and does some related watch cleanup. 2015-10-15 14:59:09 -07:00
James Phillips 9fce4aaf35 Adds tests for GC. 2015-10-15 14:59:09 -07:00
James Phillips ca220c9717 Adds clone for service nodes so we don't twiddle the database's object. 2015-10-15 14:59:09 -07:00
James Phillips 25d7746f38 Fixes remaining non-KV index calclulations and adds a general getWatchTables thing. 2015-10-15 14:59:09 -07:00
James Phillips 32e2439f93 Fixes index management for KVS. 2015-10-15 14:59:09 -07:00
James Phillips 37da1faaf2 Makes session invalidate loops use a separate slice to protect the iterator. 2015-10-15 14:59:09 -07:00
James Phillips 8504646900 Makes all delete loops use a separate slice to protect the iterator. 2015-10-15 14:59:09 -07:00
James Phillips 768f6fd8db Cleans up some go vet warnings. 2015-10-15 14:59:09 -07:00
James Phillips 495b276e44 Gets rid of todo that we discussed is ok. 2015-10-15 14:59:09 -07:00
James Phillips 3fedffbffb Gets rid of the transitional "New" suffix on state store and RPC. 2015-10-15 14:59:09 -07:00
James Phillips 263c7e3fd3 Deletes the old state store and all its accoutrements. 2015-10-15 14:59:09 -07:00
James Phillips 3f07f0685f Nukes old state store's connection to FSM and RPC. 2015-10-15 14:59:09 -07:00
James Phillips 450886246d Integrates session TTL tests with new state store. 2015-10-15 14:59:09 -07:00
James Phillips a15c24f771 Integrates new state store into internal endpoint. 2015-10-15 14:59:09 -07:00
James Phillips 76bdeadefb Abstracts the table names away from the RPC call sites. 2015-10-15 14:59:09 -07:00
James Phillips 7a8e5b2866 Integrates new state store into session endpoint; returns table index always. 2015-10-15 14:59:09 -07:00
James Phillips 1463e6100a Integrates new state store into leader and catalog/health endpoints. 2015-10-15 14:59:09 -07:00
James Phillips 6203c1e585 Integrates KVS endopint with new state store (changes KVSList to match old behavior). 2015-10-15 14:59:09 -07:00
James Phillips 837d8994b4 Cuts FSM unit tests over to new state store. 2015-10-15 14:59:09 -07:00
James Phillips 92e48b87bf Adds twiddling of the real state store in snapshot tests. 2015-10-15 14:59:09 -07:00
James Phillips 87ff8d031c Ports over session invalidation tests (and fixes some bugs). 2015-10-15 14:59:09 -07:00
James Phillips 8072138c9a Adds a note about updating sessions after they are created. 2015-10-15 14:59:09 -07:00
James Phillips a09571133c Beefs up node and service watch tests for multi-table triggers. 2015-10-15 14:59:09 -07:00
James Phillips ae21a33aca Adds session snapshot/restore and basic watch tests (and fixes some bugs). 2015-10-15 14:59:09 -07:00
James Phillips 1725063067 Adds tombstone tests and gets rid of unused logger. 2015-10-15 14:59:09 -07:00
James Phillips 391c04de90 Makes sure we don't create a full table watch for tombstones. 2015-10-15 14:59:09 -07:00
James Phillips 4be951571e Adds snapshot/restore and watch tests for KVS. 2015-10-15 14:59:09 -07:00
James Phillips 9bfe2c32f6 Allows lock holder to re-lock and set a KV, adds tests for corner cases around sessions. 2015-10-15 14:59:09 -07:00
James Phillips 1088145060 Adds kvs lock/unlock tests. 2015-10-15 14:59:09 -07:00
James Phillips 2c0ba7e44b Adds snap and watch tests for nodes, services, and checks. 2015-10-15 14:59:09 -07:00
James Phillips f7fca62dcd Adds node snap and watch tests as well as a general watch test. 2015-10-15 14:59:09 -07:00
James Phillips e25fb6c5ed De-generalizes graveyard since that ended up as a YAGNI (only useful for KV). 2015-10-15 14:59:09 -07:00
James Phillips e7de7a2b8c Cleans up unit tests for consistency. 2015-10-15 14:59:09 -07:00
James Phillips 1bf432d5af Adds ensure registration unit test (and fixes bugs). 2015-10-15 14:59:09 -07:00
James Phillips e5773635e7 Adds reap tombstone test (and fixes bugs). 2015-10-15 14:59:09 -07:00
James Phillips 8a39581ae0 Adds ACL snapshot/restore test. 2015-10-15 14:59:09 -07:00
James Phillips 2dae65a6ec Adds a watch tester helper that helps cut the cruft. 2015-10-15 14:59:09 -07:00
James Phillips 04b365495d Completes state store for KV, sessions, tombstones, and nodes/services/checks (needs tests and integration). 2015-10-15 14:59:09 -07:00
James Phillips edae626f36 Integrates new state store for ACLs. 2015-10-15 14:59:09 -07:00
James Phillips cbcd977a39 Gets new structs changes to compile, adds some corner case handling and extra unit tests. 2015-10-15 14:59:09 -07:00
Ryan Uber 4cf5f6223e consul/state: list acls 2015-10-15 14:59:09 -07:00
Ryan Uber 69b0ee0e5a consul/state: implement acl delete 2015-10-15 14:59:09 -07:00
Ryan Uber 6e7c3e3579 consul/state: basic acl set/get/delete 2015-10-15 14:59:09 -07:00
Ryan Uber e30c3cdea8 consul/state: basic session destroy works 2015-10-15 14:59:09 -07:00
Ryan Uber 747527fef5 consul/state: more tests 2015-10-15 14:59:09 -07:00
Ryan Uber d0e349b190 consul/state: refactor some tests 2015-10-15 14:59:09 -07:00
Ryan Uber d5f3648846 consul/state: session lookup by node id works 2015-10-15 14:59:09 -07:00
Ryan Uber 82fa9347e1 consul/state: add session list method 2015-10-15 14:59:09 -07:00
Ryan Uber 0d0b3c91ef consul/state: adding session registration 2015-10-15 14:59:09 -07:00
Ryan Uber a613f65e41 consul/state: adding tree delete for kvs store 2015-10-15 14:59:09 -07:00
Ryan Uber 66a211a70e consul/state: list keys from the kv with a prefix/separator 2015-10-15 14:59:09 -07:00
Ryan Uber 0171c2ba3d consul/state: fix for maxIndex and better tests 2015-10-15 14:59:09 -07:00
Ryan Uber b0ae1c0967 consul/state: add CAS method for kv set 2015-10-15 14:59:09 -07:00
Ryan Uber dc997beef3 consul/state: initial pass at CAS delete operation for kvs 2015-10-15 14:59:09 -07:00
Ryan Uber 57c36c274b consul/state: adding KVSList for listing a given prefix 2015-10-15 14:59:09 -07:00
Ryan Uber 9b4f8cd800 consul/state: adding shallow delete for kvs store 2015-10-15 14:59:09 -07:00
Ryan Uber b2dc11fed4 consul/state: basic k/v operations 2015-10-15 14:59:09 -07:00
Ryan Uber a511e8a42d consul/state: adding node dump methods 2015-10-15 14:59:09 -07:00
Ryan Uber 0df0b1674e consul/state: testing service registration update 2015-10-15 14:59:09 -07:00
Ryan Uber c3cd5051ba consul/state: fetch node/check sets by service ID 2015-10-15 14:59:09 -07:00
Ryan Uber d88ef90479 consul/state: filter checks by state 2015-10-15 14:59:09 -07:00
Ryan Uber 2249bec117 consul/state: support check lookups by service name 2015-10-15 14:59:09 -07:00
Ryan Uber 9fe029abc3 consul/state: return highest index for queries with compound results 2015-10-15 14:59:09 -07:00
Ryan Uber e6a9db17d7 consul/state: cleanup 2015-10-15 14:59:09 -07:00
Ryan Uber e114b5040f consul/state: better tests for index table updates 2015-10-15 14:59:09 -07:00
Ryan Uber c3ad758e0e consul/state: test helpers 2015-10-15 14:59:09 -07:00
Ryan Uber 5d63160bb6 consul/state: node checks are removed with their associated nodes 2015-10-15 14:59:09 -07:00
Ryan Uber 329c88d8b7 consul/state: services are removed with their associated nodes 2015-10-15 14:59:09 -07:00
Ryan Uber 5bb69db6b3 consul/state: remove checks during service deregistration 2015-10-15 14:59:09 -07:00
Ryan Uber db1bcdc863 consul/state: add check deletion method 2015-10-15 14:59:09 -07:00
Ryan Uber ee8a1dc5d2 consul/state: set index if we have an existing health check 2015-10-15 14:59:09 -07:00
Ryan Uber d6380e31cc consul/state: negative tests 2015-10-15 14:59:09 -07:00
Ryan Uber f9e8ca252c consul/state: basic health check retrieval works 2015-10-15 14:59:09 -07:00
Ryan Uber b6af94a8ff consul/state: persisting health checks works 2015-10-15 14:59:09 -07:00
Ryan Uber 0a000f63a3 consul/state: test for index modification during deletes 2015-10-15 14:59:09 -07:00
Ryan Uber 8ae69b6878 consul/state: add service delete functions 2015-10-15 14:59:09 -07:00
Ryan Uber 5a8d8b0362 consul/state: working on node deletion 2015-10-15 14:59:09 -07:00
Ryan Uber 766c367ef4 consul/state: add function for returning all nodes 2015-10-15 14:59:09 -07:00
Ryan Uber 8fea5f8dc5 consul/state: track highest index when querying services 2015-10-15 14:59:09 -07:00
Ryan Uber 08553f0fef consul/state: querying node services works 2015-10-15 14:59:09 -07:00
Ryan Uber 859ffe14e1 consul/state: read transactions don't block writes 2015-10-15 14:59:09 -07:00
Ryan Uber a5d5577cdd consul/state: more tests for EnsureNode/GetNode 2015-10-15 14:59:09 -07:00
Ryan Uber f0dd8b2923 consul/state: working on service registration storage 2015-10-15 14:59:09 -07:00
Ryan Uber 011e7584b4 consul/state: node registration and retrieval works 2015-10-15 14:59:09 -07:00
Ryan Uber 6778c8d3ff consul/state: start tests for schema 2015-10-15 14:59:09 -07:00
Ryan Uber f30437bade consul/state: round out schema 2015-10-15 14:59:09 -07:00
Ryan Uber f253c39cb1 consul/state: starting on new state store 2015-10-15 14:59:09 -07:00
Ryan Uber ae7cdfaf8d consul: comment msgpack handle 2015-10-15 14:57:29 -07:00
Ryan Uber cc7aa44459 consul: revert session endpoint test 2015-10-15 12:31:48 -07:00
Ryan Uber 33741f9156 consul: initial pass at refactoring RPC using net-rpc-msgpackrpc 2015-10-13 22:15:23 -07:00
Dale Wijnand c5168e1263 Fix a bunch of typos. 2015-09-15 13:22:08 +01:00
James Phillips b25797a808 Merge pull request #1187 from sfncook/enable_tag_drift_03
Enable tag drift 03
2015-09-11 15:35:32 -07:00
Anthony Scalisi 8d733b7fca remove various typos 2015-09-11 12:29:54 -07:00
Shawn Cook 99be758411 Rename EnableTagOverride and update formatting 2015-09-11 08:35:29 -07:00
Shawn Cook 2f04917261 Merge remote-tracking branch 'hashicorp/master' into enable_tag_drift_03 2015-09-10 14:55:30 -07:00
James Phillips c0127e9932 Bumps protocol version back down as we've made memberlist smarter. 2015-08-31 11:16:34 -07:00
Shawn Cook d4ec6aa630 Update tests - NodeService init needs bool 2015-08-20 09:09:26 -07:00
Shawn Cook f6814c89ed EnableTagDrift in NodeService struct 2015-08-18 10:34:55 -07:00
Mac Browning 04eb37ffb6 consul: refactor GetPrivateIP for testability 2015-08-15 17:44:32 -04:00
James Phillips 8df55b6964 Changes to an unbuffered channel, since we just close it. 2015-08-13 11:38:02 -07:00
James Phillips 1c6414e806 Cleans up locking and factors markForUse into a Conn method. 2015-08-13 10:01:05 -07:00
James Phillips 18711b40b8 Gets rid of follow up attempts if the lead thread can't connect. 2015-08-12 20:14:48 -07:00
James Phillips 7d9db86b03 Adds missing ref count for the race condition case. 2015-08-12 19:26:01 -07:00
James Phillips 0efc49b510 Fixes #1165 by having threads wait for any outstanding connect to finish. 2015-08-12 18:48:15 -07:00
Ryan Uber 36bddeca25 consul: filter services by ACL when using ChecksInState. 2015-07-27 16:57:56 -07:00
Ryan Uber 6d38027689 Merge pull request #1090 from hashicorp/f-keyring-acl
Keyring ACLs
2015-07-24 10:23:18 -07:00
Armon Dadgar f1a83a8954 Merge pull request #1119 from trumant/multiple_private_IPs
Fixes #1099 by raising an error when we multiple private IPs are found
2015-07-22 17:32:00 -07:00
Travis Truman e18a93ed54 Fixes #1099 by raising an error when we multiple private IPs are found 2015-07-16 22:25:02 -04:00
Ryan Uber 6d27334ee1 consul: fixes for events and related tests 2015-07-14 11:38:26 -07:00
Ryan Uber 4ef6545583 acl: initial pass at keyring ACLs 2015-07-06 18:28:09 -06:00
Armon Dadgar fd2bead478 consul: fixing test using wrong FSM 2015-07-06 14:33:58 -06:00
Ryan Uber 503fa1eed1 Merge pull request #1046 from hashicorp/f-event-acl
Event ACLs
2015-07-02 07:02:07 -07:00
Ryan Uber d2eac37579 agent: remove unnecessary EventFire function 2015-07-02 06:56:27 -07:00
Tiru Srikantha f1932e5e46 Add RFC 6598 private IP range
Fixes #1031 by adding 100.64.0.0/10 as a private IP range.
2015-06-19 12:20:30 -07:00
Ryan Uber e6923a4832 consul: always fire events from server nodes 2015-06-18 18:13:29 -07:00
Ryan Uber 6e9adae494 consul: use acl cache struct in server 2015-06-18 18:13:29 -07:00
Ryan Uber e04a23801e consul: split ACL cache into a reusable struct 2015-06-18 18:13:29 -07:00
Ryan Uber d84fa3c98d consul: check ACLs when firing events 2015-06-18 18:13:29 -07:00
Ryan Uber d600fad4e7 consul: fast path a typed nil during ACL filtering 2015-06-12 16:46:15 -07:00
Ryan Uber 2b1a19a906 consul: fail badly if an unsupported type is passed to the ACL filter 2015-06-11 17:06:35 -07:00
Ryan Uber 593b4b3dd6 consul: fix log message 2015-06-11 15:00:26 -07:00
Ryan Uber 63a2737cac consul: testing acl filters in isolation 2015-06-11 14:14:43 -07:00
Ryan Uber e413b0e7c7 consul: better tests for acl filtering 2015-06-11 13:23:49 -07:00
Ryan Uber 5aeb8202d6 consul: testing internal endpoint acl filtering 2015-06-11 13:05:33 -07:00
Ryan Uber aa87f2b73c consul: rename function to avoid collision and clean up 2015-06-11 13:04:47 -07:00
Ryan Uber 1ff496d6dd consul: break acl filtering into a separate struct 2015-06-11 12:08:21 -07:00
Ryan Uber 404d4d653c consul: testing health endpoint service acl filtering 2015-06-11 09:39:35 -07:00
Ryan Uber 1e2751511d consul: testing catalog endpoint acl filtering 2015-06-10 22:14:58 -07:00
Ryan Uber c8629de127 consul: begin testing discovery ACLs 2015-06-10 19:25:58 -07:00
Ryan Uber 4f9161f485 consul: use anonymous function for acl filtering 2015-06-10 18:43:48 -07:00
Ryan Uber b115047919 consul: filter internal endpoints for acls 2015-06-10 18:40:40 -07:00
Ryan Uber 4f3e661b8c acl: initial pass at service discovery acls 2015-06-10 18:40:09 -07:00
James Phillips 7b8aae37cb Bumps protocol version to 3 to get serf version 5. 2015-06-02 17:50:35 -07:00
Sam Boyer bdc5983463 Condense switch fallthroughs into expr lists 2015-05-26 21:30:14 -04:00
Armon Dadgar f91069f9d5 consul: adding StopWatch test 2015-05-14 18:32:19 -07:00