Commit Graph

1450 Commits

Author SHA1 Message Date
James Phillips 0daacfe5e5
test: Turns down server health interval for faster convergence.
This fixes the autopilot tests.
2017-05-05 17:07:02 +02:00
Frank Schroeder 21a82a0a16
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 f39c604cd7
Fix imports 2017-05-05 17:07:00 +02:00
Frank Schroeder 8c2b261c61 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 fb83790cb9 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 a235986a28 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 a226edd4a9 Move GCE discovery code to command/agent/config_gce.go 2017-05-04 01:41:47 +02:00
Frank Schroeder 7f73f14260 Move AWS discovery code to command/agent/config_aws.go 2017-05-04 01:41:47 +02:00
Frank Schroeder 78fc19c48c Move verifyUniqueListeners to command/agent/config.go 2017-05-04 01:41:47 +02:00
Frank Schroeder d34ba3e823 Cleanup agent config 2017-05-04 01:41:47 +02:00
Damon Buckwalter 98407322a6 Itty bitty typo 2017-05-02 16:08:07 -07:00
James Phillips 6382f95898
Updates static assets to pick up #2712. 2017-05-02 10:52:06 -07:00
Kyle Havlovitz cd56a5ebdd 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 84d6ac2d51 api: Return empty list instead of nil 2017-04-28 15:00:08 -07:00
Frank Schroeder 9685bdcd0b 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 7075695627 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 48fa2962eb Revert "test: Run command/agent tests in parallel"
This reverts commit 17be40a733.
2017-04-27 14:39:04 -07:00
Frank Schroeder 0cb4295182 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 7281b4291a test: Speedup session renew tests 2017-04-27 10:34:30 -07:00
Frank Schroeder 37c180a920 test: Speedup Retry*Join tests 2017-04-27 10:34:30 -07:00
Frank Schroeder 17be40a733 test: Run command/agent tests in parallel 2017-04-27 10:34:30 -07:00
Kyle Havlovitz b70e419aeb 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 59c4128deb
Updates compiled static assets. 2017-04-25 13:54:03 -07:00
Frank Schroeder 3403cd4372 golint: Fix existing comments
This needs more work.
2017-04-25 09:26:13 -07:00
Frank Schroeder 3e00e36f41 golint: Untangle if blocks with return in else 2017-04-25 09:26:13 -07:00
Frank Schroeder d7e23857ad golint: No stutter 2017-04-25 09:26:13 -07:00
Frank Schroeder cf3ec1cf5c golint: Rename fields and structs 2017-04-25 09:26:13 -07:00
Frank Schroeder 5a3961f31f golint: Replace a += 1 with a++ 2017-04-25 09:26:13 -07:00
Frank Schroeder 6688a510e1 golint: Consistent receiver name
Ensure the receiver name is consistent
2017-04-25 09:26:13 -07:00
Frank Schroeder 8bb7792799 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 eddb1af603 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 ee5b06a231 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 f25cac4c8f Show raft protocol in list-peers command (#2929) 2017-04-19 15:01:40 -07:00
Kyle Havlovitz 29a4a42f17
Fix help text on client cert/key options 2017-04-18 16:30:20 -07:00
mckennajones a489f2b734
Added check to see if ui and ui-dir flags are both specified 2017-04-17 17:25:57 -07:00
Kyle Havlovitz b1d98522ee
Fix help text for -ca-path 2017-04-14 14:44:45 -07:00
Kyle Havlovitz ae6bf56ee1
Add tls client options to api/cli 2017-04-14 13:37:29 -07:00
James Phillips fb089e2bbb 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 4de270326e
Updates static assets to pick up #2899. 2017-04-13 14:40:16 -07:00
James Phillips 2843da5cd9 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 fa04c24978
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 7ab576891e 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 87f1a1a3ee Fixed spelling for consul kv get command --help comments. 2017-04-12 17:31:57 -07:00
Alex Dadgar 7f6d95f1c9 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 86870ae51d 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 da9c825592
Add CLI/API endpoints for removing peer by ID 2017-03-30 10:13:32 -07:00
James Phillips 7e2dcb61bf
Changes `disable_remote_exec` default to true so remote exec is opt-in. 2017-03-30 09:43:32 -07:00
James Phillips 11ee9a9e72
Disables agent-level enforcement on Consul agents unless acl_datacenter is set. 2017-03-29 12:24:42 -07:00
vaLentin chernoZemski 1e5163d241 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 59a599a14b
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 7ce7d157da
Fixes up some broken unit tests. 2017-03-24 17:35:07 -07:00
James Phillips 8940d1c3fe
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 4d3f3ea8d2
Changes verson 8 ACLs to opt-out. 2017-03-24 12:12:24 -07:00
Seth Vargo 0170a28ec9
Use new APIs 2017-03-23 18:48:13 -04:00
Seth Vargo 4622ac634b
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 00a5fc2947
Renames some operator unit tests. 2017-03-22 19:26:43 -07:00
Kyle Havlovitz 390f41d8d5
Add advanced autopilot features 2017-03-22 15:25:16 -07:00
James Phillips 3b3cb0d07b 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 2696dd52b8
Updates to latest built-in static assets. 2017-03-20 10:18:47 -07:00
James Phillips a8ee32cbdd
Fixes RTT command to only compare coordinates in the same area. 2017-03-16 16:42:19 -07:00
James Phillips 1091c7314e
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 09e2663d10 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 5353221666
Reorganized cluster health check loop and logic 2017-03-15 18:27:17 -07:00
Kyle Havlovitz 51b11cd344
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 26dddb428c
Forces user-supplied node IDs to lower case for consistency. 2017-03-13 19:51:56 -07:00
Kyle Havlovitz 7608a3c15f
Use defers for WaitGroup and Ticker stop 2017-03-10 12:29:03 -08:00
Kyle Havlovitz 9b4497de09
Cleaned up and reorganized some autopilot-related code 2017-03-09 18:21:40 -08:00
Kyle Havlovitz c3d638e2c5
Move RaftStats to Status endpoint 2017-03-07 13:58:06 -08:00
Kyle Havlovitz fb259e3d04
Merge branch 'master' into f-autopilot-2 2017-03-06 16:02:19 -08:00
Kyle Havlovitz 2eefe3ca5b
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 a791de3ecf Revert "Change `ClientAddr` to default to `BindAddr` when not present." 2017-03-06 13:32:43 -08:00
Sean Chittenden beae5c6bba
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 3103f7f673 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 ab6c49ab4c 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 5f125324db 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 92c8b9c3a0
Rename DeadServerCleanup and make wording adjustments 2017-02-28 14:45:21 -08:00
Kyle Havlovitz f389b59fd5
Fix up command and api tests 2017-02-28 14:12:55 -08:00
Kyle Havlovitz 9221aed856
Remove the RPC client interface and update docs 2017-02-28 13:41:09 -08:00
Sean Chittenden cbbbf5ee39
Follow the lead in 6fc901a8f3 and set the default `DisplayName` to `Consul` 2017-02-26 12:26:14 -08:00
Kyle Havlovitz 211995bc3c
Convert agent command to use base.Command 2017-02-24 18:11:05 -08:00
Kyle Havlovitz 5429e8ce66
Add cli docs and minor test/comment tweaks 2017-02-24 16:55:44 -08:00
Kyle Havlovitz bf735aa008
Use BoolValue for flag type 2017-02-24 16:00:39 -08:00
Kyle Havlovitz 2ea36d7bd4
Merge branch 'master' into f-autopilot 2017-02-24 15:55:18 -08:00
Kyle Havlovitz c1f776c78b
Added operator autopilot subcommands 2017-02-24 15:54:49 -08:00
Kyle Havlovitz c2e7f45002
Add CAS capability to autopilot config endpoint 2017-02-24 13:08:49 -08:00
James Phillips e37f66d0b2
Exports config functions from base. 2017-02-23 21:08:43 -08:00
James Phillips a48ecf56a9
Exports visit function from base. 2017-02-23 21:01:06 -08:00
Kyle Havlovitz 81c7a0299e
Add state store table and endpoints for autopilot 2017-02-23 20:32:13 -08:00
Kyle Havlovitz 950a9d2212
Move raft_protocol out of autopilot config 2017-02-23 13:08:40 -08:00
Kyle Havlovitz b20fd222f6
Add raft version 2/3 compatibility 2017-02-22 12:53:32 -08:00
Kyle Havlovitz c8d0273f1b
Condense raft subcommand into one doc page 2017-02-16 11:44:14 -08:00
Kyle Havlovitz e85b401eb9
Split operator raft command into subcommands 2017-02-15 13:53:34 -08:00
Jeff Mitchell 73035f9ef8 Update TestHTTPServer_UnixSocket with DialContext 2017-02-10 21:29:42 -05:00
Kyle Havlovitz 466e39d27a 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 2aebff3bd3
Add -quiet flag to validate 2017-02-10 20:14:22 -05:00
Kyle Havlovitz c9abafab92
Update docs and give better error for unknown client scheme 2017-02-10 19:55:54 -05:00
Kyle Havlovitz eee5eb3fb8
Update website docs for validate command 2017-02-10 19:38:38 -05:00
Kyle Havlovitz fe7b26a996
Deprecate the configtest command and add the validate command 2017-02-10 19:21:51 -05:00
Kyle Havlovitz 9e23dabbfa
Allow internal watches to use https and unix sockets 2017-02-10 18:38:39 -05:00
Kyle Havlovitz a7a6ee9f4c
Allow prefixing -http-addr with http/https schemes 2017-02-10 18:25:46 -05:00