Atin Malaviya
60915629f6
Took out usage of snapshot SessionListTTL
2014-12-10 21:37:06 -05:00
Atin Malaviya
0f9723e6f8
Remove hardcoded wait time in session TTL tests
2014-12-10 21:04:09 -05:00
Atin Malaviya
5229f3b44d
Clean up code based on feedback from armon
2014-12-10 20:49:06 -05:00
Atin Malaviya
624c465e2b
Added more tests. Also added return of 404 if the session id to renew is not found
2014-12-10 10:02:23 -05:00
Atin Malaviya
4732c36d88
Consul Session TTLs
...
The design of the session TTLs is based on the Google Chubby approach
(http://research.google.com/archive/chubby-osdi06.pdf ). The Session
struct has an additional TTL field now. This attaches an implicit
heartbeat based failure detector. Tracking of heartbeats is done by
the current leader and not persisted via the Raft log. The implication
of this is during a leader failover, we do not retain the last
heartbeat times.
Similar to Chubby, the TTL represents a lower-bound. Consul promises
not to terminate a session before the TTL has expired, but is allowed
to extend the expiration past it. This enables us to reset the TTL on
a leader failover. The TTL is also extended when the client does a
heartbeat. Like Chubby, this means a TTL is extended on creation,
heartbeat or failover.
Additionally, because we must account for time requests are in transit
and the relative rates of clocks on the clients and servers, Consul
will take the conservative approach of internally multiplying the TTL
by 2x. This helps to compensate for network latency and clock skew
without violating the contract.
Reference: https://docs.google.com/document/d/1Y5-pahLkUaA7Kz4SBU_mehKiyt9yaaUGcBTMZR7lToY/edit?usp=sharing
2014-12-07 12:38:22 -05:00
Ali Abbas
d73e1cae85
since dns.TXT is an external dependency, it is safer to add keys to the fields to avoid some potential ordering issues if changes in this field occur with upstream
2014-12-06 13:13:35 +01:00
Chavez
de0d2d7b78
agent: agent test fixes
2014-12-05 10:36:44 -08:00
Veres Lajos
3b1068387a
typofixes - https://github.com/vlajos/misspell_fixer
2014-12-04 23:25:06 +00:00
Armon Dadgar
5887242db2
agent: Handle service ACLs when doing anti-entropy
2014-12-01 11:43:01 -08:00
Ryan Uber
81d4e5cfd4
agent: fixup all check definitions from json config
2014-11-30 18:27:37 -08:00
Ryan Uber
dd4fadfc9e
agent: persist CheckType with health checks
2014-11-29 12:54:37 -08:00
Ryan Uber
b7587cac42
agent: allow config reload to modify checks/services persistence
...
This change consolidates loading services and checks from both config
and persisted state into methods on the agent. As part of this, we
introduce optional persistence when calling RemoveCheck/RemoveService.
Fixes a bug where config reloads would kill persisted services/checks.
Also fixes an edge case:
1. A service or check is registered via the HTTP API
2. A new service or check definition with the same ID is added to config
3. Config is reloaded
The desired behavior (which this implements) is:
1. All services and checks deregistered in memory
2. All services and checks in config are registered first
3. All persisted checks are restored using the same logic as the agent
start sequence, which prioritizes config over persisted, and removes
any persistence files if new config counterparts are present.
2014-11-26 12:46:42 -08:00
Ali Abbas
a4656f1ecf
fix Sprintf formatting
2014-11-25 20:06:33 +01:00
Ali Abbas
e395420af6
cleanup unreachable code
2014-11-25 19:54:30 +01:00
Ryan Uber
9f9087badb
agent: prefer config over persisted services/checks ( #497 )
2014-11-24 19:40:53 -08:00
Armon Dadgar
f74d3dbd92
Merge pull request #497 from hashicorp/f-persist
...
Persist locally registered services and checks
2014-11-24 11:14:08 -08:00
Armon Dadgar
50e21b071c
agent: Adding TODO for future optimization
2014-11-24 11:09:04 -08:00
Ryan Uber
2ebe85414f
agent: pass error through when writing state files
2014-11-24 01:58:39 -08:00
Ryan Uber
79ba25b94d
agent: default restored checks to critical status
2014-11-24 01:15:18 -08:00
Ryan Uber
46a5272a8a
agent: first pass at local service and check persistence
2014-11-24 01:10:27 -08:00
lalyos
8f04401648
agent: implementing reverse dns lookup for ipv4 and ipv6
2014-11-23 09:16:37 +01:00
Armon Dadgar
f57efbc778
Merge pull request #487 from amalaviy/ephemeral_keys
...
Ephemeral Nodes for via Session behavior settings.
2014-11-21 10:11:52 -08:00
Ryan Uber
dbd420fc4b
agent: make event buffer test non-sequential
2014-11-20 21:56:50 -08:00
Ryan Uber
da96fb5499
agent: Test event order preservation for watches
2014-11-20 20:35:52 -08:00
Ryan Uber
96619b7f88
agent: Preserve ordering of event buffer. Fixes #479
2014-11-20 19:51:08 -08:00
Atin Malaviya
6ef03a806c
Clean up tests, use switch to default session.Behavior value if unspecified, unrecognized
2014-11-20 14:29:18 -05:00
Atin Malaviya
47241fc1c8
Ephemeral Nodes for via Session behavior settings.
...
Added a "delete" behavior for session invalidation, in addition to
the default "release" behavior. On session invalidation, the sessions
Behavior field is checked and if it is set to "delete", all nodes owned
by the session are deleted. If it is "release", then just the locks
are released as default.
2014-11-20 11:34:45 -05:00
Ryan Uber
28bd9810a7
agent: remove unused config variable
2014-11-19 23:18:12 -08:00
Ryan Uber
c283754381
Rebase against upstream
2014-11-19 16:45:49 -08:00
Ryan Uber
bc0eb4c16d
agent: fix gossip encryption detection
2014-11-19 16:37:40 -08:00
Ryan Uber
8a652c6ffa
agent: fix loading keyring on agent start
2014-11-19 16:37:40 -08:00
Ryan Uber
ab5fbe4094
agent: ignore -encrypt if provided when keyring exists
2014-11-19 16:37:40 -08:00
Ryan Uber
4203e7ab6d
consul: clean up comments, fix globalRPC tests
2014-11-19 16:37:40 -08:00
Ryan Uber
0cafb129ee
consul: more tests, remove unused KeyManager() method
2014-11-19 16:37:40 -08:00
Ryan Uber
648c7cdc8e
consul: simplify keyring operations
2014-11-19 16:36:19 -08:00
Ryan Uber
0b8fe6cc83
agent: fix test cases
2014-11-19 16:36:18 -08:00
Ryan Uber
c945311baf
agent: make rpc tests more reliable
2014-11-19 16:36:01 -08:00
Ryan Uber
bc2b2120fa
agent: -encrypt appends to keyring if one exists
2014-11-19 16:36:01 -08:00
Ryan Uber
22b2c63304
command/agent: fix up gossip encryption indicator
2014-11-19 16:35:37 -08:00
Ryan Uber
7a74f559b9
command: remove -init argument from keyring, auto-persist keyrings when using agent -encrypt
2014-11-19 16:35:13 -08:00
Ryan Uber
1f9d13dc73
agent: squash some more common keyring semantics
2014-11-19 16:34:18 -08:00
Ryan Uber
59a7938d1f
agent: guard against empty keyring files
2014-11-19 16:34:18 -08:00
Ryan Uber
7b4b87ccf1
consul: use keyring operation type to cut out duplicated logic
2014-11-19 16:34:18 -08:00
Ryan Uber
c11f6b5152
agent: fix install key test
2014-11-19 16:34:18 -08:00
Ryan Uber
91ad3461f4
command: fix panic when client RPC is asked for a keyring operation
2014-11-19 16:34:17 -08:00
Ryan Uber
9d01174521
consul: kill unused struct fields
2014-11-19 16:34:17 -08:00
Ryan Uber
a163db2269
command/keyring: remove unneeded -wan arg, fix tests
2014-11-19 16:34:17 -08:00
Ryan Uber
f86904ee59
agent: adjust rpc client tests for keyring
2014-11-19 16:34:17 -08:00
Ryan Uber
fcba072246
command: fixing test cases for keyring
2014-11-19 16:34:17 -08:00
Ryan Uber
9056e617cb
consul: cross-dc key rotation works
2014-11-19 16:34:17 -08:00
Ryan Uber
2bdeaa0c6a
consul: restructuring
2014-11-19 16:34:17 -08:00
Ryan Uber
8dec2744da
consul: refactor keyring, repeat RPC calls to all DC's
2014-11-19 16:34:17 -08:00
Ryan Uber
cfbf2b4f94
command: allow wan ring to be modified separately from lan pools
2014-11-19 16:33:34 -08:00
Ryan Uber
431b366d4f
agent: split keyring functionality out of agent.go
2014-11-19 16:32:32 -08:00
Ryan Uber
5ab4a590d7
command: test generated keyring file content and conflicting args for agent
2014-11-19 16:32:06 -08:00
Ryan Uber
621aafa9b4
agent: test loading keyring files for client and server
2014-11-19 16:31:40 -08:00
Ryan Uber
2220ccdac2
command: various cleanup
2014-11-19 16:31:06 -08:00
Ryan Uber
d906d16d15
agent: add tests for keyring presence checks
2014-11-19 16:31:06 -08:00
Ryan Uber
353b67826a
command: use separate key files for LAN/WAN
2014-11-19 16:31:06 -08:00
Ryan Uber
530f3ba747
command/keys: refactor, restrict key operations to server nodes
2014-11-19 16:31:06 -08:00
Ryan Uber
8a40f3888c
agent: move keyring initialization out of agent, add -init option to keys command
2014-11-19 16:31:06 -08:00
Ryan Uber
0952535e33
agent: fix keyring loading when config is passed off
2014-11-19 16:31:06 -08:00
Ryan Uber
b6037ef323
agent: clean up keyring file implementation
2014-11-19 16:31:06 -08:00
Ryan Uber
fcb0961436
agent: refactor keyring loader
2014-11-19 16:31:06 -08:00
Ryan Uber
df68820645
agent: install/use/remove key tests
2014-11-19 16:30:22 -08:00
Ryan Uber
2280434e16
agent: add rpc tests for listing lan/wan gossip keys
2014-11-19 16:30:22 -08:00
Ryan Uber
90de483871
command/keys: begin tests
2014-11-19 16:30:22 -08:00
Ryan Uber
46ce9e936f
command/keys: remove key command implemented
2014-11-19 16:30:22 -08:00
Ryan Uber
1ac6b10aed
command/keys: use key command implemented
2014-11-19 16:30:22 -08:00
Ryan Uber
7b6f3d6dcc
agent: install key command implemented
2014-11-19 16:30:22 -08:00
Ryan Uber
e4251a3372
agent: fix inversed lan/wan key listing
2014-11-19 16:30:21 -08:00
Ryan Uber
9b4707a329
command/keys: list keys working end-to-end
2014-11-19 16:30:21 -08:00
Ryan Uber
f771f2ef92
command: add option for -wan to keys command
2014-11-19 16:30:21 -08:00
Ryan Uber
67b179ccc9
command: basic rpc works for keys command
2014-11-19 16:30:21 -08:00
Ryan Uber
4dd1b42477
consul: use rpc layer only for key management functions, add rpc commands
2014-11-19 16:30:21 -08:00
Ryan Uber
b1c0bb60ce
command: warn when passing -encrypt when keyring already exists
2014-11-19 16:30:21 -08:00
Ryan Uber
471ee9ce8f
command: create serf dir if it doesn't exist, document -disable-keyring arg
2014-11-19 16:30:21 -08:00
Ryan Uber
0da6e08d9d
consul: fix json marshaling
2014-11-19 16:30:21 -08:00
Ryan Uber
e20a724999
consul: first pass at keyring integration
2014-11-19 16:30:20 -08:00
Armon Dadgar
6c83ef119a
agent: Fixing wan join tests
2014-11-19 13:53:17 -08:00
Armon Dadgar
c449f07b38
agent: Fixing config merge test
2014-11-19 13:38:58 -08:00
Armon Dadgar
666cf3c483
agent: Fixing UiDir in test
2014-11-19 13:29:15 -08:00
Armon Dadgar
485f0a0c93
agent: Fixing port collision in tests
2014-11-19 11:51:25 -08:00
Armon Dadgar
6be29e17c2
Merge pull request #478 from amalaviy/https
...
Added HTTPS support via a new HTTPS Port configuration option
2014-11-19 11:17:10 -08:00
Atin Malaviya
61f1d24f39
consul.Config() helper to generate the tlsutil.Config{} struct, 30 second keepalive, use keepalive for HTTP and HTTPS
2014-11-18 17:56:48 -05:00
Atin Malaviya
f1f8c88228
Moved TLS Config stuff to tlsutil package
2014-11-18 11:03:36 -05:00
Atin Malaviya
0904c651a8
Change names to StartJoinWan, RetryJoinWan etc
2014-11-17 17:14:59 -05:00
Atin Malaviya
f4fd8453ed
Added HTTPS support via a new HTTPS Port configuration option similar to the HTTP Port.
2014-11-17 14:29:35 -05:00
Atin Malaviya
5b41170f47
Add start-wan-join, retry-wan-join and related configuration options and commandline options
2014-11-14 10:56:39 -05:00
Ryan Uber
1b63cbf21e
Merge pull request #458 from hashicorp/h-notes
...
Pass notes field from service checks through
2014-11-06 21:07:45 -08:00
Ryan Uber
df5859580f
agent: pass notes field through for checks inside of service definitions. Fixes #449
2014-11-06 18:25:21 -08:00
Armon Dadgar
cf7e9e40d5
Fixing unit tests
2014-11-03 11:40:55 -08:00
Armon Dadgar
cd936793ad
Support old recursor config for backwards compatibility
2014-11-03 11:28:21 -08:00
foostan
35b006d884
Add multiple recursor definition support
2014-11-01 04:26:26 +09:00
Ryan Uber
28f31a8dd8
agent: add support for multiple checks and config mixing
2014-10-26 13:11:25 -07:00
Ryan Uber
c1dfa55859
agent: test config as a whole in services test
2014-10-26 12:00:11 -07:00
Alexander Simmerl
461c1e18a5
Add multiple service definition support
...
This change-set adds another key to the configuration decoding called
`services`, which is expected to be a list of service definitions. It
follows the established convention of only allowing one of the keys:
`service`, `check`, `services`. For every entry in the list it calls
the corresponding decode method and appends it to the Servics of the
resulting Config.
While a similar result could be achieved with changing the Services
member of the Config struct to have named mapstruct tag it lacks the
proper time conversions provided by DecodeServiceDefinition.
2014-10-23 22:50:40 -04:00
Armon Dadgar
541b98a926
Gofmt
2014-10-20 10:21:31 -07:00
Armon Dadgar
ce4aa7beb5
Switching to the pinned version of msgpack
2014-10-17 18:26:19 -07:00
Ryan Uber
cc613a90fd
agent: test services are in sync when added from the API
2014-10-17 17:33:27 -07:00
Ryan Uber
525d74aebc
agent: add test for consul service sync state
2014-10-17 14:43:52 -07:00
Ryan Uber
2319460904
agent: initialize local consul service tags to fix service sync
2014-10-17 14:29:12 -07:00
Armon Dadgar
e4dc15b9e3
agent: skip syslog test on windows
2014-10-17 11:24:10 -07:00
Ryan Uber
b2ae3434b1
agent: optimize rpc monitor test
2014-10-16 10:20:57 -07:00
Ryan Uber
35157659a3
agent: fix failing monitor test
2014-10-15 18:23:21 -07:00
Armon Dadgar
4f1fa3a4ce
Merge pull request #401 from hashicorp/f-healthcheck
...
Default services to "critical" state instead of "unknown"
2014-10-15 16:50:38 -07:00
Armon Dadgar
e720a09aa4
Merge pull request #400 from hashicorp/f-service-filter
...
agent: Register "consul" service in agent layer
2014-10-15 16:48:57 -07:00
Ryan Uber
149656951d
agent: fix tests after default status change
2014-10-15 15:43:53 -07:00
Ryan Uber
10610d3d26
agent: fix failing test
2014-10-15 15:03:43 -07:00
Ryan Uber
cfca160cd5
formatting
2014-10-15 14:56:15 -07:00
Ryan Uber
aa6ffc90f0
agent: remove special case of consul service, adjust tests
2014-10-15 14:52:00 -07:00
Ryan Uber
2f93e13da8
consul: kill remaining use of HealthUnknown
2014-10-15 10:14:46 -07:00
Ryan Uber
f311ada60e
agent: Default health checks to critical. Fixes #341
2014-10-15 10:09:49 -07:00
Ryan Uber
e2246b9f6c
agent: account for consul service in anti-entropy tests
2014-10-14 18:06:07 -07:00
Ryan Uber
cc999e339b
agent: fix node name in cli test
2014-10-14 17:49:17 -07:00
Ryan Uber
b1e8d351ab
agent: re-use ConsulServiceID from consul package
2014-10-14 15:44:11 -07:00
Ryan Uber
4576b4eb29
agent: auto-register the consul service on server nodes
2014-10-14 15:35:00 -07:00
Ryan Uber
b804e1ab52
agent: Allow 'consul' service to be targeted for events. Fixes #344
2014-10-14 12:58:52 -07:00
Armon Dadgar
6ffcdbc183
Merge pull request #397 from hashicorp/f-syslog
...
Filter messages logged to syslog
2014-10-14 12:02:03 -07:00
Ryan Uber
b9977338fd
agent: Filter messages logged to syslog. Fixes #272
2014-10-13 22:38:12 -07:00
Armon Dadgar
84649b5423
agent: Fixing multiple headers for /v1/event/list endpoint. Fixes #361
2014-10-13 17:53:54 -07:00
Armon Dadgar
3e32e906d1
agent: Fixing tests
2014-10-13 17:52:51 -07:00
Armon Dadgar
bee5fe280c
Merge pull request #396 from ryanuber/f-retry-join
...
agent: Retry failed joins on agent start
2014-10-13 10:46:10 -07:00
Ryan Uber
b35578a917
command: formatting
2014-10-12 12:45:40 -07:00
Ryan Uber
599d0558e7
agent: test max retries in config
2014-10-12 12:40:52 -07:00
Ryan Uber
62b4752804
command/agent: add help for retry join
2014-10-12 12:35:25 -07:00
Ryan Uber
67e1f363e1
agent: add retry join tests
2014-10-12 12:27:03 -07:00
Ryan Uber
4bc4ba2d09
agent: test retry join config
2014-10-12 11:20:33 -07:00
Ryan Uber
6d75fc8fb2
agent: merge RetryInterval in config merger
2014-10-12 10:54:53 -07:00
Ryan Uber
7c91c08457
agent: first pass at join retry
2014-10-12 10:50:15 -07:00
Armon Dadgar
77436a15fd
agent: tests for DNS truncate config
2014-09-30 13:04:31 -07:00
Alex Wheeler
6cac440a8d
Adding support for enabling the DNS truncate flag for UDP queries.
2014-09-30 15:15:36 -04:00
Anton Lindström
b8ae4b7d92
Remove redundant assignment
2014-09-29 14:22:31 +02:00
William Tisäter
c061eec101
Go format fix
2014-09-19 10:51:03 +02:00
Soren Hansen
caedef5cc1
Also change the call sites. *sigh*
2014-09-18 12:55:09 +02:00
Soren Hansen
8605488598
Fix style issue in remote_exec_test
2014-09-18 11:04:20 +02:00
Soren Hansen
8f5089a661
Remove test code duplication
2014-09-17 21:33:03 +02:00
Soren Hansen
264d619457
Pass exitCode by reference
...
Arguments to defer statements are evaluated when the defer statement is
evaluated, so pass exitCode by reference instead.
Fixes issue #346
2014-09-17 21:17:51 +02:00
Armon Dadgar
36fd5f76c2
agent: Fixing issue with multiple watches. Fixes #337
2014-09-15 10:56:04 -07:00
Armon Dadgar
a8b66666f5
agent: Fixing config merge issue
2014-09-02 14:49:31 -07:00
Armon Dadgar
d04880cc60
agent: Support for checkpoint
2014-09-02 14:23:43 -07:00
Armon Dadgar
e86c5b2627
agent: Address overrides. Fixes #301 and #253
2014-09-02 12:47:40 -07:00
Armon Dadgar
cc728a1345
agent: Adding address configurations
2014-09-02 12:42:14 -07:00
Armon Dadgar
98acc0a908
agent: statsd support. Fixes #247
2014-09-02 11:26:17 -07:00
Armon Dadgar
3286074758
agent: Handle cancel for idle wait
2014-09-01 14:46:22 -07:00
Armon Dadgar
9b74b86709
agent: Testing remote exec
2014-09-01 14:46:22 -07:00
Armon Dadgar
9ba4f31fde
agent: Refactor remote exec write code
2014-09-01 14:46:22 -07:00
Armon Dadgar
a0c6dbfe2a
agent: testing remote exec writer
2014-09-01 14:46:21 -07:00
Armon Dadgar
53777527e0
agent: First pass at remote exec support
2014-09-01 14:46:21 -07:00
Armon Dadgar
6a6885ec18
agent: Refactor msgpack serialization into util
2014-09-01 14:46:21 -07:00