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
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
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
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
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
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
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
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
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