Commit Graph

1195 Commits

Author SHA1 Message Date
James Phillips ff351b289a Merge pull request #1413 from hashicorp/b-coord-raft-errors
Adds a check for in-band error returns in the coordinate RaftApply.
2015-11-15 17:05:19 -08:00
James Phillips f1f9d30ade Extends the session TTL max to 24 hours, and adds a warning to the docs. 2015-11-15 16:51:00 -08:00
James Phillips 9972eb2498 Adds a check for in-band error returns in the coordinate RaftApply. 2015-11-15 16:50:46 -08:00
James Phillips c1d338550f Changes batch update failure to a WARN since it's nbd. 2015-10-29 09:26:24 -07:00
James Phillips d06fc28a0a Prevents agents from considering Raft information when doing sync checks. 2015-10-28 14:32:00 -07:00
James Phillips 19c3e262a6 Fixes a bad error message. 2015-10-28 12:40:47 -07:00
James Phillips 9f85f7ee1a Adds a check for the minimum version as well. 2015-10-27 15:56:36 -07:00
James Phillips 26095faae0 Sets the ignore flag on coordinate update Raft log entries. 2015-10-27 14:44:34 -07:00
James Phillips c0bd639662 Makes the version upshift code look at the correct version field. 2015-10-27 14:44:34 -07:00
James Phillips ecd3a1d1d2 Completes rebase of network coordinates to new memdb. 2015-10-23 15:23:01 -07:00
James Phillips de01f96d38 Fixes configs now that Serf always caches coordinates. 2015-10-23 15:23:01 -07:00
James Phillips 660da92152 Makes the default protocol 2 and lets 3 interoperate with 2. 2015-10-23 15:23:01 -07:00
James Phillips 80d5a3029f Zeroes out the height when testing exact distances. 2015-10-23 15:23:01 -07:00
James Phillips 384d99677d Cleans up after latest rebase. 2015-10-23 15:23:01 -07:00
James Phillips 6289764ea2 Moves sorting up into coordinate endpoint HTTP handlers. 2015-10-23 15:23:01 -07:00
James Phillips 33e3505aea Adds endpoints for raw network coordinates. 2015-10-23 15:23:01 -07:00
James Phillips 843613143b Fixes bad name for DC forwarding of Coordinate.Get. 2015-10-23 15:23:01 -07:00
James Phillips 9caa5b3653 Adds distance sorting to health endpoint. Cleans up unit tests. 2015-10-23 15:23:01 -07:00
James Phillips 497f6782af Switches to the median over all DC nodes with known coordinates. 2015-10-23 15:23:01 -07:00
James Phillips 6d845c7d0d Adds explicit check for empty node in source parameter. 2015-10-23 15:23:01 -07:00
James Phillips 78b2c2d7ac Moves disable checks down into the sort routine. 2015-10-23 15:23:01 -07:00
James Phillips 54ef97b268 Adds tests for HTTP interface. Removes a stray mark. 2015-10-23 15:23:01 -07:00
James Phillips 36c78f5042 Adds sort of DCs in catalog queries based on RTT. Cleans up.
* Makes the catalog endpoint respect disabling coordinates for all
  RTT-sorting query types.
2015-10-23 15:23:01 -07:00
James Phillips 89c7203f31 Adds coordinate sorting support to catalog queries for nodes and service nodes. 2015-10-23 15:23:01 -07:00
James Phillips ad65d953f6 Scales coordinate sends to hit a fixed aggregate rate across the cluster. 2015-10-23 15:23:01 -07:00
James Phillips 66a3d29743 Simplifies the batching function and adds some comments. 2015-10-23 15:23:01 -07:00
James Phillips e094f5a61d Adds snapshot save and restore of coordinates. 2015-10-23 15:23:01 -07:00
James Phillips 5f754c4a87 Does some small cleanups based on PR feedback.
* Holds coordinate updates in map and gets rid of the update channel.
* Cleans up config variables a bit.
2015-10-23 15:23:01 -07:00
James Phillips 7e6d52109b Hardens Consul from bad coordinates from other nodes. 2015-10-23 15:23:01 -07:00
James Phillips 2cee9f7e2f Takes the node name out of the coordinate get call. 2015-10-23 15:23:01 -07:00
James Phillips d12aa2ffab Moves batching down into the state store and changes it to fail-fast.
* A batch of updates is done all in a single transaction.
* We no longer need to get an update to kick things, there's a periodic flush.
* If incoming updates overwhelm the configured flush rate they will be dumped with an error.
2015-10-23 15:23:01 -07:00
James Phillips b9d5fb0f90 Flips the sense of the coordinate enable option. 2015-10-23 15:23:01 -07:00
James Phillips 92567841d6 Removes one more WAN leftover. 2015-10-23 15:23:01 -07:00
James Phillips 86b112fe31 Does a clean up pass on the Consul side. 2015-10-23 15:23:01 -07:00
James Phillips 01d2452ea3 Merges config changes after rebase. 2015-10-23 15:23:01 -07:00
Derek Chiang 7255ddd086 Address comments 2015-10-23 15:23:01 -07:00
Derek Chiang 2f11db15aa Add test for the GetWAN endpoint 2015-10-23 15:23:01 -07:00
Derek Chiang 1929b1dabf Add an endpoint for getting WAN coordinates 2015-10-23 15:23:01 -07:00
Derek Chiang 69003310ca Fix tests 2015-10-23 15:23:01 -07:00
Derek Chiang 54a2815d9c Address comments 2015-10-23 15:23:01 -07:00
Derek Chiang f8d81092c9 Add state store tests 2015-10-23 15:23:01 -07:00
Derek Chiang f657caf1dd Add more tests 2015-10-23 15:23:01 -07:00
Derek Chiang f144d17b1c Address comments 2015-10-23 15:23:01 -07:00
Derek Chiang bf5cb7522f Use IndexedCoordinate instead 2015-10-23 15:23:01 -07:00
Derek Chiang d8dd8d77d4 Improve a test 2015-10-23 15:23:01 -07:00
Derek Chiang 98d87b5dd5 Complete logic for sending coordinates 2015-10-23 15:23:01 -07:00
Derek Chiang 8a0bb40bba Fix tests 2015-10-23 15:23:01 -07:00
Derek Chiang 9113b26286 Some fixes 2015-10-23 15:23:01 -07:00
Derek Chiang b87f122a5b Change GET API a little bit 2015-10-23 15:23:01 -07:00
Derek Chiang a9ea503c69 Adding tests and stuff 2015-10-23 15:23:01 -07:00
Derek Chiang 13f6cd376f Start adding stuff 2015-10-23 15:23:01 -07:00
James Phillips 158eabdd6f Cleans up a little whitespace with go fmt. 2015-10-20 18:41:05 -07:00
James Phillips 785bf6678d Gets rid of error prefixing in leader.go. 2015-10-20 13:37:11 -07:00
James Phillips f3a95bf9fe Puts all restore operations into a single transaction and optimizes watches. 2015-10-19 23:06:59 -07:00
James Phillips 52c373bb65 Gets rid of unique constraint on sessions index in session_checks. 2015-10-19 17:41:50 -07:00
James Phillips ee52f5ebce Switches sessions over to UUIDFieldIndex. 2015-10-19 17:09:02 -07:00
James Phillips 7d1179c1eb Adds a special case for fill KVS listings to avoid a tombstone scan. 2015-10-19 16:22:27 -07:00
James Phillips 3782fc53cb Makes the iterator naming more consistent. 2015-10-19 15:51:11 -07:00
James Phillips ffe531c55f Converts sessions and ACLs over to iterators. 2015-10-19 14:56:22 -07:00
James Phillips 8371c87fd0 Converts KVS snapshot over to iterator. 2015-10-19 14:07:57 -07:00
James Phillips 503c552d28 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 4fb8d1078e Gets rid of non-idomatic "state_store" alias in FSM. 2015-10-16 14:07:48 -07:00
James Phillips 8d444f2eed Ports a couple of new RPC calls to the updated codec mechanism. 2015-10-15 15:09:13 -07:00
James Phillips 655967d0f6 Runs go fmt after latest changes. 2015-10-15 14:59:09 -07:00
James Phillips ef5233165b Adds unit tests for new structs clone functions. 2015-10-15 14:59:09 -07:00
James Phillips a1cb9b8e62 Adds benchmarks back in to the state store. 2015-10-15 14:59:09 -07:00
James Phillips fc541fadcf Removes a todo that's no longer needed. 2015-10-15 14:59:09 -07:00
James Phillips be9f071488 Adds unit tests for the graveyard. 2015-10-15 14:59:09 -07:00
James Phillips fab8672543 Does some go fmt after latest round of changes. 2015-10-15 14:59:09 -07:00
James Phillips 57c102a7f1 Adds a delay test. 2015-10-15 14:59:09 -07:00
James Phillips 6f7f163a76 Adds watch unit tests and does some related watch cleanup. 2015-10-15 14:59:09 -07:00
James Phillips d29673ead7 Adds tests for GC. 2015-10-15 14:59:09 -07:00
James Phillips d2f4a5fe83 Adds clone for service nodes so we don't twiddle the database's object. 2015-10-15 14:59:09 -07:00
James Phillips b6f9aee847 Fixes remaining non-KV index calclulations and adds a general getWatchTables thing. 2015-10-15 14:59:09 -07:00
James Phillips 181c216f53 Fixes index management for KVS. 2015-10-15 14:59:09 -07:00
James Phillips ca3a84edf8 Makes session invalidate loops use a separate slice to protect the iterator. 2015-10-15 14:59:09 -07:00
James Phillips 834c6c1cb4 Makes all delete loops use a separate slice to protect the iterator. 2015-10-15 14:59:09 -07:00
James Phillips 682b0113b8 Cleans up some go vet warnings. 2015-10-15 14:59:09 -07:00
James Phillips cc6a7a2174 Gets rid of todo that we discussed is ok. 2015-10-15 14:59:09 -07:00
James Phillips 51600fab08 Gets rid of the transitional "New" suffix on state store and RPC. 2015-10-15 14:59:09 -07:00
James Phillips 4ee43e90b7 Deletes the old state store and all its accoutrements. 2015-10-15 14:59:09 -07:00
James Phillips 6ba70be33c Nukes old state store's connection to FSM and RPC. 2015-10-15 14:59:09 -07:00
James Phillips 7729b66099 Integrates session TTL tests with new state store. 2015-10-15 14:59:09 -07:00
James Phillips c83a9e043a Integrates new state store into internal endpoint. 2015-10-15 14:59:09 -07:00
James Phillips 0959b87548 Abstracts the table names away from the RPC call sites. 2015-10-15 14:59:09 -07:00
James Phillips b82d49240b Integrates new state store into session endpoint; returns table index always. 2015-10-15 14:59:09 -07:00
James Phillips 5b6502c1ea Integrates new state store into leader and catalog/health endpoints. 2015-10-15 14:59:09 -07:00
James Phillips 41338c9018 Integrates KVS endopint with new state store (changes KVSList to match old behavior). 2015-10-15 14:59:09 -07:00
James Phillips de00a2f81b Cuts FSM unit tests over to new state store. 2015-10-15 14:59:09 -07:00
James Phillips c791f2a709 Adds twiddling of the real state store in snapshot tests. 2015-10-15 14:59:09 -07:00
James Phillips 91ff5254dd Ports over session invalidation tests (and fixes some bugs). 2015-10-15 14:59:09 -07:00
James Phillips c3513b1661 Adds a note about updating sessions after they are created. 2015-10-15 14:59:09 -07:00
James Phillips 87bb81ba4c Beefs up node and service watch tests for multi-table triggers. 2015-10-15 14:59:09 -07:00
James Phillips bde2495a14 Adds session snapshot/restore and basic watch tests (and fixes some bugs). 2015-10-15 14:59:09 -07:00
James Phillips 4afd9a8599 Adds tombstone tests and gets rid of unused logger. 2015-10-15 14:59:09 -07:00
James Phillips ad246e06a5 Makes sure we don't create a full table watch for tombstones. 2015-10-15 14:59:09 -07:00
James Phillips 930780efd9 Adds snapshot/restore and watch tests for KVS. 2015-10-15 14:59:09 -07:00
James Phillips 18d60f95c5 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 75f9cd5cc3 Adds kvs lock/unlock tests. 2015-10-15 14:59:09 -07:00
James Phillips 72f15ceac0 Adds snap and watch tests for nodes, services, and checks. 2015-10-15 14:59:09 -07:00
James Phillips 005a7e0ab1 Adds node snap and watch tests as well as a general watch test. 2015-10-15 14:59:09 -07:00
James Phillips c8d0d09087 De-generalizes graveyard since that ended up as a YAGNI (only useful for KV). 2015-10-15 14:59:09 -07:00
James Phillips 537fd67464 Cleans up unit tests for consistency. 2015-10-15 14:59:09 -07:00
James Phillips f1ee05eba5 Adds ensure registration unit test (and fixes bugs). 2015-10-15 14:59:09 -07:00
James Phillips e339ebf86e Adds reap tombstone test (and fixes bugs). 2015-10-15 14:59:09 -07:00
James Phillips bc34ae2f5c Adds ACL snapshot/restore test. 2015-10-15 14:59:09 -07:00
James Phillips 21bc8e0996 Adds a watch tester helper that helps cut the cruft. 2015-10-15 14:59:09 -07:00
James Phillips 30736bae5a 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 009fd7d9f5 Integrates new state store for ACLs. 2015-10-15 14:59:09 -07:00
James Phillips d57431e300 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 7bf7ba6099 consul/state: list acls 2015-10-15 14:59:09 -07:00
Ryan Uber 92191298d0 consul/state: implement acl delete 2015-10-15 14:59:09 -07:00
Ryan Uber 16188e7604 consul/state: basic acl set/get/delete 2015-10-15 14:59:09 -07:00
Ryan Uber 391d4eed57 consul/state: basic session destroy works 2015-10-15 14:59:09 -07:00
Ryan Uber 8fa82612d2 consul/state: more tests 2015-10-15 14:59:09 -07:00
Ryan Uber 876aa667ba consul/state: refactor some tests 2015-10-15 14:59:09 -07:00
Ryan Uber a93e3410b9 consul/state: session lookup by node id works 2015-10-15 14:59:09 -07:00
Ryan Uber bd0de2c1e4 consul/state: add session list method 2015-10-15 14:59:09 -07:00
Ryan Uber a4c202aa90 consul/state: adding session registration 2015-10-15 14:59:09 -07:00
Ryan Uber b0856c2215 consul/state: adding tree delete for kvs store 2015-10-15 14:59:09 -07:00
Ryan Uber 291fbe02ba consul/state: list keys from the kv with a prefix/separator 2015-10-15 14:59:09 -07:00
Ryan Uber 8b29bfa303 consul/state: fix for maxIndex and better tests 2015-10-15 14:59:09 -07:00
Ryan Uber a0dc2ded8d consul/state: add CAS method for kv set 2015-10-15 14:59:09 -07:00
Ryan Uber 8a70ba2cc5 consul/state: initial pass at CAS delete operation for kvs 2015-10-15 14:59:09 -07:00
Ryan Uber 4ba89adb7d consul/state: adding KVSList for listing a given prefix 2015-10-15 14:59:09 -07:00
Ryan Uber a0fd9feda3 consul/state: adding shallow delete for kvs store 2015-10-15 14:59:09 -07:00
Ryan Uber 08d41224a3 consul/state: basic k/v operations 2015-10-15 14:59:09 -07:00
Ryan Uber f05a322dc7 consul/state: adding node dump methods 2015-10-15 14:59:09 -07:00
Ryan Uber 3b36744277 consul/state: testing service registration update 2015-10-15 14:59:09 -07:00
Ryan Uber 26f717f215 consul/state: fetch node/check sets by service ID 2015-10-15 14:59:09 -07:00
Ryan Uber f54a96f56b consul/state: filter checks by state 2015-10-15 14:59:09 -07:00
Ryan Uber 2cde299be9 consul/state: support check lookups by service name 2015-10-15 14:59:09 -07:00
Ryan Uber a4a73c3904 consul/state: return highest index for queries with compound results 2015-10-15 14:59:09 -07:00
Ryan Uber 9f281cbf80 consul/state: cleanup 2015-10-15 14:59:09 -07:00
Ryan Uber e148bb55d8 consul/state: better tests for index table updates 2015-10-15 14:59:09 -07:00
Ryan Uber fa8e015219 consul/state: test helpers 2015-10-15 14:59:09 -07:00
Ryan Uber 04d7e5849a consul/state: node checks are removed with their associated nodes 2015-10-15 14:59:09 -07:00
Ryan Uber aa14ca3a7c consul/state: services are removed with their associated nodes 2015-10-15 14:59:09 -07:00
Ryan Uber 0809a7e825 consul/state: remove checks during service deregistration 2015-10-15 14:59:09 -07:00
Ryan Uber b0132b140c consul/state: add check deletion method 2015-10-15 14:59:09 -07:00
Ryan Uber 6ebed234bb consul/state: set index if we have an existing health check 2015-10-15 14:59:09 -07:00
Ryan Uber 8c6f40f299 consul/state: negative tests 2015-10-15 14:59:09 -07:00
Ryan Uber 77f14af977 consul/state: basic health check retrieval works 2015-10-15 14:59:09 -07:00
Ryan Uber cf569f4848 consul/state: persisting health checks works 2015-10-15 14:59:09 -07:00
Ryan Uber 1d4a6ea790 consul/state: test for index modification during deletes 2015-10-15 14:59:09 -07:00
Ryan Uber 8a8aef0503 consul/state: add service delete functions 2015-10-15 14:59:09 -07:00
Ryan Uber 8c38210559 consul/state: working on node deletion 2015-10-15 14:59:09 -07:00
Ryan Uber 66b3250e55 consul/state: add function for returning all nodes 2015-10-15 14:59:09 -07:00
Ryan Uber 8671c5f80b consul/state: track highest index when querying services 2015-10-15 14:59:09 -07:00
Ryan Uber a52ed3c35b consul/state: querying node services works 2015-10-15 14:59:09 -07:00
Ryan Uber f9823a2a08 consul/state: read transactions don't block writes 2015-10-15 14:59:09 -07:00
Ryan Uber 0085512eb8 consul/state: more tests for EnsureNode/GetNode 2015-10-15 14:59:09 -07:00
Ryan Uber b2d9c10fad consul/state: working on service registration storage 2015-10-15 14:59:09 -07:00
Ryan Uber 82039191a1 consul/state: node registration and retrieval works 2015-10-15 14:59:09 -07:00
Ryan Uber 8181be18f2 consul/state: start tests for schema 2015-10-15 14:59:09 -07:00
Ryan Uber 89f87b7b5e consul/state: round out schema 2015-10-15 14:59:09 -07:00
Ryan Uber 633a270803 consul/state: starting on new state store 2015-10-15 14:59:09 -07:00
Ryan Uber b6ca82dd41 consul: comment msgpack handle 2015-10-15 14:57:29 -07:00
Ryan Uber e098b7592f consul: revert session endpoint test 2015-10-15 12:31:48 -07:00
Ryan Uber 81a862d8b7 consul: initial pass at refactoring RPC using net-rpc-msgpackrpc 2015-10-13 22:15:23 -07:00
Dale Wijnand 5a28ebcaa3 Fix a bunch of typos. 2015-09-15 13:22:08 +01:00
James Phillips 2f9ebdb135 Merge pull request #1187 from sfncook/enable_tag_drift_03
Enable tag drift 03
2015-09-11 15:35:32 -07:00
Anthony Scalisi 10e028d599 remove various typos 2015-09-11 12:29:54 -07:00
Shawn Cook 66fd8fb2a0 Rename EnableTagOverride and update formatting 2015-09-11 08:35:29 -07:00
Shawn Cook 0b3faf6e4a Merge remote-tracking branch 'hashicorp/master' into enable_tag_drift_03 2015-09-10 14:55:30 -07:00
William Tisäter 54ea982b02 Bind to loopback only as last resort 2015-09-02 12:24:44 +02:00
William Tisäter c94f78e92f Don't try to bind on address from inactive interface 2015-09-02 12:24:36 +02:00
William Tisäter 0a2b8cee85 Treat 127.0.0.0/8 and 169.254.0.0/16 as private network 2015-09-02 12:24:14 +02:00
James Phillips af7d2cb596 Bumps protocol version back down as we've made memberlist smarter. 2015-08-31 11:16:34 -07:00
Shawn Cook ab91590bcb Update tests - NodeService init needs bool 2015-08-20 09:09:26 -07:00
Shawn Cook 6a835939b8 EnableTagDrift in NodeService struct 2015-08-18 10:34:55 -07:00
Mac Browning 6b59226f0a consul: refactor GetPrivateIP for testability 2015-08-15 17:44:32 -04:00
James Phillips 614bf446fc Changes to an unbuffered channel, since we just close it. 2015-08-13 11:38:02 -07:00
James Phillips 1e8937b52b Cleans up locking and factors markForUse into a Conn method. 2015-08-13 10:01:05 -07:00
James Phillips 072811f289 Gets rid of follow up attempts if the lead thread can't connect. 2015-08-12 20:14:48 -07:00
James Phillips 8bca3eb644 Adds missing ref count for the race condition case. 2015-08-12 19:26:01 -07:00
James Phillips 40c5af6f73 Fixes #1165 by having threads wait for any outstanding connect to finish. 2015-08-12 18:48:15 -07:00
Ryan Uber f2b71940f5 consul: filter services by ACL when using ChecksInState. 2015-07-27 16:57:56 -07:00
Ryan Uber a6317f2fb2 Merge pull request #1090 from hashicorp/f-keyring-acl
Keyring ACLs
2015-07-24 10:23:18 -07:00
Armon Dadgar dcb5ae783b 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 182f881d82 Fixes #1099 by raising an error when we multiple private IPs are found 2015-07-16 22:25:02 -04:00
Ryan Uber 5d73afc13f consul: fixes for events and related tests 2015-07-14 11:38:26 -07:00
Ryan Uber 1b8051a783 acl: initial pass at keyring ACLs 2015-07-06 18:28:09 -06:00
Armon Dadgar 2783f2bfec consul: fixing test using wrong FSM 2015-07-06 14:33:58 -06:00
Ryan Uber e37b5ecb69 Merge pull request #1046 from hashicorp/f-event-acl
Event ACLs
2015-07-02 07:02:07 -07:00
Ryan Uber 18715a445c agent: remove unnecessary EventFire function 2015-07-02 06:56:27 -07:00
Tiru Srikantha b48842cf4f 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 6e084f6897 consul: always fire events from server nodes 2015-06-18 18:13:29 -07:00
Ryan Uber d5e13280a3 consul: use acl cache struct in server 2015-06-18 18:13:29 -07:00
Ryan Uber 3ef482de7f consul: split ACL cache into a reusable struct 2015-06-18 18:13:29 -07:00
Ryan Uber d777105c11 consul: check ACLs when firing events 2015-06-18 18:13:29 -07:00
Ryan Uber cee0af8d5c consul: fast path a typed nil during ACL filtering 2015-06-12 16:46:15 -07:00
Ryan Uber 389f89274a consul: fail badly if an unsupported type is passed to the ACL filter 2015-06-11 17:06:35 -07:00
Ryan Uber e06e5c5e99 consul: fix log message 2015-06-11 15:00:26 -07:00
Ryan Uber 71f21fdea7 consul: testing acl filters in isolation 2015-06-11 14:14:43 -07:00
Ryan Uber 77721e3a1a consul: better tests for acl filtering 2015-06-11 13:23:49 -07:00
Ryan Uber a4d34b66d6 consul: testing internal endpoint acl filtering 2015-06-11 13:05:33 -07:00
Ryan Uber d217c25668 consul: rename function to avoid collision and clean up 2015-06-11 13:04:47 -07:00
Ryan Uber 6623538c93 consul: break acl filtering into a separate struct 2015-06-11 12:08:21 -07:00
Ryan Uber 0159511714 consul: testing health endpoint service acl filtering 2015-06-11 09:39:35 -07:00
Ryan Uber 5128924b00 consul: testing catalog endpoint acl filtering 2015-06-10 22:14:58 -07:00
Ryan Uber 4a9965f062 consul: begin testing discovery ACLs 2015-06-10 19:25:58 -07:00
Ryan Uber 5b90b0f249 consul: use anonymous function for acl filtering 2015-06-10 18:43:48 -07:00
Ryan Uber 5fed1b5dc3 consul: filter internal endpoints for acls 2015-06-10 18:40:40 -07:00
Ryan Uber c68f1dab8a acl: initial pass at service discovery acls 2015-06-10 18:40:09 -07:00
James Phillips feb7f65703 Bumps protocol version to 3 to get serf version 5. 2015-06-02 17:50:35 -07:00
Sam Boyer 40478cb534 Condense switch fallthroughs into expr lists 2015-05-26 21:30:14 -04:00
Armon Dadgar cee5b53423 consul: adding StopWatch test 2015-05-14 18:32:19 -07:00
Armon Dadgar ab3632e409 consul: lower default query time and add small stagger 2015-05-14 17:59:43 -07:00
Armon Dadgar c51c888142 consul: adding randomStagger util method 2015-05-14 17:59:11 -07:00
Armon Dadgar 926b8bc7fa consul: proactively clear timers 2015-05-14 17:42:47 -07:00
Armon Dadgar e62ff966a3 consul: ensure blocking query cleans any lingering state 2015-05-14 17:38:42 -07:00
Armon Dadgar 1a50225911 consul: Adding methods to stop watching for changes 2015-05-14 17:33:02 -07:00
Armon Dadgar c54ab04794 consul: adding Clear to NotifyGroup 2015-05-14 17:30:30 -07:00
Armon Dadgar ebf961ef8b Merge pull request #927 from hashicorp/f-tls
Add new `verify_server_hostname` to mitigate possibility of MITM
2015-05-11 18:15:16 -07:00
Armon Dadgar 8d86290ebf Fixing merge conflict 2015-05-11 16:48:10 -07:00
Armon Dadgar beec4972de consul: support the new TLS wrapper 2015-05-11 15:15:36 -07:00
Armon Dadgar 6cf2efca0c consul: thread the target DC through the RPC path 2015-05-11 13:09:19 -07:00
Armon Dadgar 92e5548b23 consul: use tlsutil.Wrapper instead of tls.Config directly 2015-05-11 13:09:19 -07:00
Armon Dadgar b4531164e9 consul: updating for Raft API changes 2015-05-08 11:35:52 -07:00
Armon Dadgar 5d0f83d73d consul: more telemetry on RPCs and queries 2015-05-07 17:25:12 -07:00
Armon Dadgar f3a8f907fb Merge pull request #909 from hashicorp/f-create
Support ACL upsert behavior
2015-05-06 11:22:11 -07:00
Armon Dadgar 35744c7210 consul: Adding flag to support future incompatible commands. Future self will thank me. 2015-05-05 19:44:21 -07:00
Armon Dadgar cc9bd0a00b consul: ACL.Apply allows upserting with custom ID 2015-05-05 19:19:45 -07:00
Armon Dadgar 8b8abe2268 consul: fixing overly redundant logging 2015-05-05 13:00:47 -07:00
Armon Dadgar a86f31517b Merge pull request #816 from pepov/master
Support different advertise address for WAN gossip
2015-05-04 15:40:25 -07:00
Ryan Mills c92d45dd9b Remove 'unknown' as one of the valid states when setting the initial state of a check. 2015-04-13 20:46:01 +00:00
Ryan Mills 275af975e8 Allow specifying a status field in the agent/service/register and agent/check/register endpoints.
This status must be one of the valid check statuses: 'passing', 'warning', 'critical', 'unknown'.
If the status field is not present or the empty string, the default of 'critical' is used.
2015-04-12 02:00:31 +00:00
Ryan Uber 6cc0eefa76 Merge pull request #857 from hashicorp/f-boltdb
Raft uses BoltDB
2015-04-10 18:30:07 -07:00
Armon Dadgar 5f921653cd consul: do not clear connection cache on RPC errors 2015-04-07 14:17:20 -07:00
pepov 8cfe42f5dc add test using separate advertise addresses for wan and for lan 2015-03-28 16:08:19 +01:00
Michael Fraenkel 8c26836783 Support SesionTTLMin configuration
- Allow setting SessionTTLMin
- Validate on the Server
2015-03-27 05:13:57 -07:00
Ryan Uber ed67f6593f consul: swap over to raft-boltdb 2015-03-26 20:01:52 -07:00
Ryan Uber 1200e25ec9 consul: allow returning custom error for merge delegate 2015-02-22 18:24:10 -08:00
Ryan Breen b78eb40ef4 s/data center/datacenter/g 2015-02-19 17:45:47 -05:00
Armon Dadgar d92e5d37e3 Revert "* use defer to avoid tracking lock"
This reverts commit a030abdefc.
This commit causes a connection to be leaked if there is a race with
another concurrent RPC.
2015-02-16 14:04:47 -08:00
Emil Hessman 87dca96152 consul: clean up TempDirs in FSM tests 2015-01-26 08:34:23 +01:00
Armon Dadgar 149f25aaff Merge pull request #621 from hashicorp/f-leave
Changing interaction between Leave and RemovePeers
2015-01-21 16:28:19 -08:00
Ryan Uber 674be58e55 agent: support multiple checks per service 2015-01-20 21:48:42 -08:00
Armon Dadgar 8dc077edaa consul: Testing leave as leader and non-leader 2015-01-20 16:30:56 -08:00
Armon Dadgar 6f48675f14 consul: Wait for RemovePeer in Leave as a follower 2015-01-20 16:19:54 -08:00
Armon Dadgar 38f276dc47 consul: remove ourself from raft peer set if we are the leader 2015-01-20 16:19:29 -08:00
Armon Dadgar 6446df65bf consul: Do not remove ourself as raft peer in Serf event handler 2015-01-20 16:13:54 -08:00
Armon Dadgar 1c942386b6 consul: Use new LogCache to improve write throughput 2015-01-14 15:49:58 -08:00
Armon Dadgar 0b969c4e2b consul: Fixing potential issue with blocking queries for {Session,ACL}.Get 2015-01-13 12:02:30 -08:00
Armon Dadgar 8068c73b29 consul: Fixing blocking query returning old result 2015-01-13 11:51:24 -08:00
Ryan Uber 2c9bb57c0f consul: fix server left test 2015-01-09 19:10:17 -08:00
Ryan Uber 757c850c6e consul: improve test reliability for session ttls 2015-01-09 17:18:11 -08:00
Armon Dadgar 4572e7c8ec consul: Testing KVSDeleteCAS in FSM 2015-01-08 17:26:12 -08:00
Armon Dadgar 2bd5c3f7e5 consul: Test the KVSDeleteCheckAndSet method 2015-01-08 17:24:36 -08:00
Armon Dadgar 65bebca0f5 consul: Expose the KVSDeleteCAS operation in FSM 2015-01-08 17:08:44 -08:00
Armon Dadgar 32e9e8ead5 consul: Implement KVSDeleteCheckAndSet 2015-01-08 17:08:32 -08:00
Armon Dadgar 55330c95a6 consul: Adding KVSDeleteCAS operation type 2015-01-08 17:08:17 -08:00
Armon Dadgar 779ae5ca0d consul: Do not override the node address 2015-01-08 10:57:15 -08:00
Armon Dadgar 23b9c96169 consul: Fixing merge conflict 2015-01-08 10:42:19 -08:00
Armon Dadgar cd4f17a410 consul: Remove cruft from KV watching 2015-01-07 18:10:18 -08:00
Armon Dadgar 80607e593a consul: Enforce lock-delay with delete behavior 2015-01-07 15:48:27 -08:00
Ryan Uber 8e09016aee Ignore vim swap files 2015-01-07 15:21:01 -08:00
Ryan Uber d97305e376 command: check LastIndex is not zero while waiting for leader 2015-01-07 15:18:00 -08:00
Armon Dadgar 2dcadffb12 consul: Adding merge delegate to prevent mixing clusters 2015-01-06 15:48:46 -08:00
Armon Dadgar 6c425299db consul: Test WatchKV 2015-01-05 17:08:01 -08:00
Armon Dadgar 974a97583a consul: Adding test for KVS.List blocking query 2015-01-05 16:57:48 -08:00
Armon Dadgar ff9869eee5 consul: Remove dead code 2015-01-05 16:42:30 -08:00
Armon Dadgar f45d7900b8 consul: Optimize KV watching 2015-01-05 16:41:57 -08:00
Armon Dadgar 3096d6c749 consul: First pass to reduce KV watch cost 2015-01-05 16:18:27 -08:00
Armon Dadgar 73db8cd559 consul: Adding more useful metrics 2015-01-05 15:13:39 -08:00
Armon Dadgar 3d45d76930 consul: Fixing the KVS tests 2015-01-05 15:06:53 -08:00
Armon Dadgar d842b6da74 consul: Disable tombstones as follower 2015-01-05 14:58:59 -08:00
Armon Dadgar ce6cbab397 consul: Improve log message 2015-01-05 14:43:56 -08:00
Armon Dadgar 62d6fe51e0 consul: Reverting some index compute logic 2015-01-05 14:43:56 -08:00
Armon Dadgar e7abf17db4 consul: List Keys should handle tombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar b4292640a5 consul: Ensure KVS List handles tombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar eb2df41171 consul: Mesure time for reapTombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar e02e8a4558 consul: Testing leader issue of reap command 2015-01-05 14:43:56 -08:00
Armon Dadgar 55ac84c463 consul: Test FSM Reap operations 2015-01-05 14:43:56 -08:00
Armon Dadgar c22f172d84 consul: Test FSM restore of tombstones 2015-01-05 14:43:56 -08:00
Armon Dadgar 2a388aa354 consul: Testing tombstone snapshot 2015-01-05 14:43:55 -08:00
Armon Dadgar a4dad44131 consul: Testing tombstone reaping 2015-01-05 14:43:55 -08:00
Armon Dadgar 089b7655ca consul: Test tombstone creation 2015-01-05 14:43:55 -08:00
Armon Dadgar 4492ad0ab4 consul: Persist tombstones 2015-01-05 14:43:55 -08:00
Armon Dadgar bf74361fa7 consul: First pass at tombstone reaping 2015-01-05 14:43:55 -08:00
Armon Dadgar bcb10cff11 consul: TombstoneReapRequestType -> TombstoneRequestType 2015-01-05 14:43:55 -08:00
Armon Dadgar 76e5237356 consul: Generate a raft operation to reap tombstones 2015-01-05 14:43:55 -08:00
Armon Dadgar d4b1f368b3 consul: Adding new request to reap tombstones 2015-01-05 14:43:55 -08:00
Armon Dadgar 1120e6fcbd consul: Leader should reset the tombstone GC clock 2015-01-05 14:43:55 -08:00
Armon Dadgar 3bcf957d95 consul: Adding PendingExpiration 2015-01-05 14:43:55 -08:00
Armon Dadgar 10604a6fa8 consul: Thread Tombstone GC through 2015-01-05 14:43:55 -08:00
Armon Dadgar 103112b591 consul: Fixing accidental commit of transaction 2015-01-05 14:43:54 -08:00
Armon Dadgar 019d511fe7 consul: Fixing tombstone creation and hinting of GC 2015-01-05 14:43:54 -08:00
Armon Dadgar b79be042d4 consul: Adding GetTxnLimit to MDBTable 2015-01-05 14:43:54 -08:00
Armon Dadgar 99e24160d2 consul: Support reset of tombstone GC 2015-01-05 14:43:54 -08:00
Armon Dadgar b54aa8a25f consul: Adding TombstoneGC to track TTLs 2015-01-05 14:43:54 -08:00
Armon Dadgar a5ddae0de4 consul: Rename TombstoneGC to TombstoneTTL 2015-01-05 14:43:54 -08:00
Armon Dadgar 139568b0eb consul: Create tombstones before key deletes 2015-01-05 14:43:54 -08:00
Armon Dadgar 1d0aba2f97 consul: Adding TombstoneGC config 2015-01-05 14:43:54 -08:00
Daniel Malon 051ac8eb0b 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 8015854a74 consul: Collect useful session metrics 2015-01-02 22:46:51 +05:30
Armon Dadgar 0953efd5a0 consul: Minor cleanup 2014-12-12 22:17:41 -08:00
Armon Dadgar 19ce0842c6 consul: Test Session.Apply updates session timers 2014-12-12 21:54:29 -08:00
Armon Dadgar 7565d628b3 consul: Adding more tests for session TTLs 2014-12-12 21:42:59 -08:00
Armon Dadgar a886e8e561 consul: Setup ACLs and timers after initial barrier 2014-12-12 21:42:24 -08:00
Armon Dadgar fc89462236 consul: Make sessionTimersLock a plain mutex 2014-12-12 19:17:35 -08:00
Armon Dadgar a5a9f051cd consul: Ignore zero ttl on session 2014-12-12 19:17:04 -08:00
Armon Dadgar bb1ba3a167 consul: Minor cleanups 2014-12-12 15:43:34 -08:00
Armon Dadgar 29afa881f4 Merge pull request #524 from amalaviy/session_ttl
Consul Session TTLs
2014-12-12 14:42:25 -08:00
Atin Malaviya 31e461e10b Add invalidateSession test 2014-12-11 06:09:53 -05:00
Atin Malaviya ac54010027 Fixed clearSessionTimer, created invalidateSession, added invalid TTL test 2014-12-11 05:34:31 -05:00
Atin Malaviya 60915629f6 Took out usage of snapshot SessionListTTL 2014-12-10 21:37:06 -05:00
Atin Malaviya 3821f3c57b Took out StateSnapshot SessionListTTL also 2014-12-10 20:53:05 -05:00
Atin Malaviya 5229f3b44d Clean up code based on feedback from armon 2014-12-10 20:49:06 -05:00
Atin Malaviya 87e9d855fd Added more tests 2014-12-10 16:43:15 -05:00
Atin Malaviya 624c465e2b Added more tests. Also added return of 404 if the session id to renew is not found 2014-12-10 10:02:23 -05:00
Atin Malaviya 4732c36d88 Consul Session TTLs
The design of the session TTLs is based on the Google Chubby approach
(http://research.google.com/archive/chubby-osdi06.pdf). The Session
struct has an additional TTL field now. This attaches an implicit
heartbeat based failure detector. Tracking of heartbeats is done by
the current leader and not persisted via the Raft log. The implication
of this is during a leader failover, we do not retain the last
heartbeat times.

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

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

Reference: https://docs.google.com/document/d/1Y5-pahLkUaA7Kz4SBU_mehKiyt9yaaUGcBTMZR7lToY/edit?usp=sharing
2014-12-07 12:38:22 -05:00
Ali Abbas fc73a5a53e cleanup and simplify 2014-12-06 13:08:35 +01:00
Ali Abbas a030abdefc * use defer to avoid tracking lock
* simplify control flow
2014-12-06 12:32:18 +01:00
Chavez 42a92693a8 consul: Server leave test fix 2014-12-05 11:22:54 -08:00
Chavez b98374802d consul: Fix failing globalRPC test 2014-12-05 10:36:37 -08:00
Veres Lajos 3b1068387a typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 23:25:06 +00:00
Armon Dadgar 4861e4d9e1 consul: Check that ACL also allows registration 2014-11-30 21:10:42 -07:00
Armon Dadgar cafba93869 consul: Enforce service registration ACLs 2014-11-30 21:05:15 -07:00
Ali Abbas d1b2e41680 * Fix race condition on read/write of shutdown bool variable of server and connection pool.
* In connection pool, there is no guarantee that .reap() cannot execute the same time as .Shutdown() is called. It also did not benefit to eval shutdown when a select is run on the shutdown channel.
* In server, same principle applies to handleConsulConn. Since we also have a shutdown channel, it makes more to use this than to loop on a bool variable.
2014-11-26 10:39:25 +01:00
Ali Abbas e395420af6 cleanup unreachable code 2014-11-25 19:54:30 +01:00
Atin Malaviya d7933ae747 Set empty Behavior setting into SessionKeysRelease and flag error for unrecognized values 2014-11-20 19:16:07 -05:00
Atin Malaviya 6ef03a806c Clean up tests, use switch to default session.Behavior value if unspecified, unrecognized 2014-11-20 14:29:18 -05:00
Atin Malaviya 47241fc1c8 Ephemeral Nodes for via Session behavior settings.
Added a "delete" behavior for session invalidation, in addition to
the default "release" behavior. On session invalidation, the sessions
Behavior field is checked and if it is set to "delete", all nodes owned
by the session are deleted. If it is "release", then just the locks
are released as default.
2014-11-20 11:34:45 -05:00
Ryan Uber c283754381 Rebase against upstream 2014-11-19 16:45:49 -08:00
Ryan Uber 4203e7ab6d consul: clean up comments, fix globalRPC tests 2014-11-19 16:37:40 -08:00
Ryan Uber a662acd794 consul: fix obscure bug when launching goroutines from for loop 2014-11-19 16:37:40 -08:00
Ryan Uber 0cafb129ee consul: more tests, remove unused KeyManager() method 2014-11-19 16:37:40 -08:00
Ryan Uber 648c7cdc8e consul: simplify keyring operations 2014-11-19 16:36:19 -08:00
Ryan Uber ee03c6a4b8 consul: add test for internal keyring rpc endpoint 2014-11-19 16:36:19 -08:00
Ryan Uber a79176d314 consul: simplify keyring operations 2014-11-19 16:36:19 -08:00
Ryan Uber e60c909276 command/keyring: clean up tests 2014-11-19 16:36:18 -08:00
Ryan Uber bc2b2120fa agent: -encrypt appends to keyring if one exists 2014-11-19 16:36:01 -08:00
Ryan Uber 22b2c63304 command/agent: fix up gossip encryption indicator 2014-11-19 16:35:37 -08:00
Ryan Uber 1f9d13dc73 agent: squash some more common keyring semantics 2014-11-19 16:34:18 -08:00
Ryan Uber 25845a39d3 consul: detach executeKeyringOp() from *Internal 2014-11-19 16:34:18 -08:00
Ryan Uber 7b4b87ccf1 consul: use keyring operation type to cut out duplicated logic 2014-11-19 16:34:18 -08:00
Ryan Uber 9556347609 consul: generalize multi-DC RPC call broadcasts 2014-11-19 16:34:18 -08:00
Ryan Uber daf77c3f5b command/keyring: cleanup 2014-11-19 16:34:18 -08:00
Ryan Uber 61b0908e3a consul: test rpc errors returned from remote datacenters 2014-11-19 16:34:18 -08:00
Ryan Uber 9b8e753b15 consul: make forwarding to multiple datacenters parallel 2014-11-19 16:34:18 -08:00
Ryan Uber 74c7b1239b consul: break rpc forwarding and response ingestion out of internal endpoints 2014-11-19 16:34:18 -08:00
Ryan Uber 9d01174521 consul: kill unused struct fields 2014-11-19 16:34:17 -08:00
Ryan Uber 9056e617cb consul: cross-dc key rotation works 2014-11-19 16:34:17 -08:00
Ryan Uber ef2aabc544 consul: use a function for ingesting responses 2014-11-19 16:34:17 -08:00
Ryan Uber 2bdeaa0c6a consul: restructuring 2014-11-19 16:34:17 -08:00
Ryan Uber 8dec2744da consul: refactor keyring, repeat RPC calls to all DC's 2014-11-19 16:34:17 -08:00
Ryan Uber fcb0961436 agent: refactor keyring loader 2014-11-19 16:31:06 -08:00
Ryan Uber 67b179ccc9 command: basic rpc works for keys command 2014-11-19 16:30:21 -08:00
Ryan Uber 4dd1b42477 consul: use rpc layer only for key management functions, add rpc commands 2014-11-19 16:30:21 -08:00
Ryan Uber e20a724999 consul: first pass at keyring integration 2014-11-19 16:30:20 -08:00
Armon Dadgar 6be29e17c2 Merge pull request #478 from amalaviy/https
Added HTTPS support via a new HTTPS Port configuration option
2014-11-19 11:17:10 -08:00
Armon Dadgar e9c7b1df93 consul: Increase maximum number of parallel readers 2014-11-18 18:46:43 -08:00
Atin Malaviya 61f1d24f39 consul.Config() helper to generate the tlsutil.Config{} struct, 30 second keepalive, use keepalive for HTTP and HTTPS 2014-11-18 17:56:48 -05:00
Atin Malaviya f1f8c88228 Moved TLS Config stuff to tlsutil package 2014-11-18 11:03:36 -05:00
Armon Dadgar 8a1969cc8c consul: Fixing key list index calculation 2014-11-12 17:55:45 -08:00
Emil Hessman c9333b1b9b Fix missing arguments 2014-11-01 22:56:48 +01:00
Armon Dadgar 541b98a926 Gofmt 2014-10-20 10:21:31 -07:00
Armon Dadgar ce4aa7beb5 Switching to the pinned version of msgpack 2014-10-17 18:26:19 -07:00
Armon Dadgar ad445f5ac2 Encode/Decode test 2014-10-17 18:23:13 -07:00
Armon Dadgar f37f5fde54 consul: Improving test reliability 2014-10-17 17:40:14 -07:00
Armon Dadgar 4f1fa3a4ce Merge pull request #401 from hashicorp/f-healthcheck
Default services to "critical" state instead of "unknown"
2014-10-15 16:50:38 -07:00
Armon Dadgar c8ac05b39e consul: Fixing FSM path tests 2014-10-15 15:03:58 -07:00
Armon Dadgar bb3324dd85 consul: Ensure FSM stores data in the data dir 2014-10-15 14:57:59 -07:00
Armon Dadgar 7380216911 consul: FSM stores state in a given path only 2014-10-15 14:56:12 -07:00
Armon Dadgar be8051ec7e consul: Allow providing a path for the state store 2014-10-15 14:55:04 -07:00
Ryan Uber d2fc11c19d consul/structs: keep HealthUnknown around for backward compatibility 2014-10-15 11:35:22 -07:00
Armon Dadgar f8fc46dc57 consul: Reduce mmap size on 32bit 2014-10-15 11:32:40 -07:00
Ryan Uber 2f93e13da8 consul: kill remaining use of HealthUnknown 2014-10-15 10:14:46 -07:00
Armon Dadgar d1d76856e6 consul: less aggressive deadlock timer. Fixes #389 2014-10-14 12:00:25 -07:00
Armon Dadgar af4a955037 consul: Improve variable name 2014-10-14 11:04:43 -07:00
Armon Dadgar e39d2ee675 consul: Reap left members ignoring state. Fixes #371 2014-10-14 11:02:26 -07:00
Armon Dadgar 93b209db50 consul: Log why invalidation happened. Fixes #390 2014-10-14 10:54:57 -07:00
Armon Dadgar d3c3d9a1be consul: Fixing graceful leave of current leader. Fixes #360. 2014-10-13 22:14:43 -07:00
Armon Dadgar e6ed387f42 consul: Deprecate ACLForceSet 2014-10-09 12:28:07 -07:00
Armon Dadgar c832ea8aa3 consul: Fix non-deterministic ACL IDs 2014-10-09 12:23:32 -07:00
Armon Dadgar 39e8b1ffaa consul: Fix non-deterministic session IDs 2014-10-09 11:54:47 -07:00
Armon Dadgar c8f35aea45 consul: don't close a nil connection 2014-10-02 10:26:25 -07:00
Armon Dadgar 602828472d agent: First pass at multi-DC support 2014-08-28 15:00:49 -07:00
Armon Dadgar b5fb9d6dfb consul: Testing user events 2014-08-26 19:26:55 -07:00
Armon Dadgar 20d55e2ec4 consul: Adding user event name tests 2014-08-26 19:20:02 -07:00
Armon Dadgar be78e355de consul: Adding user event handler for callbacks 2014-08-26 19:04:07 -07:00
Armon Dadgar 1c341e6766 consul: expose UserEvent from Serf 2014-08-26 18:50:03 -07:00
Armon Dadgar 9622e99861 consul: Deny delete anonymous or update of root policies 2014-08-22 14:55:09 -07:00
Armon Dadgar 333095691e consul: Ensure node/service/check registration is in a single txn 2014-08-22 12:38:33 -07:00
Armon Dadgar 22e7205a5f consul: fixing a unit test 2014-08-22 12:34:31 -07:00
Armon Dadgar 40ae65b277 consul: Refactor txn handling in state store 2014-08-22 12:27:12 -07:00
Armon Dadgar 43a7a20868 consul: Ensure authoritative cache is purged after update 2014-08-18 15:46:59 -07:00
Armon Dadgar e56007753d consul: Provide ETag to avoid expensive policy fetch 2014-08-18 15:46:59 -07:00
Armon Dadgar 25855b2362 consul: ACL enforcement for KV updates 2014-08-18 15:46:24 -07:00
Armon Dadgar c7cb1f562b consul: ACL enforcement for key reads 2014-08-18 15:46:24 -07:00
Armon Dadgar f49d34d0e3 consul: Filter keys, refactor to interface 2014-08-18 15:46:24 -07:00
Armon Dadgar 614b0a1414 consul: Helpers to filter on ACL rules 2014-08-18 15:46:24 -07:00
Armon Dadgar 84488ed1f0 consul: Starting token enforcement 2014-08-18 15:46:23 -07:00
Armon Dadgar 2d5e869e69 consul: Prevent resolution of root policy 2014-08-18 15:46:23 -07:00
Armon Dadgar 10db4c7c8f consul: Resolve parent ACLs 2014-08-18 15:46:23 -07:00
Armon Dadgar ef171ca344 consul: Support management tokens 2014-08-18 15:46:23 -07:00
Armon Dadgar a82439c713 consul: Adding some metrics for ACL usage 2014-08-18 15:46:23 -07:00
Armon Dadgar 827e7c9efa consul: Create anonymous and master tokens 2014-08-18 15:46:22 -07:00
Armon Dadgar 01beaa60cc consul: Testing down policies and multi-DC 2014-08-18 15:46:22 -07:00
Armon Dadgar fe86c8c5ee consul: Testing ACL resolution 2014-08-18 15:46:22 -07:00
Armon Dadgar 0c912f2c98 consul: Use Etag for policy caching 2014-08-18 15:46:22 -07:00
Armon Dadgar b5e22203fc consul: Support conditional policy fetch 2014-08-18 15:46:22 -07:00
Armon Dadgar b5c9e65175 consul: Verify compilation of rules 2014-08-18 15:46:22 -07:00
Armon Dadgar 338f11c6cf consul: Enable ACL lookup 2014-08-18 15:46:22 -07:00
Armon Dadgar 97a737b1ee consul: Pulling in ACLs 2014-08-18 15:46:21 -07:00
Armon Dadgar 78049ad240 agent: ACL endpoint tests 2014-08-18 15:46:21 -07:00
Armon Dadgar 1b6806872d consul: ACL Endpoint tests 2014-08-18 15:46:21 -07:00
Armon Dadgar 7cbb2225af consul: Adding ACL endpoint 2014-08-18 15:46:21 -07:00
Armon Dadgar b53ee80acd consul: register the ACL queries 2014-08-18 15:46:21 -07:00
Armon Dadgar 70b84e44c9 consul: FSM support for ACLsg 2014-08-18 15:46:21 -07:00
Armon Dadgar fea61d629b consul: Adding ACLs to the state store 2014-08-18 15:46:21 -07:00
Armon Dadgar 3b4d8d5805 consul: ACL structs 2014-08-18 15:46:21 -07:00
Armon Dadgar cae4b421a3 agent: Adding ACL master token 2014-08-18 15:46:20 -07:00
Armon Dadgar a8063457f8 consul: ACL setting passthrough 2014-08-18 15:46:20 -07:00
William Tisäter 6b52d410b3 Run `go fmt` 2014-07-24 01:09:55 +02:00
William Tisäter 945e19e139 Don't override `ServiceTags` 2014-07-23 23:42:22 +02:00
William Tisäter 57d62eb492 Change order of fixtures 2014-07-23 23:42:22 +02:00
William Tisäter 37426f7410 Make service tag filter case-insensitive 2014-07-23 23:42:22 +02:00
William Tisäter 9ad8b9ff19 Make service index case-insensitive 2014-07-23 23:42:22 +02:00
William Tisäter 9359f899f5 Lowercase index key and lookup value if flag is set 2014-07-23 23:42:22 +02:00
William Tisäter ee4de11741 Add case-insensitive flag to `MDBIndex` 2014-07-23 23:42:21 +02:00
William Tisäter e5798c74d2 Add helper for lowercase list of strings 2014-07-23 23:42:21 +02:00
Armon Dadgar ce9de56469 consul: Defer serf handler until initialized. Fixes #254. 2014-07-22 09:36:58 -04:00
Armon Dadgar 746449ffed Merge pull request #233 from nelhage/tls-no-subjname
Restore the 0.2 TLS verification behavior.
2014-07-01 13:41:00 -07:00
Nelson Elhage 12a7f765b6 Add some basic smoke tests for wrapTLSclient.
Check the success case, and check that we reject a self-signed
certificate.
2014-06-29 18:11:32 -07:00
Nelson Elhage d174cbe7f4 Restore the 0.2 TLS verification behavior.
Namely, don't check the DNS names in TLS certificates when connecting to
other servers.

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

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

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

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

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

Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-16 17:40:33 -04:00
Armon Dadgar 961a00c496 Adding server_name configuration for TLS 2014-06-13 11:10:27 -07:00
Robert B Gordon 470d0f1e58 Seems like we should actually check the reference count. 2014-06-13 11:25:01 -05:00
Armon Dadgar 93f4eb0a0f consul: Start RPC before Raft, wait to accept connecitons 2014-06-11 10:17:58 -07:00
Armon Dadgar 938371ee40 consul: start RPC after fully initialized. Fixes #160 2014-06-11 09:46:44 -07:00
Armon Dadgar ab4e3de185 consul: Avoid network for server RPC. Fixes #148. 2014-06-10 19:12:36 -07:00
Armon Dadgar 476339b20c consul: Provide output for serfHealth check. Fixes #176. 2014-06-09 16:07:22 -07:00
Armon Dadgar 10f3007aa2 consul: Adding support for optional session name 2014-06-09 11:42:28 -07:00
Armon Dadgar 9a46a12fa5 consul: fixing use of nil log output. Fixes #203 2014-06-09 11:16:53 -07:00
Armon Dadgar 474e286aca Rename shared msgpack handle 2014-06-08 14:02:42 -07:00
Andrew M Bursavich 8a3c1a9b47 reuse codec.MsgpackHandle 2014-06-07 01:13:38 -07:00
Armon Dadgar b144633815 consul: Gossip the build using Serf 2014-06-06 15:36:40 -07:00
Armon Dadgar e171df2e2c consul: Sort datacenter list. Fixes #198 2014-06-06 14:12:40 -07:00
William Tisäter cbdb54f22b Log peers when `TestLeader_LeftServer` fail 2014-05-30 21:18:37 +02:00
William Tisäter 9e3ad6721c Re-configure `LeaderLeaseTimeout` to pass validation 2014-05-30 20:57:39 +02:00
Armon Dadgar acc048036b consul: Ensure clients also implement LocalMember 2014-05-29 11:21:56 -07:00
Armon Dadgar 3874498374 Merge pull request #173 from hashicorp/f-agent-self
Add `/v1/agent/self` and return local agent config
2014-05-29 11:18:19 -07:00
Armon Dadgar 5124428ba7 consul: Conn pool clean, spare existing streams 2014-05-28 16:55:39 -07:00