Commit Graph

6702 Commits

Author SHA1 Message Date
Frank Schroeder 7568a19433 config: refactor commands to print help for flags (#3536)
This patch refactors the commands that use the mitchellh/cli library to
populate the command line flag set in both the Run() and the Help()
method. Earlier versions of the mitchellh/cli library relied on the
Run() method to populuate the flagset for generating the usage screen.
This has changed in later versions and was previously solved with a
small monkey patch to the library to restore the old behavior.

However, this makes upgrading the library difficult since the patch has
to be restored every time.

This patch addresses this by moving the command line flags into an
initFlags() method where appropriate and also moving all variables for
the flags from the Run() method into the command itself.

Fixes #3536
2017-10-18 00:08:45 +02:00
Frank Schröder 64e4afede3 Merge pull request #3582 from ryanslade/time-since
Replace time.Now().Sub(x) with time.Since(x)
2017-10-18 00:06:12 +02:00
Frank Schroeder ae76c975ae vendor: update github.com/mitchellh/mapstructure to replace monkey patch 2017-10-17 20:43:11 +02:00
Frank Schroeder 1a573e8fba vendor: update github.com/hashicorp/hcl to replace monkey patch 2017-10-17 20:43:11 +02:00
Ryan Slade 6f05ea91a3 Replace time.Now().Sub(x) with time.Since(x) 2017-10-17 20:38:24 +02:00
James Phillips 5fe5a0b4f3
Puts the tree in 1.0.1 dev mode. 2017-10-16 10:28:06 -07:00
James Phillips abace13f46
Bumps website version to 1.0.0. 2017-10-16 09:40:44 -07:00
James Phillips a7f3d23613
Release v1.0.0 2017-10-16 09:22:40 -07:00
James Phillips 8a50327a96
Puts the tree in 1.0 final release mode. 2017-10-16 09:16:52 -07:00
James Phillips 39f2359804 Fixes an XSS issue with unescaped node names. (#3578)
* Fixes an XSS issue with node names in the tomography graph.

* Updates built-in static web assets.

* Updates the change log.
2017-10-16 09:12:36 -07:00
James Phillips 6f31af82d6
Adds a note about the Raft protocol not being the same as the Consul protocol. 2017-10-13 16:54:48 -07:00
James Phillips eb916860ca
Adds a 1.0 section to the upgrade guide and cleans up the change log. 2017-10-13 16:46:36 -07:00
James Phillips cb41ae2428 Update sentinel.html.markdown.erb 2017-10-13 12:15:08 -07:00
csawyerYumaed f97ec6dc3b Update dns forwarding documentation (#3574)
Add details about setting up macOS to point to consul for services without the headache of dnsmasq, bind, etc.
2017-10-12 14:25:57 -07:00
James Phillips fdd08c78a9 Adds a brief wait and poll period to update check status after a timeout. (#3573)
* Adds a brief wait and poll period to update the check status
if we get stucking waiting for the processes to terminate.

Fixes #3570

* Jumps out of timeout case and includes script output.
2017-10-12 13:49:46 -07:00
James Phillips e9670761f9
Cleans up some drift between the OSS and Enterprise trees. 2017-10-11 15:53:07 -07:00
Kyle Havlovitz d2b9ab2b4f
Clarify the docs around script check timeout behavior 2017-10-11 14:55:55 -07:00
James Phillips 7ec211dcfd
Updates the change log. 2017-10-11 11:59:35 -07:00
Kyle Havlovitz eea2bd2753 Kill check processes after the timeout is reached (#3567)
* Kill check processes after the timeout is reached

Kill the subprocess spawned by a script check once the timeout is reached. Previously Consul just marked the check critical and left the subprocess around.

Fixes #3565.

* Set err to non-nil when timeout occurs

* Fix check timeout test

* Kill entire process subtree on check timeout

* Add a docs note about windows subprocess termination
2017-10-11 11:57:39 -07:00
James Phillips 144a938bcc
Updates the change log. 2017-10-11 07:45:42 -07:00
James Bardin 3ff612d625 retry locks on network errors (#3553)
* retry locks on network errors

When communicating with a local agent and watching a lock, a dropped
connection between the agent and server will show up as a server error
and immediately be retried. However if the client is connected to a
remote server, a dropped connection immediately aborts the lock.

* Updates comment about it being unsafe for writes.
2017-10-11 07:42:10 -07:00
Artiom Diomin 66338228dd Fix example code formatting in godoc 2017-10-11 14:52:22 +02:00
Frank Schroeder c4215bc04f
config: remove redundant code 2017-10-11 10:16:21 +02:00
Frank Schroeder 8cda75454a
config: fix check for segment.port <= 0 and add test 2017-10-11 10:15:55 +02:00
James Phillips a16dbc0212
Adds check to make sure port is given so we avoid a nil bind address. 2017-10-10 18:11:21 -07:00
James Phillips 275e83de08
Removes obsolete segment stub. 2017-10-10 17:21:32 -07:00
Frank Schröder 9b2e3c2091 agent: add option to discard health output (#3562)
* agent: add option to discard health output

In high volatile environments consul will have checks with "noisy"
output which changes every time even though the status does not change.
Since the output is stored in the raft log every health check update
unblocks a blocking call on health checks since the raft index has
changed even though the status of the health checks may not have changed
at all. By discarding the output of the health checks the users can
choose a different tradeoff. Less visibility on why a check failed in
exchange for a reduced change rate on the raft log.

* agent: discard output also when adding a check

* agent: add test for discard check output

* agent: update docs

* go vet

* Adds discard_check_output to reloadable config table.

* Updates the change log.
2017-10-10 17:04:52 -07:00
preetapan f6066f8305 Fixes agent error handling when check definition is invalid. Distingu… (#3560)
* Fixes agent error handling when check definition is invalid. Distinguishes between empty checks vs invalid checks

* Made CheckTypes return Checks from service definition struct rather than a new copy, and other changes from code review. This also errors when json payload contains empty structs

* Simplify and improve validate method, and make sure that CheckTypes always returns a new copy of validated check definitions

* Tweaks some small style things and error messages.

* Updates the change log.
2017-10-10 16:54:06 -07:00
Frank Schröder fa22ad4573 config: add generic method to translate between CamelCase and snake_case (#3557)
* doc: document discrepancy between id and CheckID

* doc: document enable_tag_override change

* config: add TranslateKeys helper

TranslateKeys makes it easier to map between different representations
of internal structures. It allows to recursively map alias keys to
canonical keys in structured maps.

* config: use TranslateKeys for config file

This also adds support for 'enabletagoverride' and removes
the need for a separate CheckID alias field.

* config: remove dead code

* agent: use TranslateKeys for FixupCheckType

* agent: translate enable_tag_override during service registration

* doc: add '.hcl' as valid extension

* config: map ScriptArgs to args

* config: add comment for TranslateKeys
2017-10-10 16:40:59 -07:00
James Phillips 279ade8ef2
Updates documentation to s/script/args/ in API docs. 2017-10-10 16:37:08 -07:00
James Phillips cf21e0bcf5
Updates the change log. 2017-10-10 15:24:10 -07:00
James Phillips d1ad538345 Makes RPC handling more robust when rolling servers. (#3561)
* Adds client-side retry for no leader errors.

This paves over the case where the client was connected to the leader
when it loses leadership.

* Adds a configurable server RPC drain time and a fail-fast path for RPCs.

When a server leaves it gets removed from the Raft configuration, so it will
never know who the new leader server ends up being. Without this we'd be
doomed to wait out the RPC hold timeout and then fail. This makes things fail
a little quicker while a sever is draining, and since we added a client retry
AND since the server doing this has already shut down and left the Serf LAN,
clients should retry against some other server.

* Makes the RPC hold timeout configurable.

* Reorders struct members.

* Sets the RPC hold timeout default for test servers.

* Bumps the leave drain time up to 5 seconds.

* Robustifies retries with a simpler client-side RPC hold.

* Reverts untended delete.
2017-10-10 15:19:50 -07:00
James Phillips 25d32c8b7e Update compatibility.html.md 2017-10-09 14:18:37 -07:00
James Phillips 2695760055 Update compatibility.html.md 2017-10-09 14:18:23 -07:00
Radek Simko 03decc2a95 docs: agent/options gcp's project_name is optional
Per https://github.com/hashicorp/go-discover/blob/master/provider/gce/gce_discover.go#L53-L61
2017-10-08 13:08:50 +02:00
Preetha Appan 25e64b5362 Fix unit test after dns library upgrade to account for correct data length 2017-10-06 17:40:17 -05:00
James Phillips 03abd7157b Update raft.html.md 2017-10-06 14:38:21 -07:00
James Phillips dff7aab526
Updates the change log. 2017-10-06 14:17:21 -07:00
Preetha Appan e677d309f9 Updating CHANGELOG.md 2017-10-06 16:10:35 -05:00
preetapan e47b0a052e Merge pull request #3412 from hashicorp/jbs-autocomplete
Autocomplete support via @brianshumate
2017-10-06 15:46:26 -05:00
Preetha Appan e3e781e264 Update documentation with subcommand example 2017-10-06 15:23:43 -05:00
Preetha Appan 5d5e245417 Autocomplete support 2017-10-06 15:05:45 -05:00
preetapan cb313a264c Merge pull request #3548 from hashicorp/go_retryablehttp_update
Update go-retryablehttp
2017-10-06 13:44:26 -05:00
Preetha Appan 10b7ab252f Update go-retryablehttp 2017-10-06 13:42:11 -05:00
James Phillips 906bd41a5c
Updates the change log. 2017-10-06 11:36:03 -07:00
preetapan 84b0af3150 Vendor update miekg/dns to pick up bugfixes and features (#3547) 2017-10-06 11:34:41 -07:00
James Phillips 35a27ac7ef
Adds a basic Linux Vagrant setup, stolen from Nomad. 2017-10-06 08:10:12 -07:00
James Phillips 533ec86a40
Updates the change log. 2017-10-06 07:57:22 -07:00
James Phillips a1db119d02 Fixes handling of stop channel and failed barrier attempts. (#3546)
* Fixes handling of stop channel and failed barrier attempts.

There were two issues here. First, we needed to not exit when there
was a timeout trying to write the barrier, because Raft might not
step down, so we'd be left as the leader but having run all the step
down actions.

Second, we didn't close over the stopCh correctly, so it was possible
to nil that out and have the leaderLoop never exit. We close over it
properly AND sequence the nil-ing of it AFTER the leaderLoop exits for
good measure, so the code is more robust.

Fixes #3545

* Cleans up based on code review feedback.

* Tweaks comments.

* Renames variables and removes comments.
2017-10-06 07:54:49 -07:00
James Phillips 406bad36bd
Updates the change log. 2017-10-05 09:30:56 -07:00