Frank Schroeder
f6e9ad99ec
config: address review comments
2017-10-23 08:06:26 +02:00
Frank Schroeder
0ed4561f12
config: document remaining config options
2017-10-23 08:06:26 +02:00
Frank Schroeder
9864609201
config: document more config options
2017-10-23 08:06:26 +02:00
Frank Schroeder
bf81cdea6e
config: document more config options
2017-10-23 08:06:26 +02:00
Frank Schroeder
2682ce0b82
config: document more acl options
2017-10-23 08:06:26 +02:00
Frank Schroeder
a38c69d784
config: document config options
2017-10-23 08:06:26 +02:00
Frank Schroeder
7396bd31fd
config: document acl options
2017-10-23 08:06:26 +02:00
Frank Schroeder
7685ef409c
config: document autopilot options
2017-10-23 08:06:26 +02:00
Frank Schroeder
5e57e9273e
config: document dns options
2017-10-23 08:06:26 +02:00
Frank Schroeder
5f59857448
config: document http options
2017-10-23 08:06:26 +02:00
Frank Schroeder
7fede4472d
config: document telemetry options
2017-10-23 08:06:26 +02:00
Frank Schroeder
35f4acdddc
local state: remove stale comment
2017-10-23 08:03:18 +02:00
Frank Schroeder
f9267380db
local state: make test more robust
2017-10-23 08:03:18 +02:00
Frank Schroeder
af1243c725
local state: clone check to avoid side effect
2017-10-23 08:03:18 +02:00
Frank Schroeder
39a2d8d25e
local state: use synchronized access to internal maps
2017-10-23 08:03:18 +02:00
Frank Schroeder
bd00814301
ae: do not trigger on Resume while holding the lock
2017-10-23 08:03:18 +02:00
Frank Schroeder
c32915bb4f
ae: add remaining test cases
2017-10-23 08:03:18 +02:00
Frank Schroeder
8a45365f68
ae: refactor StateSyncer to state machine for better testing
2017-10-23 08:03:18 +02:00
Frank Schroeder
8158cec829
ae: add test that we run a full before a partial sync
2017-10-23 08:03:18 +02:00
Frank Schroeder
b9a8b53d52
ae: make control flow more explicit
2017-10-23 08:03:18 +02:00
Frank Schroeder
e88f49e2cc
ae: fix typo in constructor name
2017-10-23 08:03:18 +02:00
Frank Schroeder
cd0262744d
ae: add test for resume triggering SyncChanges
2017-10-23 08:03:18 +02:00
Frank Schroeder
f5177ef332
ae: add test for ifNotPausedRun
2017-10-23 08:03:18 +02:00
Frank Schroeder
066ad01c38
ae: make stagger function pluggable for testing
2017-10-23 08:03:18 +02:00
Frank Schroeder
126046be23
ae: restore previous pause/resume behavior
2017-10-23 08:03:18 +02:00
Frank Schroeder
ffb265dd93
ae: ensure that syncs are blocked when paused
2017-10-23 08:03:18 +02:00
Frank Schroeder
9280841a80
local state: rename Add{Check,Service}State to Set{Check,Service}State
2017-10-23 08:03:18 +02:00
Frank Schroeder
9bc8127728
local state: move Metadata methods together
2017-10-23 08:03:18 +02:00
Frank Schroeder
e86521e637
local state: update documentation of updateSyncState
2017-10-23 08:03:18 +02:00
Frank Schroeder
42188164f8
local state: update comments
2017-10-23 08:03:18 +02:00
Frank Schroeder
1d315075b1
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
c28e23eac8
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
86f7ea6013
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
ff62eaf063
local state: rename tests
2017-10-23 08:03:18 +02:00
Frank Schroeder
2bdba8ab06
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
ce1f35373e
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
f8e20cd996
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
e9149f64d9
local state: fix test with updated error message
2017-10-23 08:03:18 +02:00
Frank Schroeder
76682da4a0
local state: fix failing tests
2017-10-23 08:03:18 +02:00
Frank Schroeder
1af52bf7be
local state: tests compile
2017-10-23 08:03:18 +02:00
Frank Schroeder
ccbae7da5b
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
d447e823c6
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
b5dbad910c
agent: simplify some loops
2017-10-23 08:03:18 +02:00
Frank Schroeder
7a2af206ea
agent: refactor sync loop to linear flow of control
2017-10-23 08:03:18 +02:00
Frank Schroeder
b7136e100b
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
Frank Schroeder
a842dc9c2b
agent: decouple anti-entropy from local state
...
The anti-entropy code manages background synchronizations of the local
state on a regular basis or on demand when either the state has changed
or a new consul server has been added.
This patch moves the anti-entropy code into its own package and
decouples it from the local state code since they are performing
two different functions.
To simplify code-review this revision does not make any optimizations,
renames or refactorings. This will happen in subsequent commits.
2017-10-23 08:03:18 +02:00
James Phillips
dca5dcb68c
Changes "ip" to "IP".
2017-10-23 08:01:25 +02:00
Frank Schroeder
6ba9690e81
doc: address review comment
2017-10-23 08:01:25 +02:00
Frank Schroeder
1db8d3cb00
config: do not allow an ANY address as DNS recursor
2017-10-23 08:01:25 +02:00
Frank Schroeder
6d4a57aedc
doc: update docs for dns recursor go-sockaddr templates
2017-10-23 08:01:25 +02:00