Commit Graph

1116 Commits

Author SHA1 Message Date
Ryan Uber fa19d09390 command/maint: display active maintenance when no args are passed 2015-01-22 10:26:17 -08:00
Armon Dadgar 14d55cb40a Merge pull request #622 from hashicorp/f-sockets
Unix domain sockets
2015-01-21 16:30:03 -08:00
Ryan Uber 8c1c230ce3 agent: use const for default maintenance reason strings 2015-01-21 14:53:52 -08:00
Ryan Uber 5cd8800b60 agent: fix test 2015-01-21 14:12:18 -08:00
Ryan Uber 718cd94b50 agent: prevent duplicate error messages for maintenance api 2015-01-21 13:28:26 -08:00
Ryan Uber d65f4035b9 agent: support passing ?reason= for custom notes field values on maintenance checks 2015-01-21 12:21:57 -08:00
Ryan Uber 40cfd527cb agent: fix maintenance check ID 2015-01-21 11:03:42 -08:00
Ryan Uber b71ffb1fa3 agent: change node maintenance endpoint 2015-01-21 10:57:44 -08:00
Ryan Uber a498433078 agent: use strconv.ParseBool for parsing maintenance enable flag 2015-01-21 09:53:31 -08:00
Ryan Uber ced676ffc2 agent: comments for new anti-entropy functionality 2015-01-20 21:48:46 -08:00
Ryan Uber 72e750fb00 agent: simplify anti-entropy of services with multiple checks, add tests 2015-01-20 21:48:46 -08:00
Ryan Uber 001d2e246d agent: only send service with check sync if it is out of sync 2015-01-20 21:48:46 -08:00
Ryan Uber 3b2e9d1b90 agent: refactor syncChecks 2015-01-20 21:48:46 -08:00
Ryan Uber 684474af1d agent: support adding multiple checks during service registration from the API 2015-01-20 21:48:45 -08:00
Ryan Uber 27de0adf3b agent: support multiple checks per service 2015-01-20 21:48:42 -08:00
Ryan Uber 9fe1b68f26 agent: use squash mapstructure tag to properly decode embedded structs 2015-01-20 21:10:58 -08:00
Ryan Uber c669a17fa6 agent: use interface for file permissions 2015-01-20 18:53:18 -08:00
Ryan Uber 1e0cd2e499 agent: test permissions are set on rpc socket 2015-01-20 16:57:00 -08:00
Ryan Uber 88af31507f agent: fix tests 2015-01-20 16:50:21 -08:00
Ryan Uber aa58218dfd agent: re-add support for user name in socket perms 2015-01-20 16:21:23 -08:00
Ryan Uber 77c6b86b1e agent: test Unix domain socket permission settings 2015-01-20 14:32:15 -08:00
Ryan Uber 73a111b35d agent: adjusting tests for new behavior of sockets 2015-01-20 14:13:36 -08:00
Ryan Uber c01277725a agent: beginning socket user/group/mode support as discussed in #612 2015-01-20 13:44:27 -08:00
Ryan Uber 9ee9c5acd5 agent: test agent rpc unix socket create failure 2015-01-19 09:56:59 -08:00
Ryan Uber 49127722ec Merge pull request #610 from dave-tucker/bug/609
Don't forget to Shutdown the DNS Server!
2015-01-16 16:46:37 -08:00
Dave Tucker f026b8781e Don't forget to Shutdown the DNS Server!
Fixes #609

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2015-01-17 00:30:53 +00:00
Ryan Uber f29ea9f637 agent: maintenance logging + unique service check IDs 2015-01-16 15:38:13 -08:00
Ryan Uber 6d284052fc agent: test node maintenance mode 2015-01-16 15:38:13 -08:00
Ryan Uber 8ea9eb87ea agent: node maintenance mode works 2015-01-16 15:38:13 -08:00
Ryan Uber 3b815cd0aa agent: maintenance mode api's are idempotent 2015-01-16 15:37:52 -08:00
Ryan Uber 8a4a8eb023 agent: maintenance mode is persistent 2015-01-16 15:37:52 -08:00
Ryan Uber 9ceb0f19d8 agent: test http endpoints for maintenance mode 2015-01-16 15:37:51 -08:00
Ryan Uber 7d4801db29 agent: test agent service maintenance mode 2015-01-16 15:37:51 -08:00
Ryan Uber 4f4eb204f6 agent: first pass at service maintenance mode 2015-01-16 15:37:51 -08:00
Ryan Uber 263614d596 agent: error if binding to existing socket file 2015-01-16 12:39:15 -08:00
Ryan Uber 328204f535 agent: test socket file overwrite 2015-01-16 10:37:13 -08:00
Ryan Uber 705801ccca agent: fixing up tests 2015-01-16 09:58:37 -08:00
Ryan Uber 61d2f71d14 agent: only ignore errors on IsNotExist() 2015-01-16 09:14:52 -08:00
Ryan Uber ad19c0afc2 agent: beginning refactor 2015-01-16 00:45:03 -08:00
Jeff Mitchell 9bd66c70e5 Ensure a socket is created for permissions adjustment tests and fix some
items pointed out in the code review

This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-15 14:33:44 +00:00
Jeff Mitchell c3707d3ee5 Add a Unix socket RPC test. I modified some code in the testing library to not make assumptions about the listening socket; all RPC tests still pass. Still to do: Unix socket HTTP test.
This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-14 19:31:21 +00:00
Jeff Mitchell f88536f192 Remove unnecessary ClientListenerAddr function. Rework config test functions to be cleaner. Start of runtime tests.
This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-14 19:31:21 +00:00
Jeff Mitchell 4838beec4e Tests for populateUnixSocket. Still need to write tests for the other major function, and basic socket listening tests.
This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-14 19:31:21 +00:00
Jeff Mitchell 400eadd671 RPC and HTTP interfaces fully generically-sockified so Unix is supported.
Client works for RPC; will honor CONSUL_RPC_ADDR. HTTP works via consul/api;
honors CONSUL_HTTP_ADDR.

The format of a Unix socket in configuration data is:
"unix://[/path/to/socket];[username or uid];[gid];[mode]"

Obviously, the user must have appropriate permissions to create the socket
file in the given path and assign the requested uid/gid. Also note that Go does
not support gid lookups from group name, so gid must be numeric. See
https://codereview.appspot.com/101310044

When connecting from the client, the format is just the first part of the
above line:
"unix://[/path/to/socket]"

This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-14 19:31:21 +00:00
Armon Dadgar f3baa0a113 command/agent: Minor cleanups 2015-01-13 12:18:18 -08:00
Armon Dadgar d80588f780 Merge pull request #592 from nicholascapo/check-http
command/agent: Add simple HTTP check type
2015-01-13 12:11:50 -08:00
Armon Dadgar 1bfe8efbac Merge pull request #595 from ebroder/dns-only-passing
Add "only_passing" option to DNS config
2015-01-13 12:07:22 -08:00
Evan Broder a9ce71e304 Add more thorough testing for only_passing behavior 2015-01-13 14:59:24 +01:00
Nicholas Capo b631c74ac2 command/agent: Add tests for HTTP Check 2015-01-13 00:09:42 +00:00
Ryan Uber 793a7b74aa agent: make dns randomization test more reliable 2015-01-12 16:05:41 -08:00
Nicholas Capo e116c03f86 command/agent: HTTP Check: Create httpClient in Start()
For long (>10s) interval checks the http timeout is 10s, otherwise thetimeout is the interval. This means that a check *should* return
before the next check begins.
2015-01-13 00:01:15 +00:00
Nicholas Capo 27fe823fd2 command/agent: HTTP Check: Include response in check status 2015-01-12 22:35:28 +00:00
Nicholas Capo f26a79c325 command/agent: Stop HTTP checks when the check is removed 2015-01-12 22:34:39 +00:00
Nicholas Capo 1918f39020 command/agent: HTTP check: Any 2xx is OK, 429 is WARNING 2015-01-12 21:58:57 +00:00
Evan Broder b5e1de165b Add "only_passing" option to DNS config
This excludes nodes from DNS results if their healthchecks are in any
non-passing state, not just if they're critical.
2015-01-10 13:17:11 +01:00
Ryan Uber 44efa3cca4 agent: fix local_test.go 2015-01-09 16:44:12 -08:00
Ryan Uber 12cd27e588 agent: wrap deferred anti-entropy sync test in WaitForResult 2015-01-09 16:42:44 -08:00
Nicholas Capo f2649edcfc command/agent: Add simple HTTP check type
These checks make an `HTTP GET` request every Interval to the specified URL.
The status of the service depends on the HTTP Response Code.
`200` is passing, `503` is warning and anything else is failing.
2015-01-09 16:43:24 -06:00
Armon Dadgar 0b9f4d7153 agent: Testing the KV DELETE with cas 2015-01-08 17:31:32 -08:00
Armon Dadgar 7ec294597e agent: Support the ?cas parameter to KV DELETE 2015-01-08 17:08:58 -08:00
Armon Dadgar 04d89d8ce2 agent: Testing anti-entropy with service address 2015-01-08 12:02:04 -08:00
Armon Dadgar 3689b82cf4 agent: Adding test for DNS lookup with service address 2015-01-08 11:58:32 -08:00
Armon Dadgar 0164de5f44 agent: Fix de-duplication of SRV with service address 2015-01-08 10:47:41 -08:00
Armon Dadgar 957fa1f5ec consul: Fixing merge conflict 2015-01-08 10:42:19 -08:00
Armon Dadgar 7d9697dcf3 agent: Testing reverse lookup with custom TLD 2015-01-08 10:24:49 -08:00
dankennedy 3c43e0440f replaced consul domain with configured domain. Fixes #582 2015-01-08 10:16:05 +00:00
Ryan Uber 86bcef81b5 agent: test service and check unloading 2015-01-07 22:32:14 -08:00
Ryan Uber 770bb60af8 agent: consolidate service loading code, better logging 2015-01-07 22:01:43 -08:00
Ryan Uber 33bd157a61 agent: separate service and check loading/unloading concerns 2015-01-07 22:01:20 -08:00
Ryan Uber dea0070a39 agent: persist service/check data using hashed service/check IDs (fixes #573) 2015-01-07 19:11:21 -08:00
Ryan Uber 26d6ae0386 Merge pull request #576 from hashicorp/f-verify-config
agent: reject config with invalid options
2015-01-05 14:51:28 -08:00
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
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
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 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 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 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 6609cb680b command: use separate key files for LAN/WAN 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 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 d03ed1a9ba agent: install key command implemented 2014-11-19 16:30:22 -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 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
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
Armon Dadgar 10d8583d0e Merge pull request #397 from hashicorp/f-syslog
Filter messages logged to syslog
2014-10-14 12:02:03 -07:00
Ryan Uber 5324e71cec agent: Filter messages logged to syslog. Fixes #272 2014-10-13 22:38:12 -07:00
Armon Dadgar 8ee22d7fc4 agent: Fixing multiple headers for /v1/event/list endpoint. Fixes #361 2014-10-13 17:53:54 -07:00
Armon Dadgar f11396efaf agent: Fixing tests 2014-10-13 17:52:51 -07:00
Armon Dadgar 2c1add1c67 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 b78e063ea7 command: formatting 2014-10-12 12:45:40 -07:00
Ryan Uber c75539560f agent: test max retries in config 2014-10-12 12:40:52 -07:00
Ryan Uber 1ec68be726 command/agent: add help for retry join 2014-10-12 12:35:25 -07:00
Ryan Uber 92e79f51a5 agent: add retry join tests 2014-10-12 12:27:03 -07:00
Ryan Uber 0249700bff agent: test retry join config 2014-10-12 11:20:33 -07:00
Ryan Uber f476166fe4 agent: merge RetryInterval in config merger 2014-10-12 10:54:53 -07:00
Ryan Uber 0266592205 agent: first pass at join retry 2014-10-12 10:50:15 -07:00
Armon Dadgar 1419182a5c agent: tests for DNS truncate config 2014-09-30 13:04:31 -07:00
Alex Wheeler a805e17b9c Adding support for enabling the DNS truncate flag for UDP queries. 2014-09-30 15:15:36 -04:00
Anton Lindström 7f8f3c8edc Remove redundant assignment 2014-09-29 14:22:31 +02:00
William Tisäter 554fc14f7d Go format fix 2014-09-19 10:51:03 +02:00
Soren Hansen 63946e04c4 Also change the call sites. *sigh* 2014-09-18 12:55:09 +02:00
Soren Hansen 6f50f5d789 Fix style issue in remote_exec_test 2014-09-18 11:04:20 +02:00
Soren Hansen 2d77553be4 Remove test code duplication 2014-09-17 21:33:03 +02:00
Soren Hansen df2959ce42 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 2067cc32dd agent: Fixing issue with multiple watches. Fixes #337 2014-09-15 10:56:04 -07:00
Armon Dadgar 9c16ce0cae agent: Fixing config merge issue 2014-09-02 14:49:31 -07:00
Armon Dadgar a1591d21d7 agent: Support for checkpoint 2014-09-02 14:23:43 -07:00
Armon Dadgar 55c695493b agent: Address overrides. Fixes #301 and #253 2014-09-02 12:47:40 -07:00
Armon Dadgar 10c276dae6 agent: Adding address configurations 2014-09-02 12:42:14 -07:00
Armon Dadgar 47e30adf13 agent: statsd support. Fixes #247 2014-09-02 11:26:17 -07:00
Armon Dadgar 122d919d19 agent: Handle cancel for idle wait 2014-09-01 14:46:22 -07:00
Armon Dadgar 7214fc37ea agent: Testing remote exec 2014-09-01 14:46:22 -07:00
Armon Dadgar b2c6934dd5 agent: Refactor remote exec write code 2014-09-01 14:46:22 -07:00
Armon Dadgar 9cbc3986c5 agent: testing remote exec writer 2014-09-01 14:46:21 -07:00
Armon Dadgar 75bc21a1f6 agent: First pass at remote exec support 2014-09-01 14:46:21 -07:00
Armon Dadgar 1a6666027c agent: Refactor msgpack serialization into util 2014-09-01 14:46:21 -07:00
Armon Dadgar 0cc1f8d42b agent: Adding remote exec configuration 2014-09-01 14:46:21 -07:00
Armon Dadgar 7f9b260c93 website: typo fixes 2014-08-30 17:22:23 -07:00
Armon Dadgar d9ae1da296 agent: Prevent hot spin on event list 2014-08-28 15:55:36 -07:00
Armon Dadgar a699b14da8 agent: Support event filtering on name 2014-08-28 15:25:53 -07:00
Armon Dadgar 99d39db982 agent: First pass at multi-DC support 2014-08-28 15:00:49 -07:00
Armon Dadgar 8d68940cec agent: Testing event endpoints 2014-08-28 14:38:00 -07:00
Armon Dadgar 93c925dd14 agent: First pass at event endpoints 2014-08-28 13:42:07 -07:00
Armon Dadgar 215002ef04 agent: Testing user events 2014-08-28 12:42:24 -07:00
Armon Dadgar f911e9b681 agent: Methods to get the user events 2014-08-28 11:15:55 -07:00
Armon Dadgar 4ef9040e02 agent: remove userEventEnc type 2014-08-28 10:56:30 -07:00
Armon Dadgar 69bdeb900a agent: Adding event ingestion 2014-08-27 17:01:10 -07:00
Armon Dadgar 1ebf074e13 agent: working on user events 2014-08-27 16:49:12 -07:00
Armon Dadgar b1cf52db01 consul: expose UserEvent from Serf 2014-08-26 18:50:03 -07:00
Armon Dadgar 168ddedcee agent: Support encrypt CLI flag. Fixes #245. 2014-08-22 15:08:15 -07:00
Armon Dadgar 8fad8538e8 agent: ACL violation returns 403 code 2014-08-22 12:59:47 -07:00
Armon Dadgar 5afc3e5a85 agent: Use SHELL if provided. Fixes #237. 2014-08-22 12:47:58 -07:00
Armon Dadgar 04dc1ee64a agent: Refactor script invoke 2014-08-21 14:28:16 -07:00
Armon Dadgar f82a38ab12 agent: First pass at agent-based watches 2014-08-21 13:09:13 -07:00
Armon Dadgar d36fcd2357 agent: Changing to use nested JSON for watches 2014-08-21 11:52:36 -07:00
Armon Dadgar d72158b71b agent: Adding watches config 2014-08-19 14:29:01 -07:00
Armon Dadgar 78b09c5764 agent: Fixing ACL tests with token param 2014-08-19 14:28:49 -07:00
Armon Dadgar cd3bbb4097 agent: Strict PUT for modifying ACLs 2014-08-19 14:28:34 -07:00
Armon Dadgar ee614ace35 agent: Enforce PUT for session destroy. Fixes #285. 2014-08-19 10:53:25 -07:00
Armon Dadgar 98b83d9c0d Merge pull request #288 from gmr/rfc-2782-srv-lookups
Add RFC-2782 style SRV lookups
2014-08-18 16:01:18 -07:00
Armon Dadgar 4a61a8bd31 agent: Rename acl delete to destroy 2014-08-18 15:46:58 -07:00
Armon Dadgar e27bead346 agent: Copy token in KV PUT/DELETE 2014-08-18 15:46:24 -07:00
Armon Dadgar bac1527281 agent: Fixing the ACL tests 2014-08-18 15:46:23 -07:00
Armon Dadgar 4e7d57a3db agent: Adding token parsing 2014-08-18 15:46:23 -07:00
Armon Dadgar d3065d1532 agent: Special handler if ACL support is disabled 2014-08-18 15:46:23 -07:00
Armon Dadgar 6f7bf36ee9 agent: ACL endpoint tests 2014-08-18 15:46:21 -07:00
Armon Dadgar d628aab646 agent: ACL endpoint 2014-08-18 15:46:21 -07:00
Armon Dadgar ca6a8aef55 agent: Adding ACL master token 2014-08-18 15:46:20 -07:00
Armon Dadgar ebae394863 consul: ACL setting passthrough 2014-08-18 15:46:20 -07:00
Armon Dadgar 0838ed0475 agent: Changing ACL config names 2014-08-18 15:46:20 -07:00
Armon Dadgar 489772eda3 agent: Adding new ACL flags 2014-08-18 15:46:20 -07:00
Gavin M. Roy b4989ef9ee Fix the over-indent 2014-08-18 15:50:36 -04:00
Gavin M. Roy 97b8960bd8 Add RFC-2782 style SRV lookups 2014-08-18 15:45:56 -04:00
Eric Connell 6c3aaa81c1 modified so ?pretty=anything will work 2014-08-01 14:28:46 -06:00
Eric Connell e31c6b8b83 make pretty condition more readable 2014-08-01 14:24:36 -06:00
Eric Connell 316673a2e5 added URL query parameter of "pretty=true" to output formatted json from the HTTP API 2014-08-01 14:11:51 -06:00
William Tisäter d8c772efb8 Remove DC case-insensitive check from node test 2014-07-23 23:42:22 +02:00
William Tisäter eab2cbc1ef Always lowercase incoming DNS query 2014-07-23 23:42:22 +02:00
William Tisäter 93509f755e Test DNS case-insensitivity 2014-07-23 23:42:22 +02:00
Armon Dadgar 84e5bd2727 agent: Provide better DNS setup error messages 2014-07-17 10:57:21 -07:00
Armon Dadgar c13f9f2a98 agent: Fixing issue with excessive failed node filtering 2014-07-16 15:11:45 -07:00
Nelson Elhage 95f3ebcb43 While we're at it, make statsite_addr work at all. 2014-07-10 18:16:47 -07:00
Armon Dadgar ba8c0802c7 agent: Fixing passing filter. Fixes #241 2014-07-05 09:49:21 -07:00
Armon Dadgar 358b473e01 Updating documentation for new bootstrap method 2014-07-01 15:02:26 -07:00
Armon Dadgar 80b86c9ee9 Rename Expect to BootstrapExpect. Fixes #223. 2014-06-19 17:08:55 -07:00
Armon Dadgar e54ad5d878 Fixing merge conflict 2014-06-18 15:48:46 -07:00
Armon Dadgar 93034084ce agent: Fixing missing copy of RejoinAfterLeave flag. #110 2014-06-18 10:32:19 -07:00
Robert Xu a2fea2ce55 Utilise new raft.SetPeers() method, move expect logic to leader.go.
This way, we don't use EnableSingleMode, nor cause chaos adding peers.

Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-18 12:03:30 -04:00
Armon Dadgar be0554778d agent: Fix issues with re-registration. Fixes #216 2014-06-17 16:48:19 -07:00
Robert Xu 31c392813c Add expect bootstrap '-expect=n' mode.
This allows for us to automatically bootstrap a cluster of nodes after
'n' number of server nodes join. All servers must have the same 'n' set, or
they will fail to join the cluster; all servers will not join the peer set
until they hit 'n' server nodes.

If the raft commit index is not empty, '-expect=n' does nothing because it
thinks you've already bootstrapped.

Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-16 17:40:33 -04:00
Armon Dadgar 0577ec21a8 agent: Copy ServerName config 2014-06-13 11:27:44 -07:00
Armon Dadgar 91373968a8 Adding server_name configuration for TLS 2014-06-13 11:10:27 -07:00
Armon Dadgar eeb9911a28 agent: Improve test reliability 2014-06-11 12:01:14 -07:00
Armon Dadgar 074c238ce8 agent: Add reload to RPC clien 2014-06-11 10:53:34 -07:00
Armon Dadgar 4f77db2d47 agent: Watch reload channel for trigger 2014-06-11 10:53:28 -07:00
Armon Dadgar 46c535a834 agent: Adding reload RPC command 2014-06-11 10:53:12 -07:00
Armon Dadgar 1021f48ad2 agent: Set custom syslog facility. Fixes #170. 2014-06-11 10:28:55 -07:00
Armon Dadgar 648429288e agent: Adding SyslogFacility configuration 2014-06-11 10:18:19 -07:00
Armon Dadgar e972de44ad agent: Cleanup handling of defer checks 2014-06-10 10:42:55 -07:00
Armon Dadgar 4909c74175 agent: Fixing merge of CheckUpdateInterval 2014-06-09 21:34:19 -07:00
Armon Dadgar 801a472042 agent: Prevent anti-entropy from doing early sync of check output 2014-06-09 16:00:25 -07:00
Armon Dadgar ca0887b401 agent: Update config test to handle zero value CheckUpdateInterval 2014-06-09 13:00:32 -07:00
Armon Dadgar bc9ea2af9a agent: leave inSync until the defer runs 2014-06-09 12:57:50 -07:00
Armon Dadgar 33c2132949 agent: Defer sync based on CheckUpdateInterval 2014-06-09 12:46:29 -07:00
Armon Dadgar 99ac4dc1bb agent: Allow CheckUpdateInterval to be zero 2014-06-09 12:46:10 -07:00
Armon Dadgar c99e6e082c agent: Adding new CheckUpdateInterval config 2014-06-09 12:13:14 -07:00
Armon Dadgar bd39973df1 agent: Validate datacenter is valid. Fixes #169. 2014-06-09 11:57:15 -07:00
Armon Dadgar 9e925bf458 consul: Adding support for optional session name 2014-06-09 11:42:28 -07:00
Armon Dadgar 8d4c0aa0ce agent: Testing DNS TTLs 2014-06-08 16:14:21 -07:00
Armon Dadgar ba4c40531d agent: First pass supporting DNS TTLs 2014-06-08 16:02:17 -07:00
Armon Dadgar dea2eba631 agent: Support stale queries with retries 2014-06-08 16:02:17 -07:00
Armon Dadgar cb9540ea04 agent: Test DNSConfig merge logic 2014-06-08 16:02:16 -07:00
Armon Dadgar af83293f13 agent: Testing DNSConfig parsing 2014-06-08 16:02:16 -07:00
Armon Dadgar 8f6708653f agent: Adding DNS more configuration 2014-06-08 16:02:16 -07:00
Armon Dadgar c656bbfbcf Rename shared msgpack handle 2014-06-08 14:02:42 -07:00
Andrew M Bursavich d209517d50 reuse codec.MsgpackHandle 2014-06-07 01:13:38 -07:00
Armon Dadgar b5bd20634a consul: Gossip the build using Serf 2014-06-06 15:36:40 -07:00
Armon Dadgar 39cdecb5d0 agent: Add version to info output 2014-06-06 14:40:22 -07:00
Armon Dadgar bf009097ae agent: Ensure we don't retry too often 2014-06-06 14:38:01 -07:00
William Tisäter 2c13f8a03e Re-configure `LeaderLeaseTimeout` to pass validation 2014-05-30 20:57:39 +02:00
Armon Dadgar 1ac127b73e agent: Omit certains keys from the /self endpoint 2014-05-29 11:24:37 -07:00
Armon Dadgar 890d4d771f consul: Ensure clients also implement LocalMember 2014-05-29 11:21:56 -07:00
William Tisäter ead134c890 Return both member and config in `/v1/agent/self` 2014-05-28 00:09:28 +02:00
William Tisäter a028c3ae93 Add `/v1/agent/self` and return local agent config 2014-05-27 01:15:33 +02:00
William Tisäter 60a4baed11 Increase wait time after `agent.StartSync()` 2014-05-27 01:00:13 +02:00
William Tisäter 93e89b8148 Remove TODO comments 2014-05-26 23:44:46 +02:00
Nelson Elhage 63c96627df tests: Don't generate binary output from checks.
The tests will end up logging the check output, and spewing random
binary all over a terminal never results in anything good.
2014-05-26 13:23:10 -07:00
Ryan Uber 868795222f command/agent: added missing syslog wrapper 2014-05-21 22:05:36 -07:00
Armon Dadgar 5fa10c912e Support rejoin after leave. Fixes #110. 2014-05-21 12:32:24 -07:00
Armon Dadgar 999e7abed4 agent: Improving test reliability 2014-05-21 12:31:22 -07:00
Armon Dadgar 9f2631f383 agent: syslog support. Fixes #105. 2014-05-21 12:06:03 -07:00
Armon Dadgar 03713e1eb3 agent: Provide log info about encryption. Fixes #151. 2014-05-20 17:00:04 -07:00
Armon Dadgar ce5470cbc2 agent: Support for raw key lookup. Fixes #150. 2014-05-20 16:53:43 -07:00
Armon Dadgar 07a75899ef agent: Adding locking support to KV store 2014-05-20 16:25:29 -07:00
Armon Dadgar 60c66ec7b5 agent: Adding support for specifying LockDelay, defaults to 15 seconds. 2014-05-20 16:25:29 -07:00
Armon Dadgar a53cb6e1dd agent: Session endpoint tests 2014-05-20 16:25:29 -07:00
Armon Dadgar eb9a51bced agent: Require PUT to SessionCreate 2014-05-20 16:25:29 -07:00
Armon Dadgar 9470f9a5a2 gofmt 2014-05-20 16:25:29 -07:00
Armon Dadgar d5b1330227 agent: First pass at session endpoints 2014-05-20 16:25:29 -07:00
Armon Dadgar 6c0479f082 Merge pull request #136 from hashicorp/f-testutil-package
WIP: Proof of concept using `WaitForResult` in tests
2014-05-16 15:03:50 -07:00
Armon Dadgar 14a84f4a4f agent: Support -advertise cli flag. Fixes #156. 2014-05-16 10:49:55 -07:00
Mitchell Hashimoto d9a27fd5ac command/agent: block windows socket errors 2014-05-15 11:29:32 -07:00
Mitchell Hashimoto ec547d5b99 command/agent: find proper private IP on Windows
/cc @armon
2014-05-15 11:27:30 -07:00
William Tisäter 2f23eb42ea Add TODOs for failing tests 2014-05-09 11:38:29 +02:00
William Tisäter d199dcde9b Run checks more often in `expectStatus` 2014-05-09 03:41:10 +02:00
William Tisäter f3354b028e Fix race condition in `TestHTTPAgentJoin_WAN` 2014-05-09 02:30:05 +02:00
William Tisäter 3a71349ee4 Remove all sleeps from `ui_endpoint_test.go` 2014-05-09 02:08:01 +02:00
William Tisäter e2e5999fdb Remove all sleeps from `status_endpoint_test.go 2014-05-09 02:06:19 +02:00
William Tisäter bf540c7217 Remove most sleeps from `rpc_client_test.go` 2014-05-09 01:19:05 +02:00
William Tisäter 1ee709ba38 Require datacenter argument for `WaitForLeader` 2014-05-09 01:17:35 +02:00
Armon Dadgar 01e085cc64 agent: Correct spelling of separator. Fixes #101. 2014-05-07 15:25:17 -07:00
William Tisäter 463f85c3c7 Move argument structs back in original position 2014-05-07 23:51:15 +02:00
William Tisäter c624161827 Move `WaitForLeader` calls to top of test 2014-05-07 23:47:16 +02:00
William Tisäter bdbe97545a Drop client arguments from `WaitForLeader` 2014-05-07 23:41:14 +02:00
William Tisäter 795fab8a61 Remove some sleeps from `local_test.go` 2014-05-07 23:27:32 +02:00
William Tisäter 89ead7bc4e Remove all sleeps from `kvs_endpoint_test.go` 2014-05-07 23:17:10 +02:00
William Tisäter 58bb06ff54 Drop unnecessary sleep 2014-05-07 23:17:00 +02:00
William Tisäter 70444ea4b7 Remove all sleeps from `health_endpoint_test.go` 2014-05-07 23:12:53 +02:00
William Tisäter 6e39de1d26 Remove all sleeps from `catalog_endpoint_test.go` 2014-05-07 23:02:59 +02:00
William Tisäter e77c3180d8 Remove all sleeps from `agent_endpoint_test.go` 2014-05-07 22:50:18 +02:00
William Tisäter 82ec4e5fba Add `testutils.WaitForLeader` and truly wait 2014-05-07 11:43:42 +02:00
Armon Dadgar a1c66d68c8 agent: Limit KV entries to 512KB. Fixes #123. 2014-05-06 14:18:32 -07:00
Armon Dadgar deaf36a1d9 agent: Minor cleanups 2014-05-06 12:43:33 -07:00
William Tisäter 95f2597fe9 Fix race condition in `TestCheckTTL`
Apparently the execution of `TestCheckTTL` could sometime take > 10ms
causing it to fail. This commit will eliminate the race condition for
most modern hardware.
2014-05-06 20:54:49 +02:00
Carlos Diaz-Padron b61e854f56 Return pid file errors and fix help formatting 2014-05-06 13:04:22 -04:00
Carlos Diaz-Padron e0d477896a Add flag to agent to write pid file 2014-05-05 23:39:18 -04:00
Armon Dadgar cd08e81958 agent: Key list of root returns empty list with 200 instead of 404 2014-04-30 23:44:30 -04:00
Armon Dadgar 9f2e236cf8 agent: Summarize node level checks as well 2014-04-30 23:44:29 -04:00
Armon Dadgar 947e5b58ba agent: Support key listing with seperator 2014-04-30 23:44:27 -04:00
Armon Dadgar d1648871ea agent: Adding UI services endpoint 2014-04-30 23:43:59 -04:00
Armon Dadgar 250b8f2247 agent: Adding node UI endpoint 2014-04-30 23:43:59 -04:00
Armon Dadgar c794dac7b1 agent: Adding nodes UI endpoint 2014-04-30 23:43:59 -04:00
Armon Dadgar c6b326a362 agent: Redirect to UI if we have one 2014-04-30 23:43:58 -04:00
Armon Dadgar ba69350cef agent: Simplify serving of ui files 2014-04-30 23:43:57 -04:00
Armon Dadgar 6f833a5a73 agent: Improving UI file serving 2014-04-30 23:43:56 -04:00
Armon Dadgar 4983f66e75 agent: Adding endpoint to serve the UI 2014-04-30 23:43:56 -04:00
Armon Dadgar 32889c2f70 agent: Pass UiDir into the HTTP layer 2014-04-30 23:43:56 -04:00
Armon Dadgar 9327bbc400 agent: Adding -ui-dir CLI flag 2014-04-30 23:43:56 -04:00
Armon Dadgar 47f6cef91d agent: Adding UiDir config param 2014-04-30 23:43:56 -04:00
Armon Dadgar d1889a6f4b agent: Limit health check output to 4K. Fixes #83. 2014-04-29 15:28:56 -07:00
Armon Dadgar 778dfb8fd2 agent: Write out the meta data before a potential 404 2014-04-26 12:20:49 -06:00
Tarrant 73a9c1389e When mangaling JSON to parse durations do a case insensitive key lookup 2014-04-24 19:56:55 -07:00
Armon Dadgar 7e27ded378 agent: Adding debug log messages 2014-04-23 12:21:47 -07:00
Armon Dadgar e210f9b541 agent: Adding random stagger to anti-entropy. Fixes #72. 2014-04-23 12:21:34 -07:00
Armon Dadgar 2845d24cfa Store check output in dedicated field. Fixes #59. 2014-04-21 16:20:22 -07:00
Armon Dadgar d6b7dd5b62 agent: Support server-side filtering of passing checks. Fixes #57. 2014-04-21 16:08:26 -07:00
Armon Dadgar cb33d73ffe Merge pull request #68 from hashicorp/f-consistency
Adding support for "stale" and "consistent" read modes
2014-04-21 15:55:31 -07:00
Armon Dadgar c7605f070d agent: Improve DNS parser. Fixes #39. 2014-04-21 15:33:01 -07:00
Armon Dadgar 48ce8e3e86 agent: Fix decoding of checks. Fixes #60 2014-04-21 15:02:36 -07:00
Armon Dadgar b1bfd97438 agent: Adding minimum check interval. Fixes #64. 2014-04-21 14:42:42 -07:00
Armon Dadgar 93146c1e1b agent: Adding HTTP tests for new features 2014-04-21 13:19:18 -07:00
Armon Dadgar bcff269238 agent: Updating tests for new API 2014-04-21 13:11:05 -07:00
Armon Dadgar 53d3449947 agent: Remove wrapQuery, call setMeta directly 2014-04-21 12:40:11 -07:00
Armon Dadgar 4c039aa4d5 agent: Parse the consistency flags 2014-04-21 12:26:12 -07:00
Armon Dadgar 71b95a0f47 agent: Updating to remove BlockingQuery 2014-04-21 12:25:36 -07:00
Armon Dadgar 4f67ca5488 agent: Fixing similar deregister routing bug with checks 2014-04-18 10:56:00 -07:00
Armon Dadgar f9fba3156b agent: Fix service deregister routing 2014-04-18 10:54:18 -07:00
Haney Maxwell 19441f5095 documentation: minor comment consistency in agent.go 2014-04-17 22:46:31 -07:00
Jacques Fuentes 852a47fe37 Ensure we write json header before writing bytes
In net/http once we've issued a Write() the response is sent
over the wire including the header! The tests didn't catch
this because I used a net/http/httptest.RequestRecorder
which doesn't follow those semantics.
2014-04-17 14:53:07 -04:00
Jacques Fuentes e83f723a66 HTTP: add content-type: application/json header 2014-04-17 14:38:14 -04:00
Armon Dadgar 9493b9c126 agent: Add warning if windows and running server mode 2014-04-14 16:49:50 -07:00
Armon Dadgar 293733b74f agent: Simplify the local state sync 2014-04-14 12:57:54 -07:00
Armon Dadgar 3b0e397851 agent: Fixing wrong port usage for server 2014-04-14 12:37:49 -07:00
Armon Dadgar e06dc97a8a agent: Testing start_join parsing 2014-04-11 17:03:19 -07:00
Armon Dadgar 32eb65316f agent: Adding support for -join flag. Fixes #33. 2014-04-11 16:59:16 -07:00
Armon Dadgar 360158590e agent: Nice info output 2014-04-11 15:54:03 -07:00
Armon Dadgar 738310bff0 agent: Simplifying configs 2014-04-11 15:46:55 -07:00
Armon Dadgar 2663b28f3a agent: First pass at improving flags 2014-04-11 15:22:35 -07:00
Armon Dadgar 88faad86ce agent: Adding tests for TLS configs 2014-04-07 15:07:00 -07:00
Armon Dadgar d1308446c3 agent: Passthrough of TLS configurations 2014-04-07 15:07:00 -07:00
Armon Dadgar d99ac77b84 agent: Add backwards compatibility hack for old 'tag' definitions 2014-04-03 14:22:43 -07:00
Armon Dadgar fd6a87748f agent: Support multiple tags per service registration 2014-04-03 12:12:23 -07:00
Armon Dadgar 976c52f3ef agent: Adding tests for the KV endpoints 2014-03-31 20:45:57 -07:00
Armon Dadgar 96bd58df20 agnet: Fix parsing of cas flag 2014-03-31 20:00:30 -07:00
Armon Dadgar a29d6c2d4e consul: Return 404 if no entries found 2014-03-31 20:00:17 -07:00
Armon Dadgar d1de666855 consul: Enable a recursive delete of all keys 2014-03-31 20:00:01 -07:00
Armon Dadgar 5af036704d agent: First pass at KVS endpoints 2014-03-31 17:12:10 -07:00
Armon Dadgar 4a2b7e5e39 agent: Use EnableDebug to control adding pprof HTTP endpoints 2014-03-19 17:50:57 -07:00
Armon Dadgar 69065eea70 agent: adding EnableDebug config 2014-03-19 17:49:57 -07:00
Armon Dadgar 46a2c37852 agent: Support protocol version setting 2014-03-09 15:57:03 -07:00
Armon Dadgar b4a9b4301b agent: Handle API changes 2014-03-05 15:03:23 -08:00
Armon Dadgar 141086eee8 agent: Fixing DNS CNAME recursion 2014-02-25 17:41:48 -08:00
Armon Dadgar 8c314d3041 agent: Tell client DNS recursion is available 2014-02-25 16:30:10 -08:00
Armon Dadgar b14ff9e3db agent: Support CNAME recursion if we have a recursor 2014-02-25 12:46:11 -08:00
Armon Dadgar b57e806c23 agent: DNS layer properly handles AAAA and CNAME records 2014-02-25 12:07:20 -08:00
Armon Dadgar 8fdbf95452 agent: Fixing bug in dns service filtering 2014-02-23 18:04:12 -08:00
Armon Dadgar 883f492dc5 command/info: Adding new info command 2014-02-23 16:59:32 -08:00
Armon Dadgar a801eaadf4 agent: Adding Stats() export 2014-02-23 16:42:39 -08:00
Armon Dadgar fd1d00105e agent: Disallow bootstrap mode when a client. Fixes #3 2014-02-22 18:58:15 -08:00
Armon Dadgar 6898f23d2d agent: Adding a check for GOMAXPROCS. Fixes #10. 2014-02-22 17:43:12 -08:00
Armon Dadgar 85091090c6 agent: Switch to -data-dir, better error if missing. Fixes #2. 2014-02-22 17:34:57 -08:00
Armon Dadgar 4be7fefe83 consul: Default recursor port 53. Fixes #4 2014-02-22 17:31:30 -08:00
Armon Dadgar f7a4241097 agent: Copy the help text 2014-02-20 16:26:39 -08:00
Armon Dadgar 981e58e8e9 agent: Adding support for statsite telemetry 2014-02-20 14:59:54 -08:00
Armon Dadgar 46830a3c8f agent: Enable dumping telemetry on SIGUSR1 2014-02-20 13:51:51 -08:00
Armon Dadgar 7c0b73550c website: finish the HTTP documentation 2014-02-19 14:27:01 -08:00
Armon Dadgar 7e6c8ac3a8 agent: simplify a select block 2014-02-19 12:39:03 -08:00
Armon Dadgar c200b63204 website: updating documentation on commands 2014-02-18 17:32:13 -08:00
Armon Dadgar e2b870b65c agent: Only truncate DNS results for a UDP query 2014-02-14 14:22:49 -08:00
Armon Dadgar 622aafb7c9 agent: Shuffle DNS responses, limit records 2014-02-14 12:26:51 -08:00
Armon Dadgar fb34815562 agent: adding ability to reload services and checks 2014-02-07 12:19:56 -08:00
Armon Dadgar 7534346103 agent: Adding server up callback to make state sync faster 2014-02-07 12:11:34 -08:00
Armon Dadgar ec2b10c006 agent: Adding support to edge trigger consul server coming up for state sync 2014-02-07 12:03:31 -08:00
Armon Dadgar a63f060fff agent: Adding some primitive config reloading 2014-02-07 12:03:14 -08:00
Armon Dadgar 1c2a853831 agent: adding ability to pause syncing 2014-02-07 11:58:24 -08:00
Armon Dadgar 728342b537 agent: Adding tests for config parsing 2014-02-07 11:49:51 -08:00
Armon Dadgar 5cc0c73f89 TODO cleanups 2014-02-05 14:54:35 -08:00
Armon Dadgar 14380b8f8e agent: adding more tests 2014-02-05 14:47:42 -08:00
Armon Dadgar 500d2d2282 agent: RPC changes and blocking query support 2014-02-05 14:36:13 -08:00
Armon Dadgar 3eff9587a5 agent: Adding CLI flags 2014-02-05 13:30:40 -08:00
Armon Dadgar 9edd9ce82a agent: Fixing test with new struct 2014-02-04 18:32:17 -08:00
Armon Dadgar 2553c7b963 agent: First pass at parsing service and check definition 2014-02-03 15:15:35 -08:00
Armon Dadgar dbc2822f2c agent: test the register/deregister service endpoint 2014-01-30 15:56:03 -08:00
Armon Dadgar 82b551bd80 agent: Adding tests for agent check endpoints 2014-01-30 15:51:15 -08:00
Armon Dadgar bfc5c21aa5 agent: First pass at register service and check locally 2014-01-30 15:35:38 -08:00
Armon Dadgar 98464b4ec0 agent: First pass at the easy endpoints 2014-01-30 15:18:05 -08:00
Armon Dadgar f3e30eb932 agent: Skeleton for HTTP based service/check registration 2014-01-30 14:58:36 -08:00
Armon Dadgar d051d9cb23 agent: Adding methods to register services and checks 2014-01-30 13:39:02 -08:00
Armon Dadgar dc11ffd359 agent: Adding CheckType which is used to wrap either a CheckMonitor or CheckTTL 2014-01-30 13:18:05 -08:00
Armon Dadgar 344ed9569c agent: syncCheck provides the relevant check to prevent a race condition 2014-01-30 13:17:34 -08:00
Armon Dadgar 3d411c7680 Adding CheckMonitors and CheckTTLs to agent 2014-01-21 12:05:56 -08:00
Armon Dadgar 1ebb6db8c1 Seperate localState from Agent 2014-01-21 11:52:25 -08:00
Armon Dadgar f8a0a3706f Allow setting the health check notes 2014-01-20 17:19:20 -10:00
Armon Dadgar c7d8b1dc75 Adding CheckTTL for TTL based checks 2014-01-20 17:12:40 -10:00
Armon Dadgar 714df8f9b3 Testing the CheckMonitor 2014-01-20 16:58:05 -10:00
Armon Dadgar 870ed8fed6 CheckMonitor runs forever and runs the first check immediately 2014-01-20 16:46:01 -10:00
Armon Dadgar 147018037e Adding basic CheckMonitor to invoke scripts 2014-01-20 16:44:23 -10:00
Armon Dadgar fc2e2927b7 Accept command line advertise addr 2014-01-20 15:17:12 -10:00
Armon Dadgar a6b4f65813 Adding tests for checks and services endpoints 2014-01-20 15:06:44 -10:00
Armon Dadgar 61aa8d1eb1 Exposing the agent checks and services over HTTP endpoints 2014-01-20 15:00:52 -10:00
Armon Dadgar ec1ca7babc Adding tests for check anti-entropy 2014-01-20 14:31:02 -10:00
Armon Dadgar ae45656f59 Testing anti-entropy of services 2014-01-20 14:22:59 -10:00
Armon Dadgar 4c963f39f5 Handle the serf check and consul service 2014-01-15 17:28:23 -10:00
Armon Dadgar 7a74f58141 First pass at local state + anti-entropy 2014-01-15 15:14:50 -10:00
Armon Dadgar 394e322fee Methods for random staggering 2014-01-15 12:34:17 -10:00
Armon Dadgar 177a91c3f9 Adding AEConfig and some methods to scale timing 2014-01-15 12:17:40 -10:00
Armon Dadgar e3159d0318 DNS filters service nodes if they have failing checks 2014-01-15 11:30:04 -10:00
Armon Dadgar 9af24bd4c2 DNS Lookup uses Health.ServiceNodes 2014-01-15 11:20:01 -10:00
Armon Dadgar c584ac5077 Adding tests for the health endpoints 2014-01-10 15:25:37 -08:00
Armon Dadgar a03a92cf3d First pass at health endpoints 2014-01-10 15:13:37 -08:00
Armon Dadgar c4af4b7bda Updating agent to deal with new API 2014-01-08 15:13:27 -08:00
Armon Dadgar 1f3fedf8b8 Testing DNS correctly deduplicates records 2014-01-06 14:56:41 -08:00
Armon Dadgar ed1a200efe Remove fix for upstream DNS bug 2014-01-06 14:37:02 -08:00
Armon Dadgar 020a84bada Adding tests for the agent HTTP endpoints 2014-01-06 13:21:48 -08:00
Armon Dadgar fcee14ba43 Adding more HTTP endpoints 2014-01-03 17:15:51 -08:00
Armon Dadgar e2e844a70b Support DNS recursion and TCP queries 2014-01-03 15:43:35 -08:00
Armon Dadgar 43bf345d32 Support Service lookups 2014-01-03 13:00:03 -08:00
Armon Dadgar c0d53a9d62 Adding DNS based node lookup 2014-01-02 17:58:58 -08:00
Armon Dadgar 900dd41a89 Domain pass through 2014-01-02 15:51:40 -08:00
Armon Dadgar 13028a43f7 Adding a DNS domain config 2014-01-02 15:50:52 -08:00
Armon Dadgar 40a50780d3 Start DNS server, change logs, add SOA records 2014-01-02 15:10:13 -08:00
Armon Dadgar d292e08bb2 Adding basic DNS framework 2014-01-02 13:12:05 -08:00
Armon Dadgar c4744d11c8 Rename HTTP server method 2014-01-02 11:45:58 -08:00
Armon Dadgar ce79f27364 Adding support for advertise address 2013-12-31 16:45:13 -08:00
Armon Dadgar 31e888d37b API cleanup 2013-12-31 14:00:11 -08:00
Armon Dadgar 6ca0d9d0db Start the RPC server with the agent 2013-12-30 15:27:41 -08:00
Armon Dadgar 8727220296 Pulling in the RPC framework from serf 2013-12-30 14:42:41 -08:00
Armon Dadgar 2ba5191143 Serf API changes 2013-12-27 14:50:02 -08:00
Armon Dadgar 5e30ee3f11 Ensure lexical ordering for config files 2013-12-27 14:49:35 -08:00
Armon Dadgar 121a087c2c Adding index page with 404 catchall 2013-12-24 17:09:51 -08:00
Armon Dadgar 3d908d9edf Enable bootstrap mode for the tests 2013-12-24 16:53:30 -08:00
Armon Dadgar 69ed0ec184 Adding a bootstrap flag to allow single server raft 2013-12-24 16:48:07 -08:00
Armon Dadgar b3e7bced05 Add Datacenter to output 2013-12-24 12:22:50 -08:00
Armon Dadgar ac15ca1139 Better error logging 2013-12-24 12:22:42 -08:00
Armon Dadgar 135c1d407c Finish implementing the HTTP catalog interface 2013-12-24 11:55:14 -08:00
Armon Dadgar f4761aab83 Remove debug line 2013-12-23 16:21:11 -08:00
Armon Dadgar 851c4c8ed1 More HTTP endpoints 2013-12-23 16:20:51 -08:00
Armon Dadgar a2d4197149 Adding catalog datacenter http methods 2013-12-23 14:26:34 -08:00
Armon Dadgar 06e11e4b08 Adding more agent tests 2013-12-23 13:52:10 -08:00
Armon Dadgar bd06e8b186 Remove useless config 2013-12-23 13:46:50 -08:00
Armon Dadgar 5e7e23dc52 Working on Agent HTTP interface 2013-12-23 11:38:51 -08:00
Armon Dadgar a0030308e7 Working on the agent 2013-12-20 16:39:32 -08:00
Armon Dadgar 0e4b5720d9 Filling in Agent basics 2013-12-20 15:33:13 -08:00
Armon Dadgar d9a1fb02a1 Agent skeleton 2013-12-19 17:14:46 -08:00
Armon Dadgar cb659a3b77 Adding agent skeleton 2013-12-19 12:18:06 -08:00