Daniel Malon
1889841acd
use the service specific address in SRV response
2015-01-05 22:48:30 +00:00
Ryan Uber
d9136d3411
agent: use mapstructure's Metadata.Unused to detect extraneous config
2015-01-05 14:41:19 -08:00
Ryan Uber
25fb18b1cf
agent: reject config with invalid options
2015-01-05 12:30:03 -08:00
Armon Dadgar
1088a5c170
Merge pull request #558 from ceh/http-api-response-headers
...
add ability to specify response headers on the HTTP API
2015-01-05 11:36:08 -08:00
Daniel Malon
e56b3861dc
advertise specific address for a service
...
Enable setting a specific address in a service definition for advertise. If no specific address is given it will fallback to the node address and reassemble the old behaviour.
2015-01-02 21:10:05 +00:00
Thordur Bjornsson
59d4f20e62
Test both ?pretty both bare and with value.
2015-01-02 09:15:41 +01:00
Thordur Bjornsson
8beb1bb848
handle ?pretty similarly to ?stale, ?consistent etc.
2015-01-02 08:00:08 +01:00
Ryan Uber
92e9e138b9
agent: test pretty printed json
2015-01-01 14:27:10 -08:00
Emil Hessman
db23a3f0e9
add ability to specify response headers on the HTTP API
...
Add an config object that allows adding HTTP header response fields to every
HTTP API response.
Each specified header is added to every response from all HTTP API endpoints.
Each individual endpoint may overwrite the specified header, which makes sure
that Consul headers such as 'X-Consul-Index' is enforced by the API.
2014-12-28 19:17:08 +01:00
Ryan Breen
b97a35234d
Clean up log line and reduce test time.
2014-12-18 09:00:51 -05:00
Ryan Breen
d415219cd5
Test that staggered checks run within the defined interval.
2014-12-17 22:39:11 -05:00
Ryan Breen
3b77bb7682
Well, that sure is cleaner.
2014-12-17 22:24:41 -05:00
Ryan Breen
3cb88d0a4f
Add a randomized start before running CheckMonitors.
2014-12-17 21:44:12 -05:00
lalyos
3823a931c6
Add default rpc address configuration option as CONSUL_RPC_ADDR env variable
...
Similar as in serf: https://github.com/hashicorp/serf/pull/210
2014-12-16 12:18:34 +01:00
Armon Dadgar
9b897d1134
consul: Ignore zero ttl on session
2014-12-12 19:17:04 -08:00
Armon Dadgar
8dbfe7c9a8
Merge pull request #524 from amalaviy/session_ttl
...
Consul Session TTLs
2014-12-12 14:42:25 -08:00
Atin Malaviya
5a76929ba4
Fixed clearSessionTimer, created invalidateSession, added invalid TTL test
2014-12-11 05:34:31 -05:00
Atin Malaviya
7ece29c3e0
Took out usage of snapshot SessionListTTL
2014-12-10 21:37:06 -05:00
Atin Malaviya
e84b26fcf5
Remove hardcoded wait time in session TTL tests
2014-12-10 21:04:09 -05:00
Atin Malaviya
8369b77204
Clean up code based on feedback from armon
2014-12-10 20:49:06 -05:00
Atin Malaviya
c992c18ef0
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
b623af776b
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
154c4e93e4
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
Ali Abbas
0117529781
remove control flow on errExit by switching from bool to int
2014-12-06 12:50:38 +01:00
Chavez
7c1aad7b1d
agent: agent test fixes
2014-12-05 10:36:44 -08:00
Veres Lajos
850d5bdc32
typofixes - https://github.com/vlajos/misspell_fixer
2014-12-04 23:25:06 +00:00
Armon Dadgar
b10159a87b
agent: Handle service ACLs when doing anti-entropy
2014-12-01 11:43:01 -08:00
Ryan Uber
42bad4af80
agent: fixup all check definitions from json config
2014-11-30 18:27:37 -08:00
Ryan Uber
9e52588cec
agent: persist CheckType with health checks
2014-11-29 12:54:37 -08:00
Ryan Uber
4f14ba6326
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
ecac719bb8
fix Sprintf formatting
2014-11-25 20:06:33 +01:00
Ali Abbas
73504a01e9
cleanup unreachable code
2014-11-25 19:54:30 +01:00
Ryan Uber
fe119a1bd2
agent: prefer config over persisted services/checks ( #497 )
2014-11-24 19:40:53 -08:00
Armon Dadgar
746c52644b
Merge pull request #497 from hashicorp/f-persist
...
Persist locally registered services and checks
2014-11-24 11:14:08 -08:00
Armon Dadgar
521414f09a
agent: Adding TODO for future optimization
2014-11-24 11:09:04 -08:00
Ryan Uber
1f5af52e0b
agent: pass error through when writing state files
2014-11-24 01:58:39 -08:00
Ryan Uber
ce0d27caba
agent: default restored checks to critical status
2014-11-24 01:15:18 -08:00
Ryan Uber
e3c2075a9d
agent: first pass at local service and check persistence
2014-11-24 01:10:27 -08:00
lalyos
adc5d0a522
agent: implementing reverse dns lookup for ipv4 and ipv6
2014-11-23 09:16:37 +01:00
Armon Dadgar
b58b35d659
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
3d4ea8142c
agent: make event buffer test non-sequential
2014-11-20 21:56:50 -08:00
Ryan Uber
3f5e0d8ec0
agent: Test event order preservation for watches
2014-11-20 20:35:52 -08:00
Ryan Uber
5badc695b8
agent: Preserve ordering of event buffer. Fixes #479
2014-11-20 19:51:08 -08:00
Atin Malaviya
3aabda02b3
Clean up tests, use switch to default session.Behavior value if unspecified, unrecognized
2014-11-20 14:29:18 -05:00
Atin Malaviya
aa0cecd04e
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
accf2bbb59
agent: remove unused config variable
2014-11-19 23:18:12 -08:00
Ryan Uber
4cd89a9113
Rebase against upstream
2014-11-19 16:45:49 -08:00
Ryan Uber
a675b5faae
agent: fix gossip encryption detection
2014-11-19 16:37:40 -08:00
Ryan Uber
c9118b53bf
agent: fix loading keyring on agent start
2014-11-19 16:37:40 -08:00
Ryan Uber
196cbd27b2
agent: ignore -encrypt if provided when keyring exists
2014-11-19 16:37:40 -08:00
Ryan Uber
3b2ab70c4d
consul: clean up comments, fix globalRPC tests
2014-11-19 16:37:40 -08:00
Ryan Uber
2661bbfa27
consul: more tests, remove unused KeyManager() method
2014-11-19 16:37:40 -08:00
Ryan Uber
fcacee723b
consul: simplify keyring operations
2014-11-19 16:36:19 -08:00
Ryan Uber
00fc7fa1dd
command/keyring: adjust command help
2014-11-19 16:36:18 -08:00
Ryan Uber
b3f251de9c
command/keyring: clean up tests
2014-11-19 16:36:18 -08:00
Ryan Uber
f24ac482e3
agent: fix test cases
2014-11-19 16:36:18 -08:00
Ryan Uber
bb9617642a
agent: make rpc tests more reliable
2014-11-19 16:36:01 -08:00
Ryan Uber
d02afd42fb
agent: -encrypt appends to keyring if one exists
2014-11-19 16:36:01 -08:00
Ryan Uber
295f876923
command/agent: fix up gossip encryption indicator
2014-11-19 16:35:37 -08:00
Ryan Uber
c59107f08e
command: remove -init argument from keyring, auto-persist keyrings when using agent -encrypt
2014-11-19 16:35:13 -08:00
Ryan Uber
7f85c708dc
agent: squash some more common keyring semantics
2014-11-19 16:34:18 -08:00
Ryan Uber
daebf39946
agent: guard against empty keyring files
2014-11-19 16:34:18 -08:00
Ryan Uber
db0084ccd0
consul: use keyring operation type to cut out duplicated logic
2014-11-19 16:34:18 -08:00
Ryan Uber
33dea16567
agent: fix install key test
2014-11-19 16:34:18 -08:00
Ryan Uber
001a579d47
command/keyring: cleanup
2014-11-19 16:34:18 -08:00
Ryan Uber
bea19b5135
command/keyring: refactor, adjust tests
2014-11-19 16:34:18 -08:00
Ryan Uber
c1ea291112
command: fix panic when client RPC is asked for a keyring operation
2014-11-19 16:34:17 -08:00
Ryan Uber
1ec111bbfc
consul: kill unused struct fields
2014-11-19 16:34:17 -08:00
Ryan Uber
c4a9291bb9
command/keyring: remove unneeded -wan arg, fix tests
2014-11-19 16:34:17 -08:00
Ryan Uber
6277a76a9d
agent: adjust rpc client tests for keyring
2014-11-19 16:34:17 -08:00
Ryan Uber
52582e7365
command: fixing test cases for keyring
2014-11-19 16:34:17 -08:00
Ryan Uber
30f5f06dfe
command/keyring: clean up output
2014-11-19 16:34:17 -08:00
Ryan Uber
f6b5fc8c08
consul: cross-dc key rotation works
2014-11-19 16:34:17 -08:00
Ryan Uber
71e9715c54
consul: restructuring
2014-11-19 16:34:17 -08:00
Ryan Uber
a551a6e4a0
consul: refactor keyring, repeat RPC calls to all DC's
2014-11-19 16:34:17 -08:00
Ryan Uber
03012e8ac6
command: allow wan ring to be modified separately from lan pools
2014-11-19 16:33:34 -08:00
Ryan Uber
72fc1ceead
agent: split keyring functionality out of agent.go
2014-11-19 16:32:32 -08:00
Ryan Uber
355fc89f7f
command: test generated keyring file content and conflicting args for agent
2014-11-19 16:32:06 -08:00
Ryan Uber
f9fd1f3f05
agent: test loading keyring files for client and server
2014-11-19 16:31:40 -08:00
Ryan Uber
a9f3cbd7f0
command: various cleanup
2014-11-19 16:31:06 -08:00
Ryan Uber
986eb0eefe
agent: add tests for keyring presence checks
2014-11-19 16:31:06 -08:00
Ryan Uber
c88780fe12
command/keyring: add tests for init
2014-11-19 16:31:06 -08:00
Ryan Uber
6609cb680b
command: use separate key files for LAN/WAN
2014-11-19 16:31:06 -08:00
Ryan Uber
8dc53447a3
command: renamed keys to keyring to disambiguate usage
2014-11-19 16:31:06 -08:00
Ryan Uber
ee20698199
command/keys: refactor, restrict key operations to server nodes
2014-11-19 16:31:06 -08:00
Ryan Uber
a36ab53f25
agent: move keyring initialization out of agent, add -init option to keys command
2014-11-19 16:31:06 -08:00
Ryan Uber
dfdd7c4ef7
agent: fix keyring loading when config is passed off
2014-11-19 16:31:06 -08:00
Ryan Uber
3e64ed70df
agent: clean up keyring file implementation
2014-11-19 16:31:06 -08:00
Ryan Uber
2e92e19760
agent: refactor keyring loader
2014-11-19 16:31:06 -08:00
Ryan Uber
ee50795850
agent: install/use/remove key tests
2014-11-19 16:30:22 -08:00
Ryan Uber
0ad0805234
agent: add rpc tests for listing lan/wan gossip keys
2014-11-19 16:30:22 -08:00
Ryan Uber
b1b722dbff
command/keys: test network connection failure
2014-11-19 16:30:22 -08:00
Ryan Uber
04f2a53735
command/keys: adding more tests
2014-11-19 16:30:22 -08:00
Ryan Uber
109a3604da
command/keys: begin tests
2014-11-19 16:30:22 -08:00
Ryan Uber
5f04ae277e
command/keys: remove key command implemented
2014-11-19 16:30:22 -08:00
Ryan Uber
ccda799039
command/keys: use key command implemented
2014-11-19 16:30:22 -08:00
Ryan Uber
d52163703e
command/keys: customize info message when listing keys
2014-11-19 16:30:22 -08:00
Ryan Uber
d03ed1a9ba
agent: install key command implemented
2014-11-19 16:30:22 -08:00
Ryan Uber
b11afa33f3
command/keys: use PrefixedUi for keys command
2014-11-19 16:30:22 -08:00
Ryan Uber
164f2428ff
command/keys: fail fast if no actionable args were passed
2014-11-19 16:30:21 -08:00
Ryan Uber
cae3f0fd0b
agent: fix inversed lan/wan key listing
2014-11-19 16:30:21 -08:00
Ryan Uber
83af160fc3
command/keys: list keys working end-to-end
2014-11-19 16:30:21 -08:00
Ryan Uber
b200332ae3
command: add option for -wan to keys command
2014-11-19 16:30:21 -08:00
Ryan Uber
43a60f1424
command: basic rpc works for keys command
2014-11-19 16:30:21 -08:00
Ryan Uber
96376212ff
consul: use rpc layer only for key management functions, add rpc commands
2014-11-19 16:30:21 -08:00
Ryan Uber
f25c2c1f06
command: add skeletons for keys command
2014-11-19 16:30:21 -08:00
Ryan Uber
61e3647ac1
command: warn when passing -encrypt when keyring already exists
2014-11-19 16:30:21 -08:00
Ryan Uber
208b5ae58f
command: create serf dir if it doesn't exist, document -disable-keyring arg
2014-11-19 16:30:21 -08:00
Ryan Uber
4b26566537
consul: fix json marshaling
2014-11-19 16:30:21 -08:00
Ryan Uber
8a4ed84711
consul: first pass at keyring integration
2014-11-19 16:30:20 -08:00
Armon Dadgar
dd8c0f1282
agent: Fixing wan join tests
2014-11-19 13:53:17 -08:00
Armon Dadgar
5d486a6bd0
agent: Fixing config merge test
2014-11-19 13:38:58 -08:00
Armon Dadgar
e831949380
agent: Fixing UiDir in test
2014-11-19 13:29:15 -08:00
Armon Dadgar
de35a8e38f
agent: Fixing port collision in tests
2014-11-19 11:51:25 -08:00
Armon Dadgar
dd41c69389
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
2bd0e8c745
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
Janne Paenkaelae
e15262c8b7
Make the 'consul version' to return value that is from 'git describe --tags'
2014-11-18 22:15:58 +00:00
Atin Malaviya
b4424a1a50
Moved TLS Config stuff to tlsutil package
2014-11-18 11:03:36 -05:00
Atin Malaviya
46178dbb37
Change names to StartJoinWan, RetryJoinWan etc
2014-11-17 17:14:59 -05:00
Atin Malaviya
59a68ecc26
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
df8d099f49
Add start-wan-join, retry-wan-join and related configuration options and commandline options
2014-11-14 10:56:39 -05:00
Ryan Uber
9ddba236d0
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
398179dcad
agent: pass notes field through for checks inside of service definitions. Fixes #449
2014-11-06 18:25:21 -08:00
Armon Dadgar
f5acbace17
Fixing unit tests
2014-11-03 11:40:55 -08:00
Armon Dadgar
982b177e69
Support old recursor config for backwards compatibility
2014-11-03 11:28:21 -08:00
foostan
4d8f1c2133
Add multiple recursor definition support
2014-11-01 04:26:26 +09:00
Ryan Uber
97ba2703f1
agent: add support for multiple checks and config mixing
2014-10-26 13:11:25 -07:00
Ryan Uber
d4e5592360
agent: test config as a whole in services test
2014-10-26 12:00:11 -07:00
Alexander Simmerl
ad4598959e
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
af90aa8026
Gofmt
2014-10-20 10:21:31 -07:00
Armon Dadgar
3f36515544
Switching to the pinned version of msgpack
2014-10-17 18:26:19 -07:00
Ryan Uber
c236900dba
agent: test services are in sync when added from the API
2014-10-17 17:33:27 -07:00
Ryan Uber
6b119b98f0
agent: add test for consul service sync state
2014-10-17 14:43:52 -07:00
Ryan Uber
0322bf2b7d
agent: initialize local consul service tags to fix service sync
2014-10-17 14:29:12 -07:00
Armon Dadgar
c4951bb598
agent: skip syslog test on windows
2014-10-17 11:24:10 -07:00
Ryan Uber
b394dff38f
agent: optimize rpc monitor test
2014-10-16 10:20:57 -07:00
Ryan Uber
e94627be20
agent: fix failing monitor test
2014-10-15 18:23:21 -07:00
Armon Dadgar
a1d2f9a3da
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
efcbcb6237
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
54d6e256e3
agent: fix tests after default status change
2014-10-15 15:43:53 -07:00
Ryan Uber
3d712feba4
agent: fix failing test
2014-10-15 15:03:43 -07:00
Ryan Uber
b7a75a2314
formatting
2014-10-15 14:56:15 -07:00
Ryan Uber
f83f80cf22
agent: remove special case of consul service, adjust tests
2014-10-15 14:52:00 -07:00
Ryan Uber
ec63686416
consul: kill remaining use of HealthUnknown
2014-10-15 10:14:46 -07:00
Ryan Uber
967cc6d701
agent: Default health checks to critical. Fixes #341
2014-10-15 10:09:49 -07:00
Ryan Uber
cd43b486a2
agent: account for consul service in anti-entropy tests
2014-10-14 18:06:07 -07:00
Ryan Uber
80a77a82df
agent: fix node name in cli test
2014-10-14 17:49:17 -07:00
Ryan Uber
ece81c11ac
agent: re-use ConsulServiceID from consul package
2014-10-14 15:44:11 -07:00
Ryan Uber
5e66e2ae1e
agent: auto-register the consul service on server nodes
2014-10-14 15:35:00 -07:00
Ryan Uber
1759f36d43
agent: Allow 'consul' service to be targeted for events. Fixes #344
2014-10-14 12:58:52 -07:00