Commit Graph

3441 Commits

Author SHA1 Message Date
Evan Gilman 146f719a66 Explicitly set advertise address in agent tests
Otherwise, the tests will fail when run on a machine with multiple
private addresses
2016-02-06 23:01:45 -08:00
Evan Gilman a3240d28ba Consider WAN addresses during Node and SRV record lookup 2016-02-06 23:01:45 -08:00
Evan Gilman 496cf5ae73 Implement `translate_wan_addrs` config option
This knob tells consul whether it should prefer the WAN address (if set)
when making service lookups in remote datacenters. This enables
reachability for remote services which are behind a NAT.
2016-02-06 23:01:45 -08:00
Evan Gilman 8fa2a60208 Rectify value of `AdvertiseAddrWan` when set elsewhere
`AdvertiseAddrs` has been introduced as a configuration option, which
duplicates a few other options, namely `AdvertiseAddrWan`. We need to
use this value elsewhere, so rather than doing a precedence check every
time we need to access it, rectify the value of `AdvertiseAddrWan` to
match
2016-02-06 23:01:45 -08:00
Evan Gilman 069a28b3c0 Use idiomatic name for wan_addr serf tag 2016-02-06 23:01:45 -08:00
James Phillips ed8a71efd7 Store WanAddress during Service/Check sync 2016-02-06 23:01:45 -08:00
Evan Gilman 9300a13643 Store WanAddress during node registration 2016-02-06 23:01:45 -08:00
Evan Gilman 90aafbbdb6 Store WanAddress on Node 2016-02-06 23:01:45 -08:00
James Phillips 0b551cddb6 Merge pull request #1697 from hashicorp/f-doc-tweaks
Tweaks the telemetry docs.
2016-02-06 22:07:44 -08:00
James Phillips d2d6b51fe4 Tweaks the telemetry docs. 2016-02-06 22:07:11 -08:00
James Phillips d60be51f01 Merge pull request #1284 from nbrownus/telemetry
Option to disable hostnames from telemetry
2016-02-06 22:00:14 -08:00
Ryan Breen dda5c3d370 Merge pull request #1695 from DavidWittman/exec-help-formatting
Fix formatting in exec help
2016-02-06 13:35:45 -05:00
David Wittman 8667394955 Fix formatting in exec help
The description for `-node` was separated by tabs instead of spaces,
causing it to be incorrectly aligned.
2016-02-06 12:28:56 -06:00
James Phillips 6150b0c5bf Merge pull request #1693 from hashicorp/f-doc-dos-warning
Adds a warning about DoS-ing the cluster with consul exec.
2016-02-05 17:36:27 -08:00
James Phillips 64ec6d7d73 Adds a warning about DoS-ing the cluster with consul exec. 2016-02-05 17:36:19 -08:00
James Phillips 7bc2ba4c18 Merge pull request #1654 from ryanslade/invalid-check-message
Updated invalid check error message.
2016-02-05 17:21:29 -08:00
Sean Chittenden 0f4daa08b7 Merge pull request #1691 from hashicorp/b-gnumakefiles
Acknowledge that we're using GNU make's dialect and rename appropriate
2016-02-05 16:04:56 -08:00
Sean Chittenden 71d02d2a32 Acknowledge that we're using GNU make's dialect and rename appropriate
Makefiles to GNUmakefiles so that non-GNU make(1) will error out.  This
should be a transparent change to the universe of people using GNU make.
2016-02-05 14:24:26 -08:00
Seth Vargo 0cb4318b2e Order 2016-02-04 12:12:58 -05:00
Seth Vargo e123131f59 Merge pull request #1685 from jplock/patch-1
Add dropwizard-consul to the Community Tools page
2016-02-04 12:12:24 -05:00
Justin Plock 9f13bba9b2 Add dropwizard-consul to the Community Tools page 2016-02-04 12:00:06 -05:00
sean- 96de8e5691 Merge pull request #1678 from hashicorp/b-consul-rpc-server-nil
Use the server's address in debug logging, not the c.lastServer
2016-02-02 16:05:32 -08:00
Sean Chittenden 1f725e2d05 Use the server's address in debug logging, not the c.lastServer, which may be nil 2016-02-02 15:51:28 -08:00
sean- 82ec22d44b Merge pull request #1676 from hashicorp/b-env-bash
Don't assume /bin/bash is installed on all OSes
2016-02-02 15:31:30 -08:00
Sean Chittenden fa0d388ef1 Don't assume /bin/bash is installed on all OSes
Use `/usr/bin/env bash` where appropriate.
2016-02-02 15:16:49 -08:00
sean- 2bf794fac9 Merge pull request #1675 from hashicorp/d-dnsmasq-reverse-dns
Iterate on the DNS forwarding docs
2016-02-02 15:14:37 -08:00
Sean Chittenden 7db70cfcb6 Iterate on the DNS forwarding docs
Specifically:

* add Dnsmasq examples for reverse DNS for most of the RFC1918, 5735, and 6598 netblocks.
* Highlight some example options for dnsmasq that are probably of interest.
* Add a small section on reverse DNS testing
* Break out BINDs troubleshooting with Dnsmasq's troubleshooting

Not an exhaustive sweep, but should be helpful when introducing consul to new environments.
2016-02-02 15:06:25 -08:00
Sean Chittenden eb4116a2eb Fix misc typos 2016-02-02 11:38:28 -08:00
Sean Chittenden 53091c2b8b Add a note re: GH-1667 and redistributing client RPC requests 2016-02-02 11:38:00 -08:00
sean- 8f30dea420 Merge pull request #1667 from hashicorp/b-redistribute-clients
Continually redistribute client RPC connections
2016-02-02 11:15:19 -08:00
Sean Chittenden 1c9d74a337 Remove unnecessary check, test was moved further up in scope 2016-02-02 11:13:58 -08:00
Sean Chittenden ae53e0b2a1 Merge branch 'master' of ssh://github.com/hashicorp/consul into b-redistribute-clients 2016-02-01 23:15:45 -08:00
Sean Chittenden be205b8ed0 Chase case change in the function name now that GenerateUUID is an
exported function.
2016-02-01 23:15:19 -08:00
Sean Chittenden 088e3ee26b Cull unused function and its unit test.
Pointed out by: @slackpad
2016-02-01 23:15:19 -08:00
Sean Chittenden 1b551456bd Cull unused function and its unit test.
Pointed out by: @slackpad
2016-02-01 23:15:19 -08:00
Sean Chittenden 1005b91c87 Use panic instead of returning a sentinel UUID values in unit tests 2016-02-01 23:15:19 -08:00
sean- eb27a02956 Merge pull request #1666 from hashicorp/f-consul-lib
Refactor various utility functions into a consul/lib package
2016-02-01 23:08:52 -08:00
Sean Chittenden 8cb5b4dbeb Chase case change in the function name now that GenerateUUID is an
exported function.
2016-02-01 22:48:59 -08:00
Sean Chittenden 81e1e1c05d Cull unused function and its unit test.
Pointed out by: @slackpad
2016-02-01 22:40:19 -08:00
Sean Chittenden 6c1bb78d06 Cull unused function and its unit test.
Pointed out by: @slackpad
2016-02-01 22:26:57 -08:00
Sean Chittenden 8deec17f73 Use panic instead of returning a sentinel UUID values in unit tests 2016-02-01 16:42:04 -08:00
Sean Chittenden c7e58734ed Continually rebalance client connections
Introduce a low-level background connection expiration mechanism wherein connections will be recycled periodically based on the size and health of the cluster.

For the vast majority of consul users, this will mean an average connection age of 150s.  For 10K node clusters it will take ~3min for clusters to rebalance their connections.  In the pathological case for a 100K cluster where 99K clients are in the minority talking to 1x server it will take ~26min to rebalance all connections.

It's possibe for clients recovering from a parititon to become fixated on a single server until the server or agent is restarted.  This is of particular interest to long-running environments with stable agents, where `allow_stale` is true, and partitions occur periodically.
2016-01-30 17:13:50 -08:00
Sean Chittenden 0c83b1b692 Use rand.Int31n() vs unconditionally using modulus 2016-01-30 15:47:58 -08:00
Sean Chittenden 7fb0045bbe Merge branch 'f-consul-lib' of ssh://github.com/hashicorp/consul into b-redistribute-clients 2016-01-30 15:40:54 -08:00
Sean Chittenden c4f7b4a13e Rename clientRPCCache to clientRPCConnMaxIdle, change value
Increase the max idle time for agents talking to servers from 30s to 127s in order to allow for the reuse of connections that are being initiated by cron.

127s was chosen as the first prime above 120s (arbitrarily chose to use a prime) with the intent of reusing connections who are used by once-a-minute cron(8) jobs *and* who use a 60s jitter window (e.g. in vixie cron job execution can drift by up to 59s per job, or 119s for a once-a-minute cron job).
2016-01-30 15:27:46 -08:00
Sean Chittenden b391b075bd Reuse the results from gettimeofday(2)...
Inside of a single RPC call, reuse time.Now().
2016-01-30 14:39:17 -08:00
Sean Chittenden 4382c1f7aa Always seed math/rand on consul startup
Required for jitter calcs.  This could be done in consul/agent, but this makes it clear it is done only once process-wide.
2016-01-29 17:00:08 -08:00
Sean Chittenden 7af6a94edb Factor out duplicate functions into a lib package
Consolidate code duplication and tests into a single lib package.  Most of these functions were from various **/util.go functions that couldn't be imported due to cyclic imports.  The consul/lib package is intended to be a terminal node in an import DAG and a place to stash various consul-only helper functions.  Pulled in hashicorp/go-uuid instead of consolidating UUID access.
2016-01-29 16:57:45 -08:00
Nate Brown 43a4f3fe02 Option to disable hostnames from telemetry 2016-01-29 13:44:48 -08:00
Ryan Breen 3215b8727f Merge pull request #1662 from rajanadar/patch-1
fixing small typo in json
2016-01-29 08:32:57 -05:00