Commit Graph

6738 Commits

Author SHA1 Message Date
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
Frank Schroeder db016a0c8d
command: show full help text on usage 2017-10-05 18:17:54 +02:00
Frank Schroeder c467efe4b9
Update CHANGELOG.md 2017-10-05 18:14:26 +02:00
Frank Schroeder 2320836d7f command: do not merge flags in-place 2017-10-05 18:08:35 +02:00
Frank Schroeder 56ebd5b30f command: simplify duplicate code 2017-10-05 18:08:35 +02:00
Frank Schroeder 3028d52158 command: drop hidden flags from base command 2017-10-05 18:08:35 +02:00
Frank Schroeder 13266a2e65 command: drop unused hidden flags for 'validate' 2017-10-05 18:08:35 +02:00
Frank Schroeder 7182829f15
command: drop legacy 'operator raft' tests 2017-10-05 17:56:16 +02:00
Frank Schroeder a4be9e2e67 command: simplify 'operator raft'
The cli library can handle subcommands. Therefore, most of the code is
no longer necessary.
2017-10-05 17:40:57 +02:00
Frank Schroeder cac55a1e80 command: don't show confusing error on usage output 2017-10-05 17:29:45 +02:00
Frank Schroeder 4e866ced39 command: backport patch for mitchellh/cli help flag handling (#3536)
This patch backports a fix which will show the correct usage screen for
command line flags.

This is considered a temporary fix until the code has been refactored.
Newer versions of the cli library require that the flag set is populated
when Help() is called or that it is populated within Help() itself.

Fixes #3536
2017-10-05 17:29:45 +02:00
Frank Schroeder 7bab8d3eb7 command: drop deprecated 'configtest' command
'configtest' has been replaced with 'validate'
2017-10-05 17:22:34 +02:00
Victor Boivie 77f7008363 Minor typo (boostrap) 2017-10-05 16:28:48 +02:00
James Phillips c8fe9924d5
Release v1.0.0-beta2 2017-10-04 23:07:24 -07:00
James Phillips 5ba517b187
Puts the tree in 1.0.0-beta2 release mode. 2017-10-04 23:00:06 -07:00