Frank Schröder
b580f7a533
Revert "config: rename test struct field to args"
...
This reverts commit f2a291a4704c9954c441567860ca740ac0f58308.
2017-10-23 09:58:37 +02:00
Frank Schröder
0f0b510f37
Revert "config: return error on extra command line arguments ( #3397 )"
...
This reverts commit ce935cef55f7298e85843b3ca17ad13415e40e0b.
2017-10-23 09:58:37 +02:00
Frank Schroeder
ef3108abc3
fix go vet issue
2017-10-23 08:13:52 +02:00
Frank Schroeder
24689c4f5e
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:08:09 +02:00
Frank Schroeder
c8ed3044de
config: rename test struct field to args
2017-10-23 08:08:09 +02:00
Frank Schroeder
88a1f3aa53
config: address review comments
2017-10-23 08:06:26 +02:00
Frank Schroeder
97277de196
config: document remaining config options
2017-10-23 08:06:26 +02:00
Frank Schroeder
638bc0e0ac
config: document more config options
2017-10-23 08:06:26 +02:00
Frank Schroeder
f326eae23e
config: document more config options
2017-10-23 08:06:26 +02:00
Frank Schroeder
6332f4d6a7
config: document more acl options
2017-10-23 08:06:26 +02:00
Frank Schroeder
61c8ee564a
config: document config options
2017-10-23 08:06:26 +02:00
Frank Schroeder
71112a6510
config: document acl options
2017-10-23 08:06:26 +02:00
Frank Schroeder
e00869647c
config: document autopilot options
2017-10-23 08:06:26 +02:00
Frank Schroeder
05c1038d58
config: document dns options
2017-10-23 08:06:26 +02:00
Frank Schroeder
a17d711b39
config: document http options
2017-10-23 08:06:26 +02:00
Frank Schroeder
f95b8f5060
config: document telemetry options
2017-10-23 08:06:26 +02:00
Frank Schroeder
39dddd433e
local state: remove stale comment
2017-10-23 08:03:18 +02:00
Frank Schroeder
779bf04aa3
local state: make test more robust
2017-10-23 08:03:18 +02:00
Frank Schroeder
e16c8f3982
local state: clone check to avoid side effect
2017-10-23 08:03:18 +02:00
Frank Schroeder
f1028d2486
local state: use synchronized access to internal maps
2017-10-23 08:03:18 +02:00
Frank Schroeder
606e13a569
ae: do not trigger on Resume while holding the lock
2017-10-23 08:03:18 +02:00
Frank Schroeder
82e9494f7f
ae: add remaining test cases
2017-10-23 08:03:18 +02:00
Frank Schroeder
cf6e6c72ac
ae: refactor StateSyncer to state machine for better testing
2017-10-23 08:03:18 +02:00
Frank Schroeder
ba8cb5e3d0
ae: add test that we run a full before a partial sync
2017-10-23 08:03:18 +02:00
Frank Schroeder
0d73333c8e
ae: make control flow more explicit
2017-10-23 08:03:18 +02:00
Frank Schroeder
0cfe0a42f1
ae: fix typo in constructor name
2017-10-23 08:03:18 +02:00
Frank Schroeder
25ee03e165
ae: add test for resume triggering SyncChanges
2017-10-23 08:03:18 +02:00
Frank Schroeder
f61ad4efcd
ae: add test for ifNotPausedRun
2017-10-23 08:03:18 +02:00
Frank Schroeder
c2ab582d47
ae: make stagger function pluggable for testing
2017-10-23 08:03:18 +02:00
Frank Schroeder
f352952fb3
ae: restore previous pause/resume behavior
2017-10-23 08:03:18 +02:00
Frank Schroeder
c1badf1034
ae: ensure that syncs are blocked when paused
2017-10-23 08:03:18 +02:00
Frank Schroeder
a4d03797ae
local state: rename Add{Check,Service}State to Set{Check,Service}State
2017-10-23 08:03:18 +02:00
Frank Schroeder
7414fe0a2a
local state: move Metadata methods together
2017-10-23 08:03:18 +02:00
Frank Schroeder
3e953f67da
local state: update documentation of updateSyncState
2017-10-23 08:03:18 +02:00
Frank Schroeder
ecea35d955
local state: update comments
2017-10-23 08:03:18 +02:00
Frank Schroeder
40e17f9f01
local state: address review comments
...
* move non-blocking notification mechanism into ae.Trigger
* move Pause/Resume into separate type
2017-10-23 08:03:18 +02:00
Frank Schroeder
cfc8bd092f
local state: refactor TestAgentAntiEntropy_EnableTagOverride
...
Make intent clearer by being more explicit and adding some comments.
Use verify.Values to compare service entries.
2017-10-23 08:03:18 +02:00
Frank Schroeder
b288c1eb9b
local state: fix TestAgentAntiEntropy_EnableTagOverride
...
The test had a race condition where it relied on the first service to be
synced to the remote catalog which sometimes failed.
2017-10-23 08:03:18 +02:00
Frank Schroeder
71e4d7cd1c
local state: rename tests
2017-10-23 08:03:18 +02:00
Frank Schroeder
f43972fdc2
local state: drop retry loops from tests
...
Since the tests are now using synchronous calls for state syncing
we no longer need to use retry loops to wait for the changes to
propagate.
2017-10-23 08:03:18 +02:00
Frank Schroeder
3d10312cd6
agent: skip non-sensical TestCatalogRegister
...
It is not clear what this test is supposed to verify.
2017-10-23 08:03:18 +02:00
Frank Schroeder
2bef1d4d51
local state: fix anti-entropy state tests
...
The anti-entropy tests relied on the side-effect of the StartSync()
method to perform a full sync instead of a partial sync. This lead to
multiple anti-entropy go routines being started unnecessary retry loops.
This change changes the behavior to perform synchronous full syncs when
necessary removing the need for all of the time.Sleep and most of the
retry loops.
2017-10-23 08:03:18 +02:00
Frank Schroeder
36677bc90d
local state: fix test with updated error message
2017-10-23 08:03:18 +02:00
Frank Schroeder
37c8492e5e
local state: fix failing tests
2017-10-23 08:03:18 +02:00
Frank Schroeder
884f98f8aa
local state: tests compile
2017-10-23 08:03:18 +02:00
Frank Schroeder
60095484c4
local state: replace multi-map state with structs
...
The state of the service and health check records was spread out over
multiple maps guarded by a single lock. Access to the maps has to happen
in a coordinated effort and the tests often violated this which made
them brittle and racy.
This patch replaces the multiple maps with a single one for both checks
and services to make the code less fragile.
This is also necessary since moving the local state into its own package
creates circular dependencies for the tests. To avoid this the tests can
no longer access internal data structures which they should not be doing
in the first place.
The tests still don't compile but this is a ncessary step in that
direction.
2017-10-23 08:03:18 +02:00
Frank Schroeder
ef9aa6b3b6
local state: move to separate package
...
This patch moves the local state to a separate package to further
decouple it from the agent code.
The code compiles but the tests do not yet.
2017-10-23 08:03:18 +02:00
Frank Schroeder
c03eba91d0
agent: simplify some loops
2017-10-23 08:03:18 +02:00
Frank Schroeder
98e5dc86fb
agent: refactor sync loop to linear flow of control
2017-10-23 08:03:18 +02:00
Frank Schroeder
5302479ad5
agent: cleanup StateSyncer
...
This patch cleans up the state syncer code by renaming fields, adding
helpers and documentation.
2017-10-23 08:03:18 +02:00