Josh Soref
1dd8c378b9
Spelling ( #3958 )
...
* spelling: another
* spelling: autopilot
* spelling: beginning
* spelling: circonus
* spelling: default
* spelling: definition
* spelling: distance
* spelling: encountered
* spelling: enterprise
* spelling: expands
* spelling: exits
* spelling: formatting
* spelling: health
* spelling: hierarchy
* spelling: imposed
* spelling: independence
* spelling: inspect
* spelling: last
* spelling: latest
* spelling: client
* spelling: message
* spelling: minimum
* spelling: notify
* spelling: nonexistent
* spelling: operator
* spelling: payload
* spelling: preceded
* spelling: prepared
* spelling: programmatically
* spelling: required
* spelling: reconcile
* spelling: responses
* spelling: request
* spelling: response
* spelling: results
* spelling: retrieve
* spelling: service
* spelling: significantly
* spelling: specifies
* spelling: supported
* spelling: synchronization
* spelling: synchronous
* spelling: themselves
* spelling: unexpected
* spelling: validations
* spelling: value
2018-03-19 16:56:00 +00:00
Paul Banks
69ebbf3e79
Fixes #3891 : agent monitor no longer unresponsive before logs stream.
...
The root cause is actually that the agent's streaming HTTP API didn't flush until the first log line was found which commonly was pretty soon since the default level is INFO. In cases where there were no logs immediately due to level for instance, the client gets stuck in the HTTP code waiting on a response packet from the server before we enter the loop that checks the shutdown channel from the signal handler.
This fix flushes the initial status immediately on the streaming endpoint which lets the client code get into it's expected state where it's listening for shutdown or log lines.
2018-02-19 21:53:10 +00:00
Kyle Havlovitz
7f3a1c1175
Pull http config flag merge into public method
2018-02-05 15:00:04 -08:00
Veselkov Konstantin
05666113a4
remove golint warnings
2018-01-28 22:40:13 +04:00
Chad Whitacre
923e2c8535
Fix typo
2018-01-05 15:24:44 -05:00
Kyle Havlovitz
6b58df5898
Merge pull request #3737 from hashicorp/autopilot-refactor
...
Move autopilot to a standalone package
2017-12-15 14:09:40 -08:00
James Phillips
6cfb74d5bd
Adds -base64 support to kv get command.
...
Fixes #3736
2017-12-14 17:28:04 -08:00
Kyle Havlovitz
8546a1d3c6
Move autopilot to a standalone package
2017-12-11 16:45:33 -08:00
James Phillips
8fb08c7ede
Adds a registry mechanism for CLI commands.
2017-11-29 18:36:52 -08:00
Kyle Havlovitz
fb464a8c0d
Fix a panic in snapshot inspect command
2017-10-30 14:51:08 -07:00
Frank Schroeder
1dab004335
Decouple the code that executes checks from the agent
2017-10-25 11:18:07 +02:00
Frank Schroeder
a57e5acbf2
agent: fix TestRetryJoin
2017-10-24 20:35:37 +02:00
Frank Schroeder
f398fe83b7
agent: fix TestRetryJoinFail
2017-10-24 20:35:37 +02:00
Frank Schroeder
8defdddf31
agent: fix TestRetryJoinWanFail
2017-10-24 20:35:36 +02:00
Frank Schroeder
c624c72d5c
config: return error on extra command line arguments ( #3397 )
...
The `consul agent` command was ignoring extra command line arguments
which can lead to confusion when the user has for example forgotten to
add a dash in front of an argument or is not using an `=` when setting
boolean flags to `true`. `-bootstrap true` is not the same as
`-bootstrap=true`, for example.
Since all command line flags are known and we don't expect unparsed
arguments we can return an error. However, this may make it slightly
more difficult in the future if we ever wanted to have these kinds of
arguments.
Fixes #3397
2017-10-23 08:07:48 +02:00
James Phillips
60af465b4e
Updates documentation for consul validate.
...
This makes it clear that you need to pass the full configuration,
and that the command won't work with config fragments.
Closes #3591
2017-10-19 18:59:05 -07:00
Frank Schroeder
3a5ac6f7cc
commands: add shorter helper vars to keep fmt sane
2017-10-18 02:39:10 +02:00
Frank Schroeder
4f6abf1e72
commands: cleanup init
2017-10-18 02:39:10 +02:00
Frank Schroeder
8f58a603ea
commands: get HTTP API flags for usage automatically
2017-10-18 00:08:45 +02:00
Frank Schroeder
cb8faa3559
commands: drop http server flags from reload command
2017-10-18 00:08:45 +02:00
Frank Schroeder
a00f8721fb
commands: drop http server flags from leave command
2017-10-18 00:08:45 +02:00
Frank Schroeder
c877b3001b
commands: drop http server flags from keyring command
2017-10-18 00:08:45 +02:00
Frank Schroeder
6032fe1407
commands: drop http server flags from force-leave command
2017-10-18 00:08:45 +02:00
Frank Schroeder
c10885f828
commands: run all tests in parallel (again)
2017-10-18 00:08:45 +02:00
Frank Schroeder
efab66e616
commands: cleanup help and synopsis.
...
* move Help and Synopsis to bottom
* make help and synopsis constants
* make sure help output is formatted
2017-10-18 00:08:45 +02:00
Frank Schroeder
a3a805d7b8
commands: do not run cmd tests in parallel
...
Package level parallelization is sufficient.
2017-10-18 00:08:45 +02:00
Frank Schroeder
a1a1a6971d
commands: add missing noTabs test
2017-10-18 00:08:45 +02:00
Frank Schroeder
a6d912adb4
commands: cleanup test names
2017-10-18 00:08:45 +02:00
Frank Schroeder
0e059248e7
commands: cleanup catalog list services tests
2017-10-18 00:08:45 +02:00
Frank Schroeder
915034da78
commands: cleanup catalog list nodes tests
2017-10-18 00:08:45 +02:00
Frank Schroeder
7d7281ab54
commands: simplify import names
2017-10-18 00:08:45 +02:00
Frank Schroeder
5a34eb1e52
commands: move operator subcommands to subdirs
2017-10-18 00:08:45 +02:00
Frank Schroeder
f09f6f2ec2
commands: move kv subcommands to subdirs
2017-10-18 00:08:45 +02:00
Frank Schroeder
0a9478b1f1
commands: move catalog subcommands to subdirs
2017-10-18 00:08:45 +02:00
Frank Schroeder
abd7c73627
commands: move snapshot subcommands to subdirs
2017-10-18 00:08:45 +02:00
Frank Schroeder
0fb4ea3a30
commands: simplify commands.go
2017-10-18 00:08:45 +02:00
Frank Schroeder
639bf6d8ec
commands: drop base command and utils
2017-10-18 00:08:45 +02:00
Frank Schroeder
a0b017d976
commands: move agent command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
127bd3d295
commands: move watch command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
3f7cfca203
add token and addr to http flags
2017-10-18 00:08:45 +02:00
Frank Schroeder
6998d82be5
commands: move snapshot save command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
3a16c93eab
commands: move snapshot restore command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
758199813b
commands: move version command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
776cffa33d
commands: move snapshot inspect command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
8724aece07
commands: move snapshot command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
602e896fb9
commands: move rtt command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
1ba816b0ae
commands: move reload command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
eb0640efd0
commands: move operator autopilot set command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
3dd4841b36
commands: move operator autopilot get command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
393bf50e71
commands: move operator autopilot command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
c024fcaaa5
commands: move operator list remove-peer command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
6850c8723f
commands: move operator raft list-peers command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
78aa062990
commands: move operator raft command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
fe84af448b
commands: move operator command to separate pkg
2017-10-18 00:08:45 +02:00
Preetha Appan
684362b1d0
Move monitor command to its own package
2017-10-18 00:08:45 +02:00
Preetha Appan
28490d6dcb
Fix import order
2017-10-18 00:08:45 +02:00
Preetha Appan
4fa3987bdc
Move members command to its own package
2017-10-18 00:08:45 +02:00
Preetha Appan
8d2e6f10c7
Move maint command to its own package
2017-10-18 00:08:45 +02:00
Preetha Appan
4b06c971d2
Move lock command to its own package
2017-10-18 00:08:45 +02:00
Preetha Appan
e1935590b1
Fix leave and validate commands to build help string in constructor
2017-10-18 00:08:45 +02:00
Preetha Appan
3c4363389e
Fix KV CLI subcommands to build help string in constructor
2017-10-18 00:08:45 +02:00
Preetha Appan
75ec8a29a3
Fix Keyring and keygen commands to build help string in constructor
2017-10-18 00:08:45 +02:00
Preetha Appan
b8dd539037
Fix join command to build help string in constructor
2017-10-18 00:08:45 +02:00
Preetha Appan
0e1ee70a5e
Fix up info and forceleave to build help string in constructor
2017-10-18 00:08:45 +02:00
Preetha Appan
95053297a9
s/initFlags/init/g
2017-10-18 00:08:45 +02:00
Preetha Appan
0cb1c92977
Fix exec and event commands to build help string in constructor
2017-10-18 00:08:45 +02:00
Preetha Appan
3bd4b738c0
Fix up catalog list services to build help string in constructor
2017-10-18 00:08:45 +02:00
Preetha Appan
8761232b2a
Fix up list datacenters to build help string in constructor
2017-10-18 00:08:45 +02:00
Preetha Appan
5473dbc5a4
Fix tests by calling initFlags for each test case to reset state.
2017-10-18 00:08:45 +02:00
Preetha Appan
75ecc6a86e
Better name for usage string and moving constant definition down
2017-10-18 00:08:45 +02:00
Preetha Appan
7898780106
Construct the help string in constructor using helper function.
2017-10-18 00:08:45 +02:00
Frank Schroeder
9825b6709a
commands: move catalog list services to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
33a4e997b4
commands: move catalog list nodes command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
cfd110395b
commands: move catalog list datacenters command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
bcf53b98d1
commands: move catalog command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
5d75449419
commands: move leave command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
ffb747a744
commands: move force-leave command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
41f13de7f5
commands: move keyring command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
b1dac89b95
commands: move kv put command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
e50c8d8f73
commands: move kv get command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
19f2dab416
commands: move kv import command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
3f0c61666d
commands: move export entry struct to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
215cda4775
commands: move kv export command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
926aa72246
commands: move kv delete command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
50f039191d
commands: move kv command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
bd825687dd
commands: move keygen command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
74cf5c1c2c
commands: move info command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
c1c883957f
commands: move rExec helper to bottom
2017-10-18 00:08:45 +02:00
Frank Schroeder
8c7f013ae1
commands: move exec command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
ad50e2a410
commands: move event command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
dc3c722b2c
commands: move join command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
8880ae714b
commands: move validate command to separate pkg
2017-10-18 00:08:45 +02:00
Frank Schroeder
e65bd2a268
commands: move flag handling into flags pkg
2017-10-18 00:08:45 +02:00
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
Ryan Slade
6f05ea91a3
Replace time.Now().Sub(x) with time.Since(x)
2017-10-17 20:38:24 +02:00
James Phillips
e9670761f9
Cleans up some drift between the OSS and Enterprise trees.
2017-10-11 15:53:07 -07:00
Frank Schroeder
db016a0c8d
command: show full help text on usage
2017-10-05 18:17:54 +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
7bab8d3eb7
command: drop deprecated 'configtest' command
...
'configtest' has been replaced with 'validate'
2017-10-05 17:22:34 +02:00
Kyle Havlovitz
dde743700f
Merge pull request #3535 from hashicorp/metric-docs
...
Update metric names and add a legacy config flag
2017-10-04 17:39:16 -07:00
Kyle Havlovitz
be04bfed34
Clean up subprocess handling and make shell use optional ( #3509 )
...
* Clean up handling of subprocesses and make using a shell optional
* Update docs for subprocess changes
* Fix tests for new subprocess behavior
* More cleanup of subprocesses
* Minor adjustments and cleanup for subprocess logic
* Makes the watch handler reload test use the new path.
* Adds check tests for new args path, and updates existing tests to use new path.
* Adds support for script args in Docker checks.
* Fixes the sanitize unit test.
* Adds panic for unknown watch type, and reverts back to Run().
* Adds shell option back to consul lock command.
* Adds shell option back to consul exec command.
* Adds shell back into consul watch command.
* Refactors signal forwarding and makes Windows-friendly.
* Adds a clarifying comment.
* Changes error wording to a warning.
* Scopes signals to interrupt and kill.
This avoids us trying to send SIGCHILD to the dead process.
* Adds an error for shell=false for consul exec.
* Adds notes about the deprecated script and handler fields.
* De-nests an if statement.
2017-10-04 16:48:00 -07:00
Kyle Havlovitz
0063516e5e
Update metric names and add a legacy config flag
2017-10-04 16:43:27 -07:00
Kyle Havlovitz
624be65d35
Split BaseCommand http config into a separate function
2017-09-29 12:26:14 -07:00
Kyle Havlovitz
8403a98ea7
Add base command option for hiding generated help for normal args
2017-09-28 18:43:28 -07:00
James Phillips
7f02f9dad2
Returns errors properly from the consul operator raft list-peers command.
2017-09-28 15:37:59 -07:00
Frank Schröder
707f8e329a
Metrics service prefix ( #3498 )
...
* metrics: replace statsite_prefix with service_prefix
The metrics prefix isn't statsite specific and is in fact used
for all metrics providers. Since we are deprecating fields
anyway we should fix this one as well.
Fixes #3293
* Updates docs and sorts telemetry section.
* Renames to "metrics_prefix" to disambiguate with Consul services.
* Updates the change log.
2017-09-26 17:49:55 -07:00
Preetha Appan
318d0232f7
Move Raft protocol version for list peers end point to server side, fix unit tests. This fixes #3449
2017-09-26 09:35:39 -05:00
preetapan
4ced57c1f8
Merge pull request #3494 from hashicorp/enforce_json_extension
...
Enforce json or hcl extension to Consul config files, updated unit tests
2017-09-25 17:30:33 -05:00
James Phillips
fcaa889116
Bumps default Raft protocol to version 3. ( #3477 )
...
* Changes default Raft protocol to 3.
* Changes numPeers() to report only voters.
This should have been there before, but it's more obvious that this
is incorrect now that we default the Raft protocol to 3, which puts
new servers in a read-only state while Autopilot waits for them to
become healthy.
* Fixes TestLeader_RollRaftServer.
* Fixes TestOperator_RaftRemovePeerByAddress.
* Fixes TestServer_*.
Relaxed the check for a given number of voter peers and instead do
a thorough check that all servers see each other in their Raft
configurations.
* Fixes TestACL_*.
These now just check for Raft replication to be set up, and don't
care about the number of voter peers.
* Fixes TestOperator_Raft_ListPeers.
* Fixes TestAutopilot_CleanupDeadServerPeriodic.
* Fixes TestCatalog_ListNodes_ConsistentRead_Fail.
* Fixes TestLeader_ChangeServerID and adjusts the conn pool to throw away
sockets when it sees io.EOF.
* Changes version to 1.0.0 in the options doc.
* Makes metrics test more deterministic with autopilot metrics possible.
2017-09-25 15:27:04 -07:00
Preetha Appan
1e8385df2c
Enforce json or hcl extension to Consul config files, updated unit tests
2017-09-25 17:17:12 -05:00
Frank Schröder
69a088ca85
New config parser, HCL support, multiple bind addrs ( #3480 )
...
* new config parser for agent
This patch implements a new config parser for the consul agent which
makes the following changes to the previous implementation:
* add HCL support
* all configuration fragments in tests and for default config are
expressed as HCL fragments
* HCL fragments can be provided on the command line so that they
can eventually replace the command line flags.
* HCL/JSON fragments are parsed into a temporary Config structure
which can be merged using reflection (all values are pointers).
The existing merge logic of overwrite for values and append
for slices has been preserved.
* A single builder process generates a typed runtime configuration
for the agent.
The new implementation is more strict and fails in the builder process
if no valid runtime configuration can be generated. Therefore,
additional validations in other parts of the code should be removed.
The builder also pre-computes all required network addresses so that no
address/port magic should be required where the configuration is used
and should therefore be removed.
* Upgrade github.com/hashicorp/hcl to support int64
* improve error messages
* fix directory permission test
* Fix rtt test
* Fix ForceLeave test
* Skip performance test for now until we know what to do
* Update github.com/hashicorp/memberlist to update log prefix
* Make memberlist use the default logger
* improve config error handling
* do not fail on non-existing data-dir
* experiment with non-uniform timeouts to get a handle on stalled leader elections
* Run tests for packages separately to eliminate the spurious port conflicts
* refactor private address detection and unify approach for ipv4 and ipv6.
Fixes #2825
* do not allow unix sockets for DNS
* improve bind and advertise addr error handling
* go through builder using test coverage
* minimal update to the docs
* more coverage tests fixed
* more tests
* fix makefile
* cleanup
* fix port conflicts with external port server 'porter'
* stop test server on error
* do not run api test that change global ENV concurrently with the other tests
* Run remaining api tests concurrently
* no need for retry with the port number service
* monkey patch race condition in go-sockaddr until we understand why that fails
* monkey patch hcl decoder race condidtion until we understand why that fails
* monkey patch spurious errors in strings.EqualFold from here
* add test for hcl decoder race condition. Run with go test -parallel 128
* Increase timeout again
* cleanup
* don't log port allocations by default
* use base command arg parsing to format help output properly
* handle -dc deprecation case in Build
* switch autopilot.max_trailing_logs to int
* remove duplicate test case
* remove unused methods
* remove comments about flag/config value inconsistencies
* switch got and want around since the error message was misleading.
* Removes a stray debug log.
* Removes a stray newline in imports.
* Fixes TestACL_Version8.
* Runs go fmt.
* Adds a default case for unknown address types.
* Reoders and reformats some imports.
* Adds some comments and fixes typos.
* Reorders imports.
* add unix socket support for dns later
* drop all deprecated flags and arguments
* fix wrong field name
* remove stray node-id file
* drop unnecessary patch section in test
* drop duplicate test
* add test for LeaveOnTerm and SkipLeaveOnInt in client mode
* drop "bla" and add clarifying comment for the test
* split up tests to support enterprise/non-enterprise tests
* drop raft multiplier and derive values during build phase
* sanitize runtime config reflectively and add test
* detect invalid config fields
* fix tests with invalid config fields
* use different values for wan sanitiziation test
* drop recursor in favor of recursors
* allow dns_config.udp_answer_limit to be zero
* make sure tests run on machines with multiple ips
* Fix failing tests in a few more places by providing a bind address in the test
* Gets rid of skipped TestAgent_CheckPerformanceSettings and adds case for builder.
* Add porter to server_test.go to make tests there less flaky
* go fmt
2017-09-25 11:40:42 -07:00
James Phillips
02a3f3f27b
Shows the segment name in the keyring API and command output.
2017-09-07 12:17:39 -07:00
James Phillips
cc6797dd75
Remaps servers to "<all>" only when listing multiple segments.
2017-09-05 13:50:38 -07:00
James Phillips
c629773b40
Makes the all segments query explict, and the default for `consul members`.
2017-09-05 12:22:20 -07:00
James Phillips
0b44abd9db
Simplifies members command to not fetch segments.
2017-09-05 11:46:44 -07:00
Kyle Havlovitz
1a36ca524f
Remove duplicate error message
2017-09-01 10:18:43 -07:00
Kyle Havlovitz
5cc4b32a5d
Organize segments for a cleaner split between enterprise and OSS
2017-08-31 17:39:46 -07:00
Kyle Havlovitz
b77a0aa932
Fix some inconsistencies with segment logic and comments
2017-08-30 17:43:46 -07:00
Kyle Havlovitz
d9fc2b3d75
Update coord display in ui to account for segments
2017-08-30 11:58:29 -07:00
Kyle Havlovitz
1c04f1537a
Add agent.segment interpolation to prepared queries
2017-08-30 11:58:29 -07:00
Kyle Havlovitz
107d7f6c5a
Add rpc_listener option to segment config
2017-08-30 11:58:29 -07:00
James Phillips
6a6eadd8c7
Adds open source side of network segments (feature is Enterprise-only).
2017-08-30 11:58:29 -07:00
Frank Schroeder
62c77d70f0
build: make tests independent of build tags
...
When the metadata server is scanning the agents for potential servers
it is parsing the version number which the agent provided when it
joined. This version number has to conform to a certain format, i.e.
'n.n.n'. Without this version number properly set some tests fail with
error messages that disguise the root cause.
The default version number is currently set to 'unknown' in
version/version.go which does not parse and triggers the tests to fail.
The work around is to use a build tag 'consul' which will use the
version number set in version_base.go instead which has the correct
format and is set to the current release version.
In addition, some parts of the code also require the version number to
be of a certain value. Setting it to '0.0.0' for example makes some
tests pass and others fail since they don't pass the semantic check.
When using go build/install/test one has to remember to use '-tags
consul' or tests will fail with non-obvious error messages.
Using build tags makes the build process more complex and error prone
since it prevents the use of the plain go toolchain and - at least in
its current form - introduces subtle build and test issues. We should
try to eliminate build tags for anything else but platform specific
code.
This patch removes all references to specific version numbers in the
code and tests and sets the default version to '9.9.9' which is
syntactically correct and passes the semantic check. This solves the
issue of running go build/install/test without tags for the OSS build.
2017-08-30 13:40:18 +02:00
wuxin
792a535c87
fix command/kv_import.go help text ( #3387 )
2017-08-10 09:17:37 +02:00
Frank Schröder
32d4eecc1a
agent: honor deprecated flags for retry-join-{ec2,azure,gce} ( #3384 )
2017-08-09 16:18:30 -07:00
Frank Schroeder
1d0bbfed9c
agent: move agent/consul/structs to agent/structs
2017-08-09 14:32:12 +02:00
Kyle Havlovitz
975ded2714
Add support for labels/filters from go-metrics
2017-08-08 01:45:10 -07:00
Frank Schroeder
68e8f3d0f7
agent: use github.com/hashicorp/go-discover
...
Replace the provider specific node discovery code
with go-discover to support AWS, Azure and GCE.
Fixes #3282
2017-08-01 11:41:43 +02:00
Preetha Appan
7b99f7ca08
Fix comments, and remove redundant TestConfig init from a couple of unit tests
2017-07-28 10:40:43 -05:00
Preetha Appan
28016190e0
Moved handling advertise address to readConfig and out of the agent's constructor, plus unit test fixes
2017-07-27 22:06:31 -05:00
Preetha Appan
398c1e450c
Move go-socketaddr template parsing into config package to make it happen before creating a new agent. Also removed redundant parsetemplate calls from agent.go.
2017-07-27 16:17:35 -05:00
James Phillips
9b70009ab8
command/lock: Add -child-exitcode, return 2 on child error ( #3329 )
...
* Exit 2 if -child-exit-code and the child returned with an error.
* There is no platform independent way to check the exact return code of
* the child, so on error always return 2.
* Closes #947
* Closes #1503
2017-07-26 22:09:19 -07:00
Kyle Havlovitz
5c54fd6a61
Add UpgradeVersionTag to autopilot get/set commands
2017-07-18 14:01:04 -07:00
James Phillips
788dd255a1
Adds new config to make script checks opt-in, updates documentation. ( #3284 )
2017-07-17 11:20:35 -07:00
James Phillips
3c5a36357c
Sort tags so output is deterministic.
2017-07-14 17:00:08 -07:00
Seth Vargo
a2ba7071e9
Add catalog CLI functions ( #3204 )
2017-07-14 12:45:08 -07:00
Frank Schroeder
162e3e6298
command: make TestExecCommandRun_CrossDC more resilient
...
Wait after WAN join that both members see each other.
2017-07-07 09:22:34 +02:00
James Phillips
f081e45a89
Removes unneeded shutdown channel in config reading tests.
2017-06-25 10:39:51 -07:00
James Phillips
4b85d33ef1
Fixes watch tracking during reloads and fixes address issue. ( #3189 )
...
This patch fixes watch registration through the config file and a broken log line when the watch registration fails. It also plumbs all the watch loading through a common function and tweaks the
unit test to create the watch before the reload.
2017-06-24 12:52:41 -07:00
James Phillips
2184136284
Changes host-based node IDs from opt-out to opt-in. ( #3187 )
2017-06-24 09:36:53 -07:00
Jared Wasinger
06c49f8345
Warn when attempting to bootstrap an even number of nodes ( #3158 )
...
* Warn when attempting to bootstrap an even number of nodes. Addresses #1282
* add more detailed warning for two server case
2017-06-21 15:36:55 -07:00
Frank Schroeder
f8e52c897e
agent: fix 'consul leave' shutdown race ( #2880 )
...
When the agent is triggered to shutdown via an external 'consul leave'
command delivered via the HTTP API then the client expects to receive a
response when the agent is down. This creates a race on when to shutdown
the agent itself like the RPC server, the checks and the state and the
external endpoints like DNS and HTTP.
This patch splits the shutdown process into two parts:
* shutdown the agent
* shutdown the endpoints (http and dns)
They can be executed multiple times, concurrently and in any order but
should be executed first agent, then endpoints to provide consistent
behavior across all use cases. Both calls have to be executed for a
proper shutdown.
This could be partially hidden in a single function but would introduce
some magic that happens behind the scenes which one has to know of but
isn't obvious.
Fixes #2880
2017-06-21 05:52:51 +02:00
James Phillips
c5f7144c62
Moves flag slice helper into configutil.
2017-06-20 12:52:35 -07:00
James Phillips
465f24298e
Moves config util helpers into their own package. ( #3165 )
2017-06-20 10:49:37 -07:00
Kyle Havlovitz
5e45aec642
Add an option to disable keyring file ( #3145 )
...
Also disables keyring file in dev mode.
2017-06-15 15:24:04 -07:00
Frank Schroeder
cd837b0b18
pkg refactor
...
command/agent/* -> agent/*
command/consul/* -> agent/consul/*
command/agent/command{,_test}.go -> command/agent{,_test}.go
command/base/command.go -> command/base.go
command/base/* -> command/*
commands.go -> command/commands.go
The script which did the refactor is:
(
cd $GOPATH/src/github.com/hashicorp/consul
git mv command/agent/command.go command/agent.go
git mv command/agent/command_test.go command/agent_test.go
git mv command/agent/flag_slice_value{,_test}.go command/
git mv command/agent .
git mv command/base/command.go command/base.go
git mv command/base/config_util{,_test}.go command/
git mv commands.go command/
git mv consul agent
rmdir command/base/
gsed -i -e 's|package agent|package command|' command/agent{,_test}.go
gsed -i -e 's|package agent|package command|' command/flag_slice_value{,_test}.go
gsed -i -e 's|package base|package command|' command/base.go command/config_util{,_test}.go
gsed -i -e 's|package main|package command|' command/commands.go
gsed -i -e 's|base.Command|BaseCommand|' command/commands.go
gsed -i -e 's|agent.Command|AgentCommand|' command/commands.go
gsed -i -e 's|\tCommand:|\tBaseCommand:|' command/commands.go
gsed -i -e 's|base\.||' command/commands.go
gsed -i -e 's|command\.||' command/commands.go
gsed -i -e 's|command|c|' main.go
gsed -i -e 's|range Commands|range command.Commands|' main.go
gsed -i -e 's|Commands: Commands|Commands: command.Commands|' main.go
gsed -i -e 's|base\.BoolValue|BoolValue|' command/operator_autopilot_set.go
gsed -i -e 's|base\.DurationValue|DurationValue|' command/operator_autopilot_set.go
gsed -i -e 's|base\.StringValue|StringValue|' command/operator_autopilot_set.go
gsed -i -e 's|base\.UintValue|UintValue|' command/operator_autopilot_set.go
gsed -i -e 's|\bCommand\b|BaseCommand|' command/base.go
gsed -i -e 's|BaseCommand Options|Command Options|' command/base.go
gsed -i -e 's|base.Command|BaseCommand|' command/*.go
gsed -i -e 's|c\.Command|c.BaseCommand|g' command/*.go
gsed -i -e 's|\tCommand:|\tBaseCommand:|' command/*_test.go
gsed -i -e 's|base\.||' command/*_test.go
gsed -i -e 's|\bCommand\b|AgentCommand|' command/agent{,_test}.go
gsed -i -e 's|cmd.AgentCommand|cmd.BaseCommand|' command/agent.go
gsed -i -e 's|cli.AgentCommand = new(Command)|cli.Command = new(AgentCommand)|' command/agent_test.go
gsed -i -e 's|exec.AgentCommand|exec.Command|' command/agent_test.go
gsed -i -e 's|exec.BaseCommand|exec.Command|' command/agent_test.go
gsed -i -e 's|NewTestAgent|agent.NewTestAgent|' command/agent_test.go
gsed -i -e 's|= TestConfig|= agent.TestConfig|' command/agent_test.go
gsed -i -e 's|: RetryJoin|: agent.RetryJoin|' command/agent_test.go
gsed -i -e 's|\.\./\.\./|../|' command/config_util_test.go
gsed -i -e 's|\bverifyUniqueListeners|VerifyUniqueListeners|' agent/config{,_test}.go command/agent.go
gsed -i -e 's|\bserfLANKeyring\b|SerfLANKeyring|g' agent/{agent,keyring,testagent}.go command/agent.go
gsed -i -e 's|\bserfWANKeyring\b|SerfWANKeyring|g' agent/{agent,keyring,testagent}.go command/agent.go
gsed -i -e 's|\bNewAgent\b|agent.New|g' command/agent{,_test}.go
gsed -i -e 's|\bNewAgent|New|' agent/{acl_test,agent,testagent}.go
gsed -i -e 's|\bAgent\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bBool\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bConfig\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bDefaultConfig\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bDevConfig\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bMergeConfig\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bReadConfigPaths\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bParseMetaPair\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bSerfLANKeyring\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|\bSerfWANKeyring\b|agent.&|g' command/agent{,_test}.go
gsed -i -e 's|circonus\.agent|circonus|g' command/agent{,_test}.go
gsed -i -e 's|logger\.agent|logger|g' command/agent{,_test}.go
gsed -i -e 's|metrics\.agent|metrics|g' command/agent{,_test}.go
gsed -i -e 's|// agent.Agent|// agent|' command/agent{,_test}.go
gsed -i -e 's|a\.agent\.Config|a.Config|' command/agent{,_test}.go
gsed -i -e 's|agent\.AppendSliceValue|AppendSliceValue|' command/{configtest,validate}.go
gsed -i -e 's|consul/consul|agent/consul|' GNUmakefile
gsed -i -e 's|\.\./test|../../test|' agent/consul/server_test.go
# fix imports
f=$(grep -rl 'github.com/hashicorp/consul/command/agent' * | grep '\.go')
gsed -i -e 's|github.com/hashicorp/consul/command/agent|github.com/hashicorp/consul/agent|' $f
goimports -w $f
f=$(grep -rl 'github.com/hashicorp/consul/consul' * | grep '\.go')
gsed -i -e 's|github.com/hashicorp/consul/consul|github.com/hashicorp/consul/agent/consul|' $f
goimports -w $f
goimports -w command/*.go main.go
)
2017-06-10 18:52:45 +02:00
Frank Schroeder
c21d0f2284
test: move discover tests
2017-06-10 18:52:45 +02:00
Frank Schroeder
0d9471d659
use 'c' as command receiver for simple commands
2017-06-10 18:52:45 +02:00
Frank Schroeder
a56d0cc95f
agent: move watch plans into agent
2017-06-10 18:52:45 +02:00
preetapan
f34730e3ee
Fixed regression with dns server start condition ( #3137 )
2017-06-09 15:50:06 -07:00
Seth Vargo
f4b36e8d90
Simplify
2017-06-09 14:55:04 -04:00
Seth Vargo
55161869a7
Update comment
2017-06-09 14:51:34 -04:00
Seth Vargo
b20902b7e2
Parse values given to ?passing in the API
...
This PR fixes GH-2212 in the most backwards-compatible way I can think
of. If the user does not pass a value for `?passing`, it's assumed to be
true, which mirrors the current behavior. However, if the user passes
any value for passing, that value is parsed as a bool using strconv.
It's important to note that this is technically a breaking change.
Previously using `?passing=false` would return only passing nodes. While
this behavior is obviously incorrect, it was the previous behavior. We
should call this out very clearly in the CHANGELOG.
2017-06-09 14:36:00 -04:00
James Phillips
a5cc8434ce
Opens up timing bound on flaky test.
2017-06-08 21:37:52 -07:00
James Phillips
a7c910be7c
Fixes HTTP header compare by including standard headers.
2017-06-08 14:10:46 -07:00
Frank Schroeder
17051c6870
agent: fix time.Duration parsing
...
The duration can be passed as a string, a float64 or a time.Duration
and this patch handles this properly.
2017-06-08 22:42:49 +02:00
Frank Schroeder
d284d061c9
agent: log events and exit code to the log file
...
This patch logs the signals, events, errors and the exit
code to the log file instead of printing it on the console.
This should provide a more complete picture for debugging.
2017-06-08 10:07:55 +02:00
Frank Schroeder
d98f0f7bab
log: use prefix [ERR] instead of [ERROR]
2017-06-08 09:50:47 +02:00
James Phillips
e32b42a222
Updates static assets to latest.
2017-06-07 21:16:59 -07:00
James Phillips
fd7c3c5cfa
Merge pull request #3121 from hashicorp/increase-graceful-timeout
...
agent: increase graceful shutdown timeout
2017-06-07 10:42:19 -07:00
Frank Schroeder
247e44e787
agent: increase graceful shutdown timeout
...
When triggering a leave through an INT/TERM signal the hard-coded
timeout of 5 seconds is too short to complete the leave successfully.
Therefore, the agent always times out.
This value should probably configurable.
2017-06-07 13:12:34 +02:00
Frank Schroeder
fc2ed18423
agent: log differnt shutdown stages
...
Log the different code paths during shutdown.
2017-06-07 13:11:04 +02:00
Frank Schröder
e206ab5cb6
agent: support custom header and method for http checks ( #3106 )
...
This patch adds support for custom headers and
method for HTTP checks.
Fixes #2474
Fixes #2657
Fixes #3106
2017-06-07 01:11:56 +02:00
Frank Schroeder
0133ab135a
test: refactor TestDecodeConfig test
...
This patch refactors the multiple tests for
DecodeConfig into a single table-driven test
that tests most fields individually.
2017-06-04 23:55:12 +02:00
Frank Schroeder
35f2377702
test: Fix TestAgent_Reload
...
This test was still referring to cmd.agent which has been removed.
2017-06-04 22:45:40 +02:00
James Phillips
037f72813b
Merge pull request #3105 from hashicorp/test-stability
...
Tweaks things for better test stability.
2017-06-03 10:09:12 -07:00
Frank Schroeder
92b2192b75
agent: fix graceful http server shutdown
2017-06-03 19:08:50 +02:00
Frank Schroeder
9779f7ef02
agent: cleanup run method
2017-06-03 19:08:50 +02:00
Frank Schroeder
b3e94082b0
agent: move registerWatches out of the run method
2017-06-03 19:08:50 +02:00
Frank Schroeder
5c08953449
agent: move telemetry out of the run method
2017-06-03 19:08:50 +02:00
Frank Schroeder
7c8b2be86d
agent: move update check out of the run method
2017-06-03 19:08:50 +02:00
Frank Schroeder
055347f7cd
agent: simplify signal handling
2017-06-03 19:08:50 +02:00
Frank Schroeder
6262d85dab
agent: move config reloading into the agent
2017-06-03 19:08:50 +02:00
Frank Schroeder
02ce45e5bb
agent: move parseMetaPair to config and export
2017-06-03 19:08:50 +02:00
Frank Schroeder
34c981ba55
agent: remove agent from command
...
Decouple command and agent a bit more.
2017-06-03 19:08:50 +02:00
Frank Schroeder
63d336e11c
agent: move retry join into agent
2017-06-03 19:08:50 +02:00
Frank Schroeder
488beeb208
agent: add GossipEncrypted function
...
Remove dead code and expose a GossipEncrypted() method
on the agent instead of accessing the internal delegate.
2017-06-03 19:08:50 +02:00
James Phillips
26677b4117
Cleans up an unrelated vet error.
2017-06-02 21:07:15 -07:00
James Phillips
3795f17b3b
Adds back the port shuffle on agent start retries.
2017-06-02 20:53:20 -07:00
Frank Schroeder
d314a539da
Do not recurse when the service address is a local cname
...
Fixes #2795
2017-06-01 18:20:31 +02:00
Frank Schroeder
7f18fe1a5b
agent: LastContact cannot be negative ( #3067 )
...
The X-Consul-LastContact header cannot be negative.
Fixes #3067
2017-06-01 18:20:12 +02:00
Frank Schroeder
dbe8009968
test: replace one more BoolFalse with agent.Bool()
2017-05-31 11:41:17 +02:00
Frank Schroeder
00117ed09b
test: we will not use dev mode for testing for now
2017-05-31 11:34:00 +02:00
Frank Schroeder
d14182c2de
test: stagger retry attempts of TestAgent.Start
2017-05-31 11:33:25 +02:00
Frank Schroeder
5224699341
test: make TestAgent setup reusable
...
Pick the random ports only once and try starting with them
a number of times so that the configuration can be re-used.
This is because the ports are written into the data files
and a subsequent agent reading the files needs to have the
same ports.
For the same reason we do not remove the data directory on
every attempt since this makes it impossible to re-read the
data files.
2017-05-31 11:32:31 +02:00
Frank Schroeder
b06c969deb
agent: use agent logger for consul client and deps
2017-05-31 11:05:02 +02:00
Frank Schroeder
2588f22be7
test: start secondary agents also via TestAgent
2017-05-31 10:56:19 +02:00
Frank Schroeder
4e6e9cb05a
agent: set tcpKeepAliveListener when there is no error
2017-05-31 10:24:32 +02:00
Frank Schroeder
cfe101ce49
test: use test name as log prefix
2017-05-31 09:54:09 +02:00
Frank Schroeder
c587561572
agent: simplify shutdown timeout logging
...
Note that we are currently timing out every time. This still
needs to be investigated.
2017-05-31 09:41:58 +02:00
Frank Schroeder
b220133785
agent: set proto to http since we are logging it now
2017-05-31 09:41:16 +02:00
Frank Schroeder
361b69bb30
test: Use Bool() instead of &BoolTrue/False since
2017-05-31 09:21:01 +02:00
Frank Schroeder
bb8a21c385
Address review comments
2017-05-31 01:05:21 +02:00
Frank Schroeder
78cd7a9087
agent: start HTTPS only if there is a cert and key
2017-05-31 00:29:29 +02:00
Frank Schroeder
45a9c2be8b
agent: refactor DNS and HTTP server
...
* refactor DNS server to be ready for multiple bind addresses
* drop tcpKeepAliveListener since it is default for the HTTP servers
* add startup timeout watcher for HTTP servers identical to DNS server
2017-05-31 00:29:29 +02:00
Frank Schroeder
35757e6c09
test: increase sleep time for test
2017-05-31 00:29:28 +02:00
Frank Schroeder
42ade30551
test: allow tests to control anti-entropy syncs
2017-05-31 00:29:28 +02:00
Frank Schroeder
5735b31ebc
test: run mock dns recursors on random ports
2017-05-31 00:29:28 +02:00
Frank Schroeder
d07f2a2542
test: skip tests that use cmd.Run until signal handling is fixed
2017-05-31 00:29:28 +02:00
Frank Schroeder
83d9fb77b7
test: add test for starting/stopping lots of agents
2017-05-31 00:29:28 +02:00
Frank Schroeder
dc1548af06
test: use UniqueID prefix for check tests to unify log output
2017-05-31 00:29:28 +02:00
Frank Schroeder
828f40054a
test: improve TestAgent
...
* don't use retry to try restarting the agent
this caused some issues when the startup would fail in
a separate go routine
* clear out the data directory on every retry since the ports
are stored in the raft data files
* set a unique id for every agent to allow for tracking of
concurrent output
2017-05-31 00:29:28 +02:00
Frank Schroeder
2b627b95dd
agent: fix logging
...
* use agent logger for consul/serf/raft/dns/agent/...
* support optional id for concurrent tests
2017-05-31 00:29:27 +02:00
Frank Schroeder
a433d13b20
test: call t.Fatal() from main go routine
2017-05-31 00:29:27 +02:00
Frank Schroeder
9d4529972e
dns: do not log socket close during shutdown
2017-05-31 00:29:27 +02:00
Frank Schroeder
ae5270a1e1
agent: print more useful shutdown message
2017-05-31 00:29:27 +02:00
Frank Schroeder
f53b90c16b
test: start sync after agent start
2017-05-31 00:29:27 +02:00
Frank Schroeder
bb3b099d60
test: add test name to output
2017-05-31 00:29:27 +02:00
Frank Schroeder
9fbac59f78
test: perform blocking query on agent
2017-05-31 00:29:27 +02:00
Frank Schroeder
36a2312639
test: parallelize dns test
2017-05-31 00:29:26 +02:00
Frank Schroeder
a2b29bea9f
test: fix failing test
2017-05-31 00:29:26 +02:00
Frank Schroeder
d0cb508382
test: remove output to stdout
2017-05-31 00:29:26 +02:00
Frank Schroeder
846fe5d630
test: use cli.NewMockUi instead of new(cli.MockUi)
...
Use the constructor function to prevent a nil panic
if there was no write to the output buffers.
2017-05-31 00:29:26 +02:00
Frank Schroeder
ad153f0e76
test: fix data race with endpoints
2017-05-31 00:29:26 +02:00
Frank Schroeder
449eceec11
agent: shutdown delegate if created
...
When the TestAgent shuts down a half-started agent
the delegate may not have been created at this point.
2017-05-31 00:29:26 +02:00
Frank Schroeder
6a40fe026e
agent: shutdown dns servers on error
2017-05-31 00:29:26 +02:00
Frank Schroeder
60a47addc7
test: Shutdown half-started agent before retrying
2017-05-31 00:29:25 +02:00
Frank Schroeder
d1ee368da9
test: fix data race in MockNotify
...
42 -> 32 data races
2017-05-31 00:29:25 +02:00
Frank Schroeder
dba20d02eb
test: run command tests in parallel
2017-05-31 00:29:25 +02:00
Frank Schroeder
48bff52614
test: address pull request comments
2017-05-31 00:29:25 +02:00
Frank Schroeder
b9ae289e34
test: remove ACL options from default test config
2017-05-31 00:29:25 +02:00
Frank Schroeder
e8651261f9
test: allocate ports in blocks of 10
2017-05-31 00:29:24 +02:00
Frank Schroeder
26474ce9c2
test: refactor command tests to use TestAgent
2017-05-31 00:29:24 +02:00
Frank Schroeder
98ac791577
test: retry a bit more often
2017-05-31 00:29:24 +02:00
Frank Schroeder
6e7cf8c07e
agent: rename *Config vars to 'cfg'
2017-05-31 00:29:24 +02:00
Frank Schroeder
193eec414f
agent: rename *Command vars to 'cmd'
...
'c' is ambigious and it conflicts with 'config'.
2017-05-31 00:29:24 +02:00
Frank Schroeder
5cdfd3789f
test: rename *Config vars to 'cfg'
...
'c' is ambigous since Command also uses this
and we want to use 'config' as a package name.
2017-05-31 00:29:24 +02:00
Frank Schroeder
f6cc2c3fbb
test: use less aggressive retry for agent startup
2017-05-31 00:29:24 +02:00
Frank Schroeder
51a56cb973
test: use system temp dir for TestAgent
2017-05-31 00:29:24 +02:00
Frank Schroeder
adb994a745
test: a.config -> a.Config
2017-05-31 00:29:23 +02:00
Frank Schroeder
d64a21d8dc
test: refactor httpTest with TestAgent
2017-05-31 00:29:23 +02:00
Frank Schroeder
a02485462e
test: run agent tests in parallel
...
This brings down the test run from 108 sec to 15 sec.
There is an occasional port conflict because of the nature
the next port is chosen. So far it seems rare enough to live
with it.
2017-05-31 00:29:23 +02:00
Frank Schroeder
b05a875119
agent: refactor tests for TestAgent
...
Refactored tests that use
* makeAgentXXX
* makeDNSServerXXX
* makeHTTPServerXXX
2017-05-31 00:29:23 +02:00
Frank Schroeder
2e829f8917
agent: add TestAgent to replace other mechanisms
...
TestAgent will replace the following mechanisms to
start test agents in subsequent requests:
* makeAgentXXX
* makeDNSServerXXX
* makeHTTPServerXXX
* testServer
* httpTest
2017-05-31 00:29:23 +02:00
Frank Schroeder
76fbe43f56
agent: simplify agent creation
...
This patch creates an agent with just a config struct
and allows for other fields to be set as required.
2017-05-31 00:29:23 +02:00
Frank Schroeder
8d9f5b9a64
agent: move http/dns endpoints into agent
...
Move the HTTP and DNS endpoints into the agent and control
their lifespan via the agent.
This removes the requirement to manage HTTP and DNS servers
indpendent of the agent since the agent is mostly useless
without an endpoint and the endpoints without the agent.
2017-05-31 00:29:23 +02:00
Frank Schroeder
b2670b2d59
agent: fix comment
2017-05-31 00:29:22 +02:00
Frank Schroeder
efeb7d8535
agent: simplify socket address helper
2017-05-31 00:29:22 +02:00
Frank Schroeder
ab1a94977d
agent: replace goto with local function
2017-05-31 00:29:22 +02:00
Frank Schroeder
242ad8bb3a
agent: inline uiDir field
...
uiDir can be inlined as agent.config.UIDir
2017-05-31 00:29:22 +02:00
Frank Schroeder
bc657da280
agent: drop logOutput parameter
...
agent.logOutput is identical to logOutput
2017-05-31 00:29:22 +02:00
Frank Schroeder
3a9f867b9b
agent: drop config argument
...
agent.config and config are identical.
2017-05-31 00:29:22 +02:00
Kyle Havlovitz
e196576c07
Add settings for upshifting to encrypted gossip ( #3079 )
2017-05-30 08:51:37 -07:00
James Phillips
8ea5a3f791
Removes obsolete agent API documentation.
2017-05-26 10:24:45 -07:00
Frank Schroeder
dd7198e7de
doc: update comments and run goimports
2017-05-24 10:20:28 +02:00
Michael Leow
ec81c18006
agent: add RetryJoin support for Azure
...
Pull #2978 from leowmjw/develop
Resolves #2978
2017-05-24 10:15:38 +02:00
James Phillips
759e93122f
Merge pull request #2901 from deckarep/consul-ensure-exit-non-zero-on-timeout
...
Ensure to exit with a non-zero status code when a timeout and all jobs are not completed.
2017-05-18 10:25:50 -04:00
Frank Schroeder
9f4286b1ce
agent: support custom check id and name
...
This patch adds support for a custom check id and name when
registering a service.
This is achieved by adding a CheckID and a Name field to the
CheckType structure which is used to register checks with a
service and when returning health check definitions.
CheckDefinition is a superset of CheckType which duplicates
some of the fields of CheckType. This patch decouples these
two structures by removing the embedding of CheckType in
CheckDefinition.
Fixes #3047
2017-05-17 20:17:08 +02:00
Frank Schroeder
69125e3a58
agent: move isAddrANY to separate package
2017-05-15 22:44:43 +02:00
Frank Schroeder
d6eb1d434f
agent: Replace client/server with delegate interface
...
This patch adds a new internal interface clientServer
which defines the common methods of consul.Client and
consul.Server. This allows to replace the following
code
if a.server != nil {
a.server.do()
} else {
a.client.do()
}
with
a.delegate.do()
In case a specific type is required a type check can
be performed:
if srv, ok := a.delegate.(*consul.Server); ok {
srv.doSrv()
}
2017-05-15 18:35:38 +02:00
Frank Schroeder
e350b7aafa
agent: allow "::" as IPv6 bind address
...
Fixes #2285
2017-05-15 17:51:33 +02:00
Frank Schroeder
eedf0f3ac5
test: add helper for ioutil.TempDir/TempFile
...
This creates a simplified helper for temporary directories and files.
All path names are prefixed with the name of the current test.
All files and directories are stored either in /tmp/consul-test
or /tmp if the former could not be created.
Using the system temp dir breaks some tests on macOS where the unix
socket path becomes too long.
2017-05-12 22:12:47 +02:00
Frank Schroeder
29f9b9b22a
test: lower wait time for some tests
2017-05-12 22:12:47 +02:00
Frank Schroeder
10622b6995
test: suppress osx firewall warning
...
macOS displays a firewall warning dialog when an unsigned
application is trying to bind to a non-loopback address.
This patch updates some test configurations to ensure binding
to a loopback address where possible to suppress these warnings.
2017-05-12 22:12:47 +02:00
Frank Schroeder
15590a8446
test: include test name in temp file/dir
...
This helps identifying hanging tests by looking
at the process list.
2017-05-12 22:12:47 +02:00
Frank Schroeder
49c71f923b
test: drop unused code
2017-05-11 17:04:36 +02:00
Frank Schroeder
3e4dc6e133
agent: use bind address as src unless INADDR_ANY
...
Use the bind address as source address for outgoing
RPC connections unless it is INADDR_ANY.
The current code uses the advertise address which will
not work in certain environments where the advertise
address is not routable in the network of the agent,
e.g. NAT environment, container... After all, that is
the purpose of the advertise address.
See #2822
2017-05-11 00:34:14 +02:00
Frank Schroeder
27e951d213
agent: use helper for INADDR_ANY
2017-05-11 00:34:14 +02:00
Kyle Havlovitz
e4af6583f5
Add a path for transitioning to TLS on an existing cluster ( #3001 )
...
Fixes #1705
2017-05-10 14:25:48 -07:00
Frank Schroeder
e13f3446ac
agent: drop atlas/scada code
2017-05-10 23:06:36 +02:00
Frank Schroeder
091bea4922
test: refactor TestAgent_Leave_ACLDeny to use only one server
2017-05-10 17:42:38 +02:00
Frank Schroeder
9b161bdee3
test: use isPermissionDenied
2017-05-10 17:42:38 +02:00
Frank Schroeder
66c6362a70
test: replace blocks and comments with sub-tests
2017-05-10 17:42:38 +02:00
Frank Schroeder
b6eccb51c7
test: inline request body encoding
2017-05-10 17:42:38 +02:00
Frank Schroeder
4174cc283b
test: add helper for permission denied check
2017-05-10 17:42:38 +02:00
Frank Schroeder
6073c53089
test: drop error check on http.NewRequest
...
Most URLs are static so the error check is redundant.
The subsequent test wouldn't work if the url is wrong.
2017-05-10 17:42:38 +02:00
Frank Schroeder
c1cbecfe18
agent: Disallow :: or [::] as advertise or advertise-wan address
2017-05-09 17:56:16 +02:00
Frank Schroeder
8821793358
agent: Disallow :: and [::] as service address
2017-05-09 17:56:15 +02:00
Frank Schroeder
66e7b414b0
agent: Disallow 0.0.0.0 as advertise or advertise-wan address
...
Fixes #2961
2017-05-09 17:56:15 +02:00
Frank Schroeder
5b48fec0dd
agent: Disallow 0.0.0.0 as service address
...
Fixes #2961
2017-05-09 17:56:15 +02:00
James Phillips
6103198732
Tweaks some tests that were having a hard time in Travis CI and
...
bumps up the default retry time.
2017-05-09 06:48:26 -07:00
James Phillips
518fae04e4
Updates built-in static assets for web UI.
2017-05-08 19:50:54 -07:00
Frank Schroeder
5c6be1cc7a
test: Fix badly formatted retry.Run tests
2017-05-05 17:07:03 +02:00
Frank Schroeder
17f6ecdd12
test: convert remaining WaitForResult tests
2017-05-05 17:07:03 +02:00
James Phillips
7007c89870
retry: Removes the description parameter.
2017-05-05 17:07:03 +02:00
James Phillips
b9fb20d0cf
test: Turns off ACLs for catalog and health WAN translation tests.
...
Since this was doing registration to a foreign DC, it needs extra time
for the route to the ACL datacenter to be set up. ACLs aren't part of
this test, so by disabling them we make this more reliable and converge
faster than if we had added a retry.
2017-05-05 17:07:03 +02:00
James Phillips
c77663fe65
test: Moves a variable closer to where it's used.
2017-05-05 17:07:03 +02:00
James Phillips
2e512d6e6d
test: Turns down server health interval for faster convergence.
...
This fixes the autopilot tests.
2017-05-05 17:07:02 +02:00
Frank Schroeder
9435cadeee
test: Refactor WaitForResult tests with retry
...
Refactor tests that use testutil.WaitForResult to use retry.
Since this requires refactoring the test functions in general this patch
also shows the use of the github.com/pascaldekloe/goe/verify library
which provides a good mechanism for comparing nested data structures.
Instead of just converting the tests from testutil.WaitForResult to
retry the tests that performing a nested comparison of data structures
are converted to the verify library at the same time.
2017-05-05 17:07:02 +02:00
Frank Schroeder
b1e97baacb
Fix imports
2017-05-05 17:07:00 +02:00
Frank Schroeder
f894a4cb7d
Use bind address as source for outgoing connections ( #2822 )
...
This patch configures consul to use the bind address as the
source address for outgoing connections.
Fixes #2822
2017-05-04 01:41:47 +02:00
Frank Schroeder
c772cecaab
Do not modify config after creation II
...
Move code for finding the advertise address via a
template into consulConfig() so that the config
object is not modified after creation.
2017-05-04 01:41:47 +02:00
Frank Schroeder
6b96c9ff91
Do not modify config after creation
...
Make sure the RPCAdvertise address is always set
so that the configuration does not have to be modified
after creation.
2017-05-04 01:41:47 +02:00
Frank Schroeder
8213222931
Move GCE discovery code to command/agent/config_gce.go
2017-05-04 01:41:47 +02:00
Frank Schroeder
39fae5eac2
Move AWS discovery code to command/agent/config_aws.go
2017-05-04 01:41:47 +02:00
Frank Schroeder
3ea54c48a8
Move verifyUniqueListeners to command/agent/config.go
2017-05-04 01:41:47 +02:00
Frank Schroeder
a0b98948d8
Cleanup agent config
2017-05-04 01:41:47 +02:00
Damon Buckwalter
e9d6f5b3d0
Itty bitty typo
2017-05-02 16:08:07 -07:00
James Phillips
a3e1e8e7e5
Updates static assets to pick up #2712 .
2017-05-02 10:52:06 -07:00
Kyle Havlovitz
b5ed2ba536
Add separate option for verifying incoming HTTPS traffic ( #2974 )
...
* Add separate option for verifying incoming HTTPS traffic
2017-04-28 16:15:55 -07:00
Frank Schroeder
1973e66c07
api: Return empty list instead of nil
2017-04-28 15:00:08 -07:00
Frank Schroeder
2bf668b658
api: Add ServiceTags to Health state endpoint ( #153 )
...
This patch adds the ServiceTags to the /v1/health/state/<state>
endpoint.
Fixes #153
2017-04-28 15:00:08 -07:00
Frank Schroeder
7f64689828
Faster dev server startup
...
This patch reduces the timeouts for the development
server so that it starts up almost instantly.
2017-04-28 14:43:44 -07:00
Frank Schroeder
5bbef3b47e
Revert "test: Run command/agent tests in parallel"
...
This reverts commit 17be40a73310e1a0d2461b175f6214381ac41039.
2017-04-27 14:39:04 -07:00
Frank Schroeder
9305c706e0
test: Do not run RetryJoin tests in parallel
...
I am suspecting port conflicts with the agents
that are started. This needs further investigation.
2017-04-27 14:39:04 -07:00
Frank Schroeder
9a2063bf6f
test: Speedup session renew tests
2017-04-27 10:34:30 -07:00
Frank Schroeder
9db74f5a0e
test: Speedup Retry*Join tests
2017-04-27 10:34:30 -07:00
Frank Schroeder
58e0b5cb70
test: Run command/agent tests in parallel
2017-04-27 10:34:30 -07:00
Kyle Havlovitz
42cf797ad9
Add TLS cipher suite options and CA path support ( #2963 )
...
This patch adds options to configure the available
TLS cipher suites and adds support for a path
for multiple CA certificates.
Fixes #2959
2017-04-27 01:29:39 -07:00
James Phillips
47640538d4
Updates compiled static assets.
2017-04-25 13:54:03 -07:00
Frank Schroeder
9e2332f6a1
golint: Fix existing comments
...
This needs more work.
2017-04-25 09:26:13 -07:00
Frank Schroeder
9de4555c0c
golint: Untangle if blocks with return in else
2017-04-25 09:26:13 -07:00
Frank Schroeder
f50d6871f9
golint: No stutter
2017-04-25 09:26:13 -07:00
Frank Schroeder
8c7bb7b65a
golint: Rename fields and structs
2017-04-25 09:26:13 -07:00
Frank Schroeder
f4a56d8a44
golint: Replace a += 1 with a++
2017-04-25 09:26:13 -07:00
Frank Schroeder
c7f367af56
golint: Consistent receiver name
...
Ensure the receiver name is consistent
2017-04-25 09:26:13 -07:00
Frank Schroeder
ebdb73d8f2
golint: Drop the unused value from range
...
for i, _ := range foo -> for i := range foo
2017-04-25 09:26:13 -07:00
Frank Schroeder
9f8f258d4d
Remove duplicate constants
...
This patch removes duplicate internal copies of constants in the structs
package which are also defined in the api package. The api.KVOp type
with all its values for the TXN endpoint and the api.HealthXXX constants
are now used throughout the codebase.
This resulted in some circular dependencies in the testutil package
which have been resolved by copying code and constants and moving the
WaitForLeader function into a separate testrpc package.
2017-04-20 09:54:49 -07:00
Frank Schroeder
58c3b1ff38
Use fmt.Fprint/Fprintf/Fprintln
...
Used the following rewrite rules:
gofmt -w -r 'resp.Write([]byte(fmt.Sprintf(a, b, c, d))) -> fmt.Fprintf(resp, a, b, c, d)' *.go
gofmt -w -r 'resp.Write([]byte(fmt.Sprintf(a, b, c))) -> fmt.Fprintf(resp, a, b, c)' *.go
gofmt -w -r 'resp.Write([]byte(fmt.Sprintf(a, b))) -> fmt.Fprintf(resp, a, b)' *.go
gofmt -w -r 'resp.Write([]byte(fmt.Sprintf(a))) -> fmt.Fprint(resp, a)' *.go
gofmt -w -r 'resp.Write([]byte(a + "\n")) -> fmt.Fprintln(resp, a)' *.go
gofmt -w -r 'resp.Write([]byte(a)) -> fmt.Fprint(resp, a)' *.go
2017-04-20 09:02:59 -07:00
Kyle Havlovitz
72ee7c2501
Show raft protocol in list-peers command ( #2929 )
2017-04-19 15:01:40 -07:00
Kyle Havlovitz
e97574fc4c
Fix help text on client cert/key options
2017-04-18 16:30:20 -07:00
mckennajones
1695506b1d
Added check to see if ui and ui-dir flags are both specified
2017-04-17 17:25:57 -07:00
Kyle Havlovitz
095b441ed4
Fix help text for -ca-path
2017-04-14 14:44:45 -07:00
Kyle Havlovitz
cdd8b5b880
Add tls client options to api/cli
2017-04-14 13:37:29 -07:00
James Phillips
1129827f91
Merge pull request #2842 from vaLski/supress_sigpipe_logging
...
Supress signal logging on SIGPIPE. Should address #2768
2017-04-13 16:52:29 -07:00
James Phillips
1f40dc83e3
Updates static assets to pick up #2899 .
2017-04-13 14:40:16 -07:00
James Phillips
86a69e8207
Merge pull request #2904 from hashicorp/non-host-id
...
Adds a new -disable-host-node-id option to help when testing with containers.
2017-04-13 10:49:05 -07:00
James Phillips
20bf47d2b4
Adds a new -disable-host-node-id option to help when testing with containers.
...
Fixes #2877 .
2017-04-12 22:07:18 -07:00
Ralph Caraveo
8295809d79
Ensure to exit with a non-zero status code when a timeout occurs and we don't complete all the jobs.
2017-04-12 17:51:16 -07:00
Ralph Caraveo
c06b72ba17
Fixed spelling for consul kv get command --help comments.
2017-04-12 17:31:57 -07:00
Alex Dadgar
13f026dec4
Hash host ID so its stable and well distributed
...
This PR takes the host ID and runs it through a hash so that it is well
distributed. This makes it so that machines that report similar host IDs
are easily distinguished.
Instances of similar IDs occur on EC2 where the ID is prefixed and on
motherboards created in the same batch.
2017-04-10 11:57:24 -07:00
James Phillips
c7f7e969d7
Merge pull request #2854 from hashicorp/remote-exec
...
Changes `disable_remote_exec` default to true so remote exec is opt-in.
2017-03-30 10:29:09 -07:00
Kyle Havlovitz
a2058d23ef
Add CLI/API endpoints for removing peer by ID
2017-03-30 10:13:32 -07:00
James Phillips
ac90110396
Changes `disable_remote_exec` default to true so remote exec is opt-in.
2017-03-30 09:43:32 -07:00
James Phillips
4259ecd8bc
Disables agent-level enforcement on Consul agents unless acl_datacenter is set.
2017-03-29 12:24:42 -07:00
vaLentin chernoZemski
8aee2b805a
Supress signal logging on SIGPIPE. Should address #2768
...
When consul-template is communicating with consul and the job is done, consul thread receives SIGPIPE.
This cause the logs to be filled "Caught signal: broken pipe" and they does not bring any usefull info with them.
Skipping those.
2017-03-29 09:46:58 +03:00
James Phillips
424d70ba5d
Cleans up a stray mark and fixes unit tests.
...
Ended up removing the leader_test.go server address change test as part
of this. The join was failing becase we were using a new node name with
the new logic here, but realized this was hitting some of the memberlist
conflict logic and not working as we expected. We need some additional
work to fully support address changes, so removed the test for now.
2017-03-27 01:28:54 -07:00
James Phillips
dce84379b7
Fixes up some broken unit tests.
2017-03-24 17:35:07 -07:00
James Phillips
f2211d2489
Keeps the service and check tokens around for deregistration.
...
We fixed a few related issues while we were in here. We now only let
services register checks with a matching token, and we also close out
service and check delete operations if the catalog deregister claims
it doesn't know about the ID of the service or check being deleted.
2017-03-24 17:15:20 -07:00
James Phillips
c553e1d93a
Changes verson 8 ACLs to opt-out.
2017-03-24 12:12:24 -07:00
Seth Vargo
2efa3bdff8
Use new APIs
2017-03-23 18:48:13 -04:00
Seth Vargo
78bd562f41
Re-add RPC parsing
...
This makes the upgrade path a bit nicer, since people will likely have
older configurations. This prints out a warning instead of just failing
if the old rpc addr or ports definition is in the config.
2017-03-23 17:10:14 -04:00
James Phillips
ab2b615265
Renames some operator unit tests.
2017-03-22 19:26:43 -07:00
Kyle Havlovitz
37ea20cb44
Add advanced autopilot features
2017-03-22 15:25:16 -07:00
James Phillips
36a0abe10f
Merge pull request #2801 from hashicorp/spoken-hub-oss
...
Adds support for WAN soft fail and join flooding.
2017-03-20 16:24:07 -07:00
James Phillips
964a5e2b28
Updates to latest built-in static assets.
2017-03-20 10:18:47 -07:00
James Phillips
43d24b3ba0
Fixes RTT command to only compare coordinates in the same area.
2017-03-16 16:42:19 -07:00
James Phillips
28f8aa5559
Removes remoteConsuls in favor of the new router.
...
This has the next wave of RTT integration with the router and also
factors some common RTT-related helpers out to lib. While we were
in here we also got rid of the coordinate disable config so we don't
need to deal with the complexity in the router (there was never a
user-visible way to disable coordinates).
2017-03-16 16:42:19 -07:00
Kyle Havlovitz
006c6b93b3
Merge pull request #2802 from hashicorp/f-autopilot-improvements
...
Fix an issue with changing server ID when re-joining
2017-03-15 20:26:16 -07:00
Kyle Havlovitz
bc0494e396
Reorganized cluster health check loop and logic
2017-03-15 18:27:17 -07:00
Kyle Havlovitz
c40279e012
Fix an issue with changing server IDs and add a few UX enhancements around autopilot features
2017-03-15 16:09:55 -07:00
James Phillips
9b43b31900
Forces user-supplied node IDs to lower case for consistency.
2017-03-13 19:51:56 -07:00
Kyle Havlovitz
b15d67bfac
Use defers for WaitGroup and Ticker stop
2017-03-10 12:29:03 -08:00
Kyle Havlovitz
8130f9b1c1
Cleaned up and reorganized some autopilot-related code
2017-03-09 18:21:40 -08:00
Kyle Havlovitz
a7de1e2a3b
Move RaftStats to Status endpoint
2017-03-07 13:58:06 -08:00
Kyle Havlovitz
0606133b75
Merge branch 'master' into f-autopilot-2
2017-03-06 16:02:19 -08:00
Kyle Havlovitz
8bcab6c6d7
Add autopilot server health tracking
...
This adds two goroutines to perform autopilot tasks on the leader - one
to monitor the health of servers and another to periodically clean up
dead servers with a limit on removal count. Also adds a new http endpoint,
`/v1/operator/autopilot/health`, for querying this information through an
operator RPC endpoint.
2017-03-06 16:00:10 -08:00
Sean Chittenden
c6feba6ab7
Revert "Change `ClientAddr` to default to `BindAddr` when not present."
2017-03-06 13:32:43 -08:00
Sean Chittenden
e1ced1de30
Change `ClientAddr` to default to `BindAddr` when not present.
...
With this change, it is now possible to only specify the `-bind` or
`bind_addr` attributes and get a functioning consul agent.
2017-03-04 20:52:52 -08:00
James Phillips
aba567273e
Merge pull request #2690 from zeroae/f-simple-rfc2782
...
RFC 2782 support with optional .service tag
2017-03-02 14:49:36 -08:00
Kyle Havlovitz
44f0b08db7
Merge pull request #2771 from hashicorp/f-autopilot
...
Autopilot dead server cleanup, config, and raft version compatibility
2017-02-28 15:04:16 -08:00
Kyle Havlovitz
77785778bf
Merge pull request #2774 from hashicorp/f-cli-deprecation-docs
...
Add CLI RPC deprecation section to docs
2017-02-28 14:59:48 -08:00
Kyle Havlovitz
23c492a74e
Rename DeadServerCleanup and make wording adjustments
2017-02-28 14:45:21 -08:00
Kyle Havlovitz
01fe3fb399
Fix up command and api tests
2017-02-28 14:12:55 -08:00
Kyle Havlovitz
3b67c50c1d
Remove the RPC client interface and update docs
2017-02-28 13:41:09 -08:00
Sean Chittenden
63402c6eaa
Follow the lead in 6fc901a8f3
and set the default `DisplayName` to `Consul`
2017-02-26 12:26:14 -08:00
Kyle Havlovitz
953baed324
Convert agent command to use base.Command
2017-02-24 18:11:05 -08:00
Kyle Havlovitz
f7b6d776f4
Add cli docs and minor test/comment tweaks
2017-02-24 16:55:44 -08:00
Kyle Havlovitz
1e24ec51a7
Use BoolValue for flag type
2017-02-24 16:00:39 -08:00
Kyle Havlovitz
459e72b011
Merge branch 'master' into f-autopilot
2017-02-24 15:55:18 -08:00
Kyle Havlovitz
6168911200
Added operator autopilot subcommands
2017-02-24 15:54:49 -08:00
Kyle Havlovitz
c9ddee1a79
Add CAS capability to autopilot config endpoint
2017-02-24 13:08:49 -08:00
James Phillips
e92def21e1
Exports config functions from base.
2017-02-23 21:08:43 -08:00
James Phillips
b59d136820
Exports visit function from base.
2017-02-23 21:01:06 -08:00
Kyle Havlovitz
56e22a719f
Add state store table and endpoints for autopilot
2017-02-23 20:32:13 -08:00
Kyle Havlovitz
ae9fce0ae0
Move raft_protocol out of autopilot config
2017-02-23 13:08:40 -08:00
Kyle Havlovitz
f9588b8d7f
Add raft version 2/3 compatibility
2017-02-22 12:53:32 -08:00
Kyle Havlovitz
3f05576cc8
Condense raft subcommand into one doc page
2017-02-16 11:44:14 -08:00
Kyle Havlovitz
2b12a43840
Split operator raft command into subcommands
2017-02-15 13:53:34 -08:00
Jeff Mitchell
15314c96d0
Update TestHTTPServer_UnixSocket with DialContext
2017-02-10 21:29:42 -05:00
Kyle Havlovitz
0262f009dd
Merge pull request #2732 from hashicorp/f-validate-command
...
Deprecate configtest and add validate command
2017-02-10 20:34:09 -05:00
Kyle Havlovitz
9fc55909dc
Add -quiet flag to validate
2017-02-10 20:14:22 -05:00
Kyle Havlovitz
35d99a81ac
Update docs and give better error for unknown client scheme
2017-02-10 19:55:54 -05:00
Kyle Havlovitz
27ee6f974d
Update website docs for validate command
2017-02-10 19:38:38 -05:00
Kyle Havlovitz
fcb2594fda
Deprecate the configtest command and add the validate command
2017-02-10 19:21:51 -05:00
Kyle Havlovitz
bdb58adb80
Allow internal watches to use https and unix sockets
2017-02-10 18:38:39 -05:00
Kyle Havlovitz
91e960832f
Allow prefixing -http-addr with http/https schemes
2017-02-10 18:25:46 -05:00
Kyle Havlovitz
6692061761
Remove cli rpc functions
2017-02-10 13:57:02 -05:00
Kyle Havlovitz
854c09021e
Formatting fix in members output
2017-02-10 13:02:37 -05:00
Kyle Havlovitz
955d1b983d
Merge branch 'master' into f-cli-rework-3
2017-02-09 21:24:27 -05:00
Kyle Havlovitz
a64c5e69a3
Cleanup and formatting adjustments
2017-02-09 20:49:17 -05:00
Kyle Havlovitz
65ad17a27d
Convert watch command to use base.Command
2017-02-09 20:36:01 -05:00
Kyle Havlovitz
1767a4dcb0
Add missing doc page for version command
2017-02-09 20:08:25 -05:00
Kyle Havlovitz
50f6c6a2bb
Convert snapshot command to use base.Command
2017-02-09 20:00:38 -05:00
Kyle Havlovitz
bcdbc9175c
Convert rtt command to use base.Command
2017-02-09 19:38:06 -05:00
Kyle Havlovitz
520edc2e49
Convert reload command to use base.Command
2017-02-09 19:32:22 -05:00
Kyle Havlovitz
1a26907d01
Convert operator command to use base.Command
2017-02-09 18:19:34 -05:00
Kyle Havlovitz
c78f62b83d
Convert monitor command to use base.Command
2017-02-09 17:31:52 -05:00
Kyle Havlovitz
7d72864531
Convert members command to use base.Command
2017-02-09 17:12:47 -05:00
Kyle Havlovitz
4be635d3a1
Convert maint command to use base.Command
2017-02-09 17:06:19 -05:00
Kyle Havlovitz
e385af8eeb
Convert leave command to use base.Command
2017-02-09 16:48:12 -05:00
Kyle Havlovitz
2a82804c0c
Make join exit non-zero if no nodes were joined
2017-02-08 19:45:13 -05:00
Kyle Havlovitz
b35acaac33
Convert kv commands to use base.Command
2017-02-08 19:26:24 -05:00
Kyle Havlovitz
d3b24d2d12
Convert keyring command to use base.Command
2017-02-08 18:25:47 -05:00
Kyle Havlovitz
3a18373db7
Convert keygen command to use base.Command
2017-02-08 17:19:17 -05:00
Kyle Havlovitz
9e156286c7
Convert join command to use base.Command
2017-02-08 17:14:02 -05:00
Kyle Havlovitz
a69f2a0faf
Convert info command to use base.Command
2017-02-08 16:58:04 -05:00
Kyle Havlovitz
89771b6075
Convert exec command to use base.Command
2017-02-08 16:57:46 -05:00
Kyle Havlovitz
6cc2299123
Convert event command to use base.Command
2017-02-08 16:56:58 -05:00
Kyle Havlovitz
0f20f06021
Small tweaks to base command
2017-02-07 20:56:49 -05:00
Kyle Havlovitz
2b02fb575b
Add utility types to enable checking for unset flags
2017-02-07 20:14:41 -05:00
Kyle Havlovitz
9e38fc1c84
Move command Meta to base.Command and split http options
2017-02-07 19:16:41 -05:00
Kyle Havlovitz
e30b9ae5ba
Fix the check for displaying the command options
2017-02-06 23:45:58 -05:00
Kyle Havlovitz
0f796f0cba
Convert configtest and force-leave commands to use Meta
2017-02-06 20:50:51 -05:00
Kyle Havlovitz
d6a5b7e63c
Merge branch 'master' into f-cli-rework
2017-02-06 13:46:44 -05:00
Kyle Havlovitz
4fc3bd3abf
Added -relay-factor param to keyring operations
2017-02-01 21:53:29 -05:00
Kyle Havlovitz
f48cd78bc5
Merge pull request #2699 from hashicorp/f-tls-min-version
...
Add TLSMinVersion to config options
2017-02-01 16:31:53 -05:00
Kyle Havlovitz
086975ac0a
Add TLSMinVersion to config options
2017-02-01 16:20:33 -05:00
Sean Chittenden
9e2557c53c
Re-cherry-pick 71d807f607589f2eb4fea4e83e3876d122c8afc0 and e2320d69b6b155d8223758415aabafc60a0e9d3b.
2017-02-01 10:27:04 -08:00
James Phillips
691aec917e
Fixes issue with missing CNAME for services with non-IP addresses set in SRV responses.
2017-01-31 20:57:50 -08:00
Patrick Sodré
5b68178dc1
Simple RFC 2782 support with optional .service tag
...
Add support for SRV queries of names matching:
_<service>._<protocol>.[.service][.datacenter]<.domain>
2017-01-30 19:46:02 -05:00
James Phillips
682d65b4bc
Redacts AWS join credientials from /v1/agent/self output.
2017-01-25 21:01:07 -08:00
James Phillips
09dd23e14a
Updates a comment to point to new blockingQuery function.
2017-01-25 09:58:22 -08:00
James Phillips
6e58d7b80d
Pulls in latest static asset updates.
2017-01-25 09:57:56 -08:00
Kyle Havlovitz
a09b6ea8b4
Fix test import
2017-01-23 21:34:01 -05:00
Kyle Havlovitz
cc271aa436
Merge branch 'master' into f-prepared-query-nodemeta
2017-01-23 20:17:48 -05:00
Kyle Havlovitz
3cd054e81f
Add tests for node meta in prepared queries and update docs
2017-01-23 19:17:30 -05:00
David Black
c65d965aa7
s/givne/given/
2017-01-19 09:16:31 -08:00
James Phillips
55cd1d975c
Adds catalog support for node IDs.
2017-01-18 14:26:42 -08:00
James Phillips
e73d3c2312
Adds a test to make sure we get the same ID on the second run.
2017-01-18 09:52:34 -08:00
James Phillips
96bff003b7
Adds basic support for node IDs.
2017-01-17 22:47:59 -08:00
James Phillips
17c4754eac
Merge pull request #2639 from tanuck/master
...
Standardize the case of all check log messages
2017-01-17 09:07:45 -08:00
James Phillips
05ce6766aa
Merge pull request #2578 from ybubnov/concurrent-safe-notification-mock
...
Concurrent-safe notification mock
2017-01-17 09:01:43 -08:00
Kyle Havlovitz
e37f25dc02
Add node metadata filtering to remaining health/catalog endpoints
2017-01-13 20:08:43 -05:00
Kyle Havlovitz
ebd37af4ef
Style tweaks and vendor.json cleanup
2017-01-12 16:49:44 -05:00
Kyle Havlovitz
2139dbb029
Merge branch 'master' into f-gce-discovery
2017-01-11 22:57:07 -05:00
Kyle Havlovitz
84b157eade
Condense gce discovery logging a bit
2017-01-11 22:37:22 -05:00
Kyle Havlovitz
821735d175
Merge pull request #2643 from hashicorp/f-node-metadata
...
Node metadata
2017-01-11 20:29:24 -05:00
Kyle Havlovitz
51a1834667
Add -node-meta to agent command line options
2017-01-11 16:09:04 -05:00
Kyle Havlovitz
d77890a011
Validate metadata config earlier and handle multiple filters
2017-01-11 15:12:03 -05:00
Andrew Glen-Young
c78c07d9cb
Pedantic typo fix
2017-01-10 15:44:32 -05:00
Kyle Havlovitz
6b5cf20b1c
Fix formatting
2017-01-09 13:49:33 -08:00
Kyle Havlovitz
aee766baba
Add meta key validations and more tests
2017-01-09 11:21:49 -08:00
Kyle Havlovitz
b25f4c7d35
Add tests for node metadata functionality
2017-01-05 17:21:56 -08:00
Kyle Havlovitz
2a423c6e2c
Add support for setting node metadata fields
2017-01-05 14:10:26 -08:00
James Phillips
d18b917db9
Merge pull request #2635 from hashicorp/kv-put-crash
...
cli: Fix panic on empty data argument to `kv put`
2017-01-05 09:57:59 -08:00
James Nugent
128b1e72dd
cli: Fix printf format in KV Export Test
...
Fix vet issue:
command/kv_export_test.go:48: arg code for printf verb %s of wrong type:
int
2017-01-05 09:28:12 -06:00
James Nugent
94aed0717f
cli: Fix panic on empty data argument to `kv put`
...
Passing in an empty quoted argument from the shell currently panics as
we never check the length being greater than 0 prior to indexing into
the first rune, as illustrated in the test in this commit.
We also fix the panic, treating an empty string for data as equivalent
to not having passed it in the first place.
2017-01-05 08:02:38 -06:00
James Nugent
3b1f523b85
cli: Add KV `export` and `import`
...
This commit adds two new commands to the Consul KV CLI, which export and
import a JSON formatted representation of the Consul KV tree. It is
useful to migrate parts of the KV tree between unrelated Consul
clusters, and could also be used for initial data population of the KV
store.
2017-01-05 07:57:38 -06:00
James Tancock
5b526f0847
Standardize the case of all check log messages
2017-01-05 08:34:20 +00:00
James Nugent
c32fe92eee
cli: Add -base64 option to `consul kv put`
...
This commit adds a -base64 option to the consul kv put command, which
base 64 decodeds the data prior to writing it. This can be used in
conjunction with `consul kv get -base64 key`.
2017-01-04 16:12:21 -06:00
James Nugent
a24e5041ac
Merge pull request #2631 from hashicorp/kv-get-base64
...
cli: Add -base64 option to `consul kv get`
2017-01-04 16:00:27 -06:00
James Nugent
2bb6121e54
cli: Add -base64 option to `consul kv get`
...
This commit adds a `-base64` option to the `consul kv get` command,
which base 64 encodes the output such that it can be processed by
terminal tools in the event that the data is binary. The flag defaults
to false.
2017-01-04 15:41:40 -06:00
Kyle Havlovitz
5d03ab53f3
Don't error if the given data-dir doesn't exist
2016-12-15 12:55:21 -05:00
James Phillips
5a6521c385
Adds exception for data-dir check in -dev mode.
...
This was changed in #2529 .
2016-12-14 22:11:16 -08:00
James Phillips
a0032d5c39
Updates web assets to match latest.
2016-12-14 21:08:17 -08:00
James Phillips
b617e54ff0
Merge pull request #2594 from hashicorp/acl-complete
...
Adds complete ACL support for /v1/agent endpoints.
2016-12-14 20:49:00 -08:00
James Phillips
7ee097c1ba
Adds complete ACL support for listing events.
2016-12-14 19:42:37 -08:00
James Phillips
ae83cc96f9
Adds remaining unit tests for agent ACL vet and filter functions.
2016-12-14 19:28:09 -08:00
James Phillips
51d1742025
Fixes a race in the monitor endpoint test that would cause panics.
2016-12-14 18:13:30 -08:00
Kyle Havlovitz
9f81d70d31
Merge pull request #2529 from mckennajones/bug/1838
...
Give a better error message when data-dir is not a directory
2016-12-14 20:21:10 -05:00
Kyle Havlovitz
78455621a1
Handle error from stat on data-dir and shorten error message
2016-12-14 20:06:00 -05:00
James Phillips
a57ddae900
Adds a leader wait when testing with ACLs.
2016-12-14 16:18:17 -08:00
James Phillips
b7ebe0b384
Adds complete ACL coverage for non-utility agent endpoints.
...
This is a checkpoint - we need to complete some unit tests for agent/acl.go.
2016-12-14 14:53:40 -08:00
Kyle Havlovitz
80a8055d5a
Merge pull request #2553 from mckennajones/bug/ignoresigpipe
...
Ignore sigpipe signals
2016-12-14 15:36:26 -05:00
Kyle Havlovitz
398f4a04ef
Add a notice about deprecation of atlas features
2016-12-14 15:13:51 -05:00
James Phillips
48603b4764
Adds complete ACL support for agent utility endpoints.
2016-12-14 11:12:55 -08:00
James Phillips
927aa3789a
Adds ACL management support to the agent.
2016-12-14 07:07:41 -08:00
James Phillips
dd82c8529d
Adds a unit test to make sure the status endpoint doesn't ever show anything
...
with "token" in the name.
2016-12-14 07:07:41 -08:00
James Phillips
535d6b21b4
Adds complete ACL coverage for /v1/session endpoints.
2016-12-12 21:59:22 -08:00
James Phillips
8db53b4ac2
Adds complete ACL coverage for /v1/coordinate/nodes and Coordinate.Update RPC.
2016-12-12 14:52:27 -08:00
James Phillips
67f1fe8d0b
Adds support for a new "acl_agent_token" which is used for internal
...
catalog operations.
2016-12-12 14:52:27 -08:00
James Phillips
99a5ae2737
Bans anonymous queries that aren't tied to a session.
...
This gets us coverage of PQ creation under the existing service
policy or the soon-to-be-added session policy.
2016-12-12 14:52:27 -08:00
James Phillips
2b19a5340c
Removes the exception for the "consul" service in the catalog.
2016-12-07 17:58:23 -08:00
Yakau Bubnou
5c210fb25d
Concurrent-safe notification mock
...
This patch provides additional attribute to the notification mock in
order to protect an access to the internal maps from multiple
go-routines. This is required to prevent panic errors caused by
inconsistent map state.
2016-12-07 19:31:44 +03:00
Chris Marchesi
1b4e26d005
command/agent: Google Compute Engine host discovery
...
This commit adds several command-line and config options that facilitate
host discovery through Google Compute Engine (GCE), much like the
recently added EC2 host discovery options. This should assist with
bootstrapping and joining servers within GCE when non-static addresses
are used, such as when using managed instance groups.
Documentation has also been added. It should be noted that if running
from within a GCE instance, the only option that should be necessary is
-retry-join-gce-tag-value.
2016-12-06 17:46:40 -08:00
James Phillips
eb07e77c1c
Adds an opt-in for new ACL policies and features coming in Consul 0.8.
2016-12-06 11:06:14 -08:00
Sean Chittenden
1ca285221a
Run all known addresses through go-sockaddr/template.
...
The following is now possible:
```
$ consul agent -dev -client="{{GetPrivateIP}}" -bind='{{GetInterfaceIP "en0"}}'
```
2016-12-02 16:35:38 +11:00
Kyle Havlovitz
3649c18ef0
Fix race issue in monitor endpoint test
2016-12-01 13:40:00 -05:00
James Phillips
dc37498327
Merge pull request #2533 from mckennajones/bug2526
...
Fix for KV put command
2016-11-30 21:46:04 -08:00
James Phillips
bd5adea5ba
Merge pull request #2555 from hashicorp/pr-2497-slackpad
...
Updates Circonus library and adds support for custom display name and tags.
2016-11-30 21:42:01 -08:00
Kyle Havlovitz
dd05afb32e
Add reload/leave http endpoints ( #2516 )
2016-11-30 13:29:42 -05:00
mckennajones
33d97a9b9a
ignore sigpipe signals to fix journalctl issue #2404
2016-11-30 09:42:10 -08:00
mckennajones
a99f840653
Unit test for kv_put with negative values
2016-11-29 22:29:31 -08:00
Seth Vargo
1c55429a38
Add an API method for determining the best status
...
Given a list of HealthChecks, this determines the "best" status for the
collective group. This is useful for nodes and services, which may have
multiple checks associated with them.
2016-11-29 18:41:46 -05:00
Kyle Havlovitz
ccab51b07c
Add logWriter to agent Create() method
2016-11-28 18:36:26 -05:00
Kyle Havlovitz
d91854f3b0
Add monitor http endpoint
2016-11-28 18:36:26 -05:00
mckennajones
3b582db61d
Simple check to differentiate between stdin flag or value that contains
...
a -
2016-11-27 12:55:14 -08:00
James Phillips
147d6deea5
Updates static assets to pick up #2340 and and #2525 .
2016-11-22 17:47:50 -08:00
Kyle Havlovitz
79f339b5dc
Combine keyring endpoints into one
2016-11-22 20:10:43 -05:00
Kyle Havlovitz
2d37a07476
Add keyring http endpoints
2016-11-22 20:10:43 -05:00
mckennajones
6a49edf128
check if data-dir is actually a directory
2016-11-22 13:33:51 -08:00
James Phillips
cf5134e4f0
Defaults to pretty JSON in dev mode.
2016-11-17 22:31:19 -08:00
James Phillips
b672fea37b
Merge pull request #2238 from hasyimibhar/master
...
Remove duplicated environment variables
2016-11-17 16:18:02 -08:00
Benjamin Farley
8adcd9577e
Operator docs update
2016-11-16 09:04:37 +00:00
James Phillips
60d0c66be0
Revert "Updates Circonus metrics library and adds support for display name and tags."
...
This reverts commit bd490ec937a5859ba43b07d9103b3cb8f037e9e5 from #2491 .
2016-11-09 16:21:02 -08:00
Kyle Havlovitz
9b6847d13f
Use uuids in persist temp files to avoid race ( #2494 )
2016-11-09 15:22:53 -08:00
Kyle Havlovitz
b170282d0f
Improve logging when deregistering a nonexistent service ( #2492 )
...
Log a warning instead of a success message when attempting to deregister a nonexistent service. In Consul 0.8 this can be changed to giving an error outright, but for now we can keep the idempotent delete behavior.
2016-11-09 16:56:54 -05:00
matt maier
c7f98fe988
Updates Circonus metrics library and adds support for display name and tags.
...
* Update circonus-gometrics
`vendor circonus-labs/circonus-gometrics`
`vendor circonus-labs/circonus-gometrics/api`
`vendor circonus-labs/circonus-gometrics/checkmgr`
`vendor circonus-labs/circonusllhist`
`vendor hashicorp/go-retryablehttp`
* Update Circonus integration expose Check Display Name and Check Tags configuration options.
* Adds version info to docs for new Circonus options.
2016-11-09 13:26:43 -08:00
matt maier
62fe94b3d6
Update Circonus integration expose Check Display Name and Check Tags configuration options.
2016-11-09 15:33:37 -05:00
James Phillips
739f91ad6a
Removes stale reference to reap lock which causes a panic. ( #2490 )
2016-11-09 09:52:07 -08:00
James Phillips
e01fde4007
Runs the static asset packaging inside the container; updates assets.
2016-11-08 15:14:08 -08:00
James Phillips
45def3e9ac
Updates embedded static assets.
2016-11-08 14:22:39 -08:00
Kyle Havlovitz
1ffdf04bd7
Set MaxStale default to 10 years and add a stale counter ( #2481 )
...
Default MaxStale to 10 years and add a counter at `consul.dns.stale_queries` that tracks when an agent serves a query that's stale by at least 5 seconds. Previously, MaxStale defaulted to 5 seconds and DNS would become unavailable after a short period of time with no leader. This new default allows DNS requests to still be served in the event of a long outage.
Fixes #2460 .
2016-11-08 14:45:12 -05:00