Commit Graph

1366 Commits (ada9e2b3ab9d5e71468af2873a8d546e86c80003)

Author SHA1 Message Date
Ryan Uber 09fd2a7e94 command/maint: display active maintenance when no args are passed 2015-01-22 10:26:17 -08:00
Armon Dadgar cf04d6ae31 Merge pull request #622 from hashicorp/f-sockets
Unix domain sockets
2015-01-21 16:30:03 -08:00
Ryan Uber 124e7bfa7e agent: use const for default maintenance reason strings 2015-01-21 14:53:52 -08:00
Ryan Uber 5aa69827f8 agent: fix test 2015-01-21 14:12:18 -08:00
Ryan Uber 61d17e65f5 agent: prevent duplicate error messages for maintenance api 2015-01-21 13:28:26 -08:00
Ryan Uber f00b5b542e agent: support passing ?reason= for custom notes field values on maintenance checks 2015-01-21 12:21:57 -08:00
Ryan Uber b6a0f2baae agent: fix maintenance check ID 2015-01-21 11:03:42 -08:00
Ryan Uber d9a3e673b0 agent: change node maintenance endpoint 2015-01-21 10:57:44 -08:00
Ryan Uber 9c69dc05fb agent: use strconv.ParseBool for parsing maintenance enable flag 2015-01-21 09:53:31 -08:00
Ryan Uber 46d5dcfc17 agent: comments for new anti-entropy functionality 2015-01-20 21:48:46 -08:00
Ryan Uber a4039aaa4d agent: simplify anti-entropy of services with multiple checks, add tests 2015-01-20 21:48:46 -08:00
Ryan Uber 0c31e5851c agent: only send service with check sync if it is out of sync 2015-01-20 21:48:46 -08:00
Ryan Uber 949ddefbc8 agent: refactor syncChecks 2015-01-20 21:48:46 -08:00
Ryan Uber 2a7211cd5d agent: support adding multiple checks during service registration from the API 2015-01-20 21:48:45 -08:00
Ryan Uber 674be58e55 agent: support multiple checks per service 2015-01-20 21:48:42 -08:00
Ryan Uber c958824bb6 agent: use squash mapstructure tag to properly decode embedded structs 2015-01-20 21:10:58 -08:00
Ryan Uber b1dae530d4 agent: use interface for file permissions 2015-01-20 18:53:18 -08:00
Ryan Uber 782b0ddd88 agent: test permissions are set on rpc socket 2015-01-20 16:57:00 -08:00
Ryan Uber 99d4e7831e agent: fix tests 2015-01-20 16:50:21 -08:00
Ryan Uber a6c877c7ee agent: re-add support for user name in socket perms 2015-01-20 16:21:23 -08:00
Ryan Uber 145c56b47d agent: test Unix domain socket permission settings 2015-01-20 14:32:15 -08:00
Ryan Uber 450d05575d agent: adjusting tests for new behavior of sockets 2015-01-20 14:13:36 -08:00
Ryan Uber 21dd95d9af agent: beginning socket user/group/mode support as discussed in #612 2015-01-20 13:44:27 -08:00
Ryan Uber 2530e5ff05 agent: test agent rpc unix socket create failure 2015-01-19 09:56:59 -08:00
Ryan Uber ba96535cfc 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 18b5ab3539 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 ba2d0fa7e3 agent: maintenance logging + unique service check IDs 2015-01-16 15:38:13 -08:00
Ryan Uber 8cf4e9889e agent: test node maintenance mode 2015-01-16 15:38:13 -08:00
Ryan Uber 7748c62d09 agent: node maintenance mode works 2015-01-16 15:38:13 -08:00
Ryan Uber 9ee1e6e858 agent: maintenance mode api's are idempotent 2015-01-16 15:37:52 -08:00
Ryan Uber 8819d71f99 agent: maintenance mode is persistent 2015-01-16 15:37:52 -08:00
Ryan Uber 35c10a902f agent: test http endpoints for maintenance mode 2015-01-16 15:37:51 -08:00
Ryan Uber 3fbb2be6c0 agent: test agent service maintenance mode 2015-01-16 15:37:51 -08:00
Ryan Uber 2973cd9131 agent: first pass at service maintenance mode 2015-01-16 15:37:51 -08:00
Ryan Uber f01bb5cf3b agent: error if binding to existing socket file 2015-01-16 12:39:15 -08:00
Ryan Uber 56c3e488a9 agent: test socket file overwrite 2015-01-16 10:37:13 -08:00
Ryan Uber 4c3ec248a5 agent: fixing up tests 2015-01-16 09:58:37 -08:00
Ryan Uber bf48651c58 agent: only ignore errors on IsNotExist() 2015-01-16 09:14:52 -08:00
Ryan Uber 4675cdf01c agent: beginning refactor 2015-01-16 00:45:03 -08:00
Jeff Mitchell 9fcea08dbb 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 32d2c6b848 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 0cc009c480 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 8362e3e9eb 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 11a3ce0bdd 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 96c7ce120e command/agent: Minor cleanups 2015-01-13 12:18:18 -08:00
Armon Dadgar 713d30c73e 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 aedaf7a7c8 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 a0228a64e2 Add more thorough testing for only_passing behavior 2015-01-13 14:59:24 +01:00
Nicholas Capo 641476a822 command/agent: Add tests for HTTP Check 2015-01-13 00:09:42 +00:00
Ryan Uber b2fbaea18c agent: make dns randomization test more reliable 2015-01-12 16:05:41 -08:00
Nicholas Capo 98eb935392 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 bcb983edbe command/agent: HTTP Check: Include response in check status 2015-01-12 22:35:28 +00:00
Nicholas Capo 50853265dd command/agent: Stop HTTP checks when the check is removed 2015-01-12 22:34:39 +00:00
Nicholas Capo 6a2d763d5c command/agent: HTTP check: Any 2xx is OK, 429 is WARNING 2015-01-12 21:58:57 +00:00
Evan Broder ee6d59d4dd 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 5bf1abf7ef agent: fix local_test.go 2015-01-09 16:44:12 -08:00
Ryan Uber c2188440b2 agent: wrap deferred anti-entropy sync test in WaitForResult 2015-01-09 16:42:44 -08:00
Nicholas Capo fb5ba8d97d 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 d05ed7baa6 agent: Testing the KV DELETE with cas 2015-01-08 17:31:32 -08:00
Armon Dadgar 3e0f77682a agent: Support the ?cas parameter to KV DELETE 2015-01-08 17:08:58 -08:00
Armon Dadgar 9f4955151a agent: Testing anti-entropy with service address 2015-01-08 12:02:04 -08:00
Armon Dadgar 77a3bfd606 agent: Adding test for DNS lookup with service address 2015-01-08 11:58:32 -08:00
Armon Dadgar 419447d9f7 agent: Fix de-duplication of SRV with service address 2015-01-08 10:47:41 -08:00
Armon Dadgar 23b9c96169 consul: Fixing merge conflict 2015-01-08 10:42:19 -08:00
Armon Dadgar f2e1065246 agent: Testing reverse lookup with custom TLD 2015-01-08 10:24:49 -08:00
dankennedy 63af8d08e1 replaced consul domain with configured domain. Fixes #582 2015-01-08 10:16:05 +00:00
Ryan Uber a24f6e3d4d agent: test service and check unloading 2015-01-07 22:32:14 -08:00
Ryan Uber 51fe9f32ff agent: consolidate service loading code, better logging 2015-01-07 22:01:43 -08:00
Ryan Uber cfde9313de agent: separate service and check loading/unloading concerns 2015-01-07 22:01:20 -08:00
Ryan Uber 0b9f2b0954 agent: persist service/check data using hashed service/check IDs (fixes #573) 2015-01-07 19:11:21 -08:00
Ryan Uber db3c502dcc 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 bd65cbb7d7 use the service specific address in SRV response 2015-01-05 22:48:30 +00:00
Ryan Uber 42ace3a6b5 agent: use mapstructure's Metadata.Unused to detect extraneous config 2015-01-05 14:41:19 -08:00
Ryan Uber b8740b62da agent: reject config with invalid options 2015-01-05 12:30:03 -08:00
Armon Dadgar f86d7c3a09 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 051ac8eb0b 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 a12ffef8b6 Test both ?pretty both bare and with value. 2015-01-02 09:15:41 +01:00
Thordur Bjornsson 1435818792 handle ?pretty similarly to ?stale, ?consistent etc. 2015-01-02 08:00:08 +01:00
Ryan Uber e9615c50e6 agent: test pretty printed json 2015-01-01 14:27:10 -08:00
Emil Hessman cb764c35e5 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 f2bd641402 Clean up log line and reduce test time. 2014-12-18 09:00:51 -05:00
Ryan Breen d82ef7bb8c Test that staggered checks run within the defined interval. 2014-12-17 22:39:11 -05:00
Ryan Breen 2e58f54a26 Well, that sure is cleaner. 2014-12-17 22:24:41 -05:00
Ryan Breen 60dacecb39 Add a randomized start before running CheckMonitors. 2014-12-17 21:44:12 -05:00
Armon Dadgar a5a9f051cd consul: Ignore zero ttl on session 2014-12-12 19:17:04 -08:00
Armon Dadgar 29afa881f4 Merge pull request #524 from amalaviy/session_ttl
Consul Session TTLs
2014-12-12 14:42:25 -08:00
Atin Malaviya ac54010027 Fixed clearSessionTimer, created invalidateSession, added invalid TTL test 2014-12-11 05:34:31 -05:00
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
Armon Dadgar 89f258ca2e agent: Adding remote exec configuration 2014-09-01 14:46:21 -07:00
Armon Dadgar dc883d151e website: typo fixes 2014-08-30 17:22:23 -07:00
Armon Dadgar 6c30ccd3f7 agent: Prevent hot spin on event list 2014-08-28 15:55:36 -07:00
Armon Dadgar c3bb7de75d agent: Support event filtering on name 2014-08-28 15:25:53 -07:00
Armon Dadgar 602828472d agent: First pass at multi-DC support 2014-08-28 15:00:49 -07:00
Armon Dadgar 337fe4085a agent: Testing event endpoints 2014-08-28 14:38:00 -07:00
Armon Dadgar 77e94cfd38 agent: First pass at event endpoints 2014-08-28 13:42:07 -07:00
Armon Dadgar 0ec5e5ab5f agent: Testing user events 2014-08-28 12:42:24 -07:00
Armon Dadgar aad57e952e agent: Methods to get the user events 2014-08-28 11:15:55 -07:00
Armon Dadgar 93c17db1b2 agent: remove userEventEnc type 2014-08-28 10:56:30 -07:00
Armon Dadgar 2d03146d3b agent: Adding event ingestion 2014-08-27 17:01:10 -07:00
Armon Dadgar 314743c111 agent: working on user events 2014-08-27 16:49:12 -07:00
Armon Dadgar 1c341e6766 consul: expose UserEvent from Serf 2014-08-26 18:50:03 -07:00
Armon Dadgar e0a815772a agent: Support encrypt CLI flag. Fixes #245. 2014-08-22 15:08:15 -07:00
Armon Dadgar 3e4bd6a2ec agent: ACL violation returns 403 code 2014-08-22 12:59:47 -07:00
Armon Dadgar 70eb59c63e agent: Use SHELL if provided. Fixes #237. 2014-08-22 12:47:58 -07:00
Armon Dadgar 46a96d9c42 agent: Refactor script invoke 2014-08-21 14:28:16 -07:00
Armon Dadgar 4b547a43d0 agent: First pass at agent-based watches 2014-08-21 13:09:13 -07:00
Armon Dadgar e877753162 agent: Changing to use nested JSON for watches 2014-08-21 11:52:36 -07:00
Armon Dadgar 5ee737b8d4 agent: Adding watches config 2014-08-19 14:29:01 -07:00
Armon Dadgar 4d66b11c91 agent: Fixing ACL tests with token param 2014-08-19 14:28:49 -07:00
Armon Dadgar b952506c10 agent: Strict PUT for modifying ACLs 2014-08-19 14:28:34 -07:00
Armon Dadgar 96648dd495 agent: Enforce PUT for session destroy. Fixes #285. 2014-08-19 10:53:25 -07:00
Armon Dadgar ca1aeb8fa8 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 343f69504b agent: Rename acl delete to destroy 2014-08-18 15:46:58 -07:00
Armon Dadgar 0ff28a12fa agent: Copy token in KV PUT/DELETE 2014-08-18 15:46:24 -07:00
Armon Dadgar 7c5a39717e agent: Fixing the ACL tests 2014-08-18 15:46:23 -07:00
Armon Dadgar 88c2a9c947 agent: Adding token parsing 2014-08-18 15:46:23 -07:00
Armon Dadgar fee3524dea agent: Special handler if ACL support is disabled 2014-08-18 15:46:23 -07:00
Armon Dadgar 78049ad240 agent: ACL endpoint tests 2014-08-18 15:46:21 -07:00
Armon Dadgar 22658aa781 agent: ACL endpoint 2014-08-18 15:46:21 -07:00
Armon Dadgar cae4b421a3 agent: Adding ACL master token 2014-08-18 15:46:20 -07:00
Armon Dadgar a8063457f8 consul: ACL setting passthrough 2014-08-18 15:46:20 -07:00
Armon Dadgar 9cd9a6bcc4 agent: Changing ACL config names 2014-08-18 15:46:20 -07:00
Armon Dadgar 7e5fdeb64b agent: Adding new ACL flags 2014-08-18 15:46:20 -07:00
Gavin M. Roy b030991c8b Fix the over-indent 2014-08-18 15:50:36 -04:00
Gavin M. Roy 6000f6977d Add RFC-2782 style SRV lookups 2014-08-18 15:45:56 -04:00
Eric Connell a5775aae24 modified so ?pretty=anything will work 2014-08-01 14:28:46 -06:00
Eric Connell e3c4052982 make pretty condition more readable 2014-08-01 14:24:36 -06:00
Eric Connell 90e8e1d97b 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 0d71b97f8e Remove DC case-insensitive check from node test 2014-07-23 23:42:22 +02:00
William Tisäter e4de221078 Always lowercase incoming DNS query 2014-07-23 23:42:22 +02:00
William Tisäter e0ba9a48a7 Test DNS case-insensitivity 2014-07-23 23:42:22 +02:00
Armon Dadgar 663bd102e7 agent: Provide better DNS setup error messages 2014-07-17 10:57:21 -07:00
Armon Dadgar 6eb3e8ee30 agent: Fixing issue with excessive failed node filtering 2014-07-16 15:11:45 -07:00
Nelson Elhage f3b9fcb49a While we're at it, make statsite_addr work at all. 2014-07-10 18:16:47 -07:00
Armon Dadgar 135c409573 agent: Fixing passing filter. Fixes #241 2014-07-05 09:49:21 -07:00
Armon Dadgar d313349807 Updating documentation for new bootstrap method 2014-07-01 15:02:26 -07:00
Armon Dadgar 924e4bc7f1 Rename Expect to BootstrapExpect. Fixes #223. 2014-06-19 17:08:55 -07:00
Armon Dadgar 5b2941d43e Fixing merge conflict 2014-06-18 15:48:46 -07:00
Armon Dadgar a05e1aee15 agent: Fixing missing copy of RejoinAfterLeave flag. #110 2014-06-18 10:32:19 -07:00
Robert Xu bc4a4fe09b 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 10c120bf9d agent: Fix issues with re-registration. Fixes #216 2014-06-17 16:48:19 -07:00
Robert Xu c60fd0542a 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 441d613e1b agent: Copy ServerName config 2014-06-13 11:27:44 -07:00
Armon Dadgar 961a00c496 Adding server_name configuration for TLS 2014-06-13 11:10:27 -07:00
Armon Dadgar c74b42f629 agent: Improve test reliability 2014-06-11 12:01:14 -07:00
Armon Dadgar f76c769b89 agent: Add reload to RPC clien 2014-06-11 10:53:34 -07:00
Armon Dadgar 590bce9f00 agent: Watch reload channel for trigger 2014-06-11 10:53:28 -07:00
Armon Dadgar 253037a3e7 agent: Adding reload RPC command 2014-06-11 10:53:12 -07:00
Armon Dadgar 8bdfd8c7b2 agent: Set custom syslog facility. Fixes #170. 2014-06-11 10:28:55 -07:00
Armon Dadgar 82c27cb902 agent: Adding SyslogFacility configuration 2014-06-11 10:18:19 -07:00
Armon Dadgar 8c9ab7ba58 agent: Cleanup handling of defer checks 2014-06-10 10:42:55 -07:00
Armon Dadgar 87373787e2 agent: Fixing merge of CheckUpdateInterval 2014-06-09 21:34:19 -07:00
Armon Dadgar a88c36bdc1 agent: Prevent anti-entropy from doing early sync of check output 2014-06-09 16:00:25 -07:00
Armon Dadgar a2ac2af087 agent: Update config test to handle zero value CheckUpdateInterval 2014-06-09 13:00:32 -07:00
Armon Dadgar 8a0b86df10 agent: leave inSync until the defer runs 2014-06-09 12:57:50 -07:00
Armon Dadgar 500bb3931b agent: Defer sync based on CheckUpdateInterval 2014-06-09 12:46:29 -07:00
Armon Dadgar 1b53664879 agent: Allow CheckUpdateInterval to be zero 2014-06-09 12:46:10 -07:00
Armon Dadgar 971d093283 agent: Adding new CheckUpdateInterval config 2014-06-09 12:13:14 -07:00
Armon Dadgar 922c21a175 agent: Validate datacenter is valid. Fixes #169. 2014-06-09 11:57:15 -07:00
Armon Dadgar 10f3007aa2 consul: Adding support for optional session name 2014-06-09 11:42:28 -07:00
Armon Dadgar e6a8cfbfc1 agent: Testing DNS TTLs 2014-06-08 16:14:21 -07:00
Armon Dadgar 66a5387742 agent: First pass supporting DNS TTLs 2014-06-08 16:02:17 -07:00
Armon Dadgar 3b3d235880 agent: Support stale queries with retries 2014-06-08 16:02:17 -07:00
Armon Dadgar 248ce2d301 agent: Test DNSConfig merge logic 2014-06-08 16:02:16 -07:00
Armon Dadgar d60f6892ca agent: Testing DNSConfig parsing 2014-06-08 16:02:16 -07:00
Armon Dadgar 4c6309d22b agent: Adding DNS more configuration 2014-06-08 16:02:16 -07:00
Armon Dadgar 474e286aca Rename shared msgpack handle 2014-06-08 14:02:42 -07:00
Andrew M Bursavich 8a3c1a9b47 reuse codec.MsgpackHandle 2014-06-07 01:13:38 -07:00
Armon Dadgar b144633815 consul: Gossip the build using Serf 2014-06-06 15:36:40 -07:00
Armon Dadgar 42e3729a7c agent: Add version to info output 2014-06-06 14:40:22 -07:00
Armon Dadgar a5f05fa902 agent: Ensure we don't retry too often 2014-06-06 14:38:01 -07:00
William Tisäter 9e3ad6721c Re-configure `LeaderLeaseTimeout` to pass validation 2014-05-30 20:57:39 +02:00
Armon Dadgar 753cec4cfa agent: Omit certains keys from the /self endpoint 2014-05-29 11:24:37 -07:00
Armon Dadgar acc048036b consul: Ensure clients also implement LocalMember 2014-05-29 11:21:56 -07:00
William Tisäter d794a18761 Return both member and config in `/v1/agent/self` 2014-05-28 00:09:28 +02:00
William Tisäter d0e447d29b Add `/v1/agent/self` and return local agent config 2014-05-27 01:15:33 +02:00
William Tisäter 39c9011ade Increase wait time after `agent.StartSync()` 2014-05-27 01:00:13 +02:00
William Tisäter 3f361972ac Remove TODO comments 2014-05-26 23:44:46 +02:00
Nelson Elhage 8af424fc4c 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 bf3a53f6d0 command/agent: added missing syslog wrapper 2014-05-21 22:05:36 -07:00
Armon Dadgar de309057ff Support rejoin after leave. Fixes #110. 2014-05-21 12:32:24 -07:00
Armon Dadgar 1d26ea41e1 agent: Improving test reliability 2014-05-21 12:31:22 -07:00
Armon Dadgar 0836a222bf agent: syslog support. Fixes #105. 2014-05-21 12:06:03 -07:00
Armon Dadgar 91b52176d8 agent: Provide log info about encryption. Fixes #151. 2014-05-20 17:00:04 -07:00
Armon Dadgar 88d91c6ee0 agent: Support for raw key lookup. Fixes #150. 2014-05-20 16:53:43 -07:00
Armon Dadgar 6131fad068 agent: Adding locking support to KV store 2014-05-20 16:25:29 -07:00
Armon Dadgar 00a107dfd9 agent: Adding support for specifying LockDelay, defaults to 15 seconds. 2014-05-20 16:25:29 -07:00
Armon Dadgar c071932f92 agent: Session endpoint tests 2014-05-20 16:25:29 -07:00
Armon Dadgar 9abd428982 agent: Require PUT to SessionCreate 2014-05-20 16:25:29 -07:00
Armon Dadgar 14be60aaca gofmt 2014-05-20 16:25:29 -07:00
Armon Dadgar 0119ec7f0a agent: First pass at session endpoints 2014-05-20 16:25:29 -07:00
Armon Dadgar baa831d847 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 246ad6c681 agent: Support -advertise cli flag. Fixes #156. 2014-05-16 10:49:55 -07:00
Mitchell Hashimoto bae3c1606c command/agent: block windows socket errors 2014-05-15 11:29:32 -07:00
Mitchell Hashimoto 78b7c57ba3 command/agent: find proper private IP on Windows
/cc @armon
2014-05-15 11:27:30 -07:00
William Tisäter dcfd03be00 Add TODOs for failing tests 2014-05-09 11:38:29 +02:00
William Tisäter 0e865daf4c Run checks more often in `expectStatus` 2014-05-09 03:41:10 +02:00
William Tisäter 8e6ae4019b Fix race condition in `TestHTTPAgentJoin_WAN` 2014-05-09 02:30:05 +02:00
William Tisäter 2d36b0f017 Remove all sleeps from `ui_endpoint_test.go` 2014-05-09 02:08:01 +02:00
William Tisäter 69eef2b455 Remove all sleeps from `status_endpoint_test.go 2014-05-09 02:06:19 +02:00
William Tisäter fcb4f4ef95 Remove most sleeps from `rpc_client_test.go` 2014-05-09 01:19:05 +02:00
William Tisäter 78145ecfd5 Require datacenter argument for `WaitForLeader` 2014-05-09 01:17:35 +02:00
Armon Dadgar d5a8e79b65 agent: Correct spelling of separator. Fixes #101. 2014-05-07 15:25:17 -07:00
William Tisäter 05243b35cd Move argument structs back in original position 2014-05-07 23:51:15 +02:00
William Tisäter 93c7103bb5 Move `WaitForLeader` calls to top of test 2014-05-07 23:47:16 +02:00
William Tisäter c8168bd8fe Drop client arguments from `WaitForLeader` 2014-05-07 23:41:14 +02:00
William Tisäter 4179b9dfe4 Remove some sleeps from `local_test.go` 2014-05-07 23:27:32 +02:00
William Tisäter 0d90e480b6 Remove all sleeps from `kvs_endpoint_test.go` 2014-05-07 23:17:10 +02:00
William Tisäter fcd5da3bf7 Drop unnecessary sleep 2014-05-07 23:17:00 +02:00
William Tisäter e4598284fd Remove all sleeps from `health_endpoint_test.go` 2014-05-07 23:12:53 +02:00
William Tisäter 1a32697b2b Remove all sleeps from `catalog_endpoint_test.go` 2014-05-07 23:02:59 +02:00
William Tisäter ab209c0176 Remove all sleeps from `agent_endpoint_test.go` 2014-05-07 22:50:18 +02:00
William Tisäter f1b9dbe5c3 Add `testutils.WaitForLeader` and truly wait 2014-05-07 11:43:42 +02:00
Armon Dadgar 8f37f967e0 agent: Limit KV entries to 512KB. Fixes #123. 2014-05-06 14:18:32 -07:00
Armon Dadgar 1256bf37f0 agent: Minor cleanups 2014-05-06 12:43:33 -07:00
William Tisäter cdc59aa5d3 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 4124ddf763 Return pid file errors and fix help formatting 2014-05-06 13:04:22 -04:00
Carlos Diaz-Padron 60ef5a8a12 Add flag to agent to write pid file 2014-05-05 23:39:18 -04:00
Armon Dadgar 2898a8e64e agent: Key list of root returns empty list with 200 instead of 404 2014-04-30 23:44:30 -04:00
Armon Dadgar d1213d4e17 agent: Summarize node level checks as well 2014-04-30 23:44:29 -04:00
Armon Dadgar 790a753d7d agent: Support key listing with seperator 2014-04-30 23:44:27 -04:00
Armon Dadgar 416ff8f7d6 agent: Adding UI services endpoint 2014-04-30 23:43:59 -04:00
Armon Dadgar acf67a1630 agent: Adding node UI endpoint 2014-04-30 23:43:59 -04:00
Armon Dadgar fbce850317 agent: Adding nodes UI endpoint 2014-04-30 23:43:59 -04:00
Armon Dadgar 3fe10ccb57 agent: Redirect to UI if we have one 2014-04-30 23:43:58 -04:00
Armon Dadgar 1a4cb628f5 agent: Simplify serving of ui files 2014-04-30 23:43:57 -04:00
Armon Dadgar f0c9ba4c01 agent: Improving UI file serving 2014-04-30 23:43:56 -04:00
Armon Dadgar e20b70b9f6 agent: Adding endpoint to serve the UI 2014-04-30 23:43:56 -04:00
Armon Dadgar 2739abab7b agent: Pass UiDir into the HTTP layer 2014-04-30 23:43:56 -04:00
Armon Dadgar c42168bd6f agent: Adding -ui-dir CLI flag 2014-04-30 23:43:56 -04:00
Armon Dadgar 2605b8e27c agent: Adding UiDir config param 2014-04-30 23:43:56 -04:00
Armon Dadgar 64efde9be0 agent: Limit health check output to 4K. Fixes #83. 2014-04-29 15:28:56 -07:00
Armon Dadgar e6e4f7c410 agent: Write out the meta data before a potential 404 2014-04-26 12:20:49 -06:00
Tarrant 32da5b2de0 When mangaling JSON to parse durations do a case insensitive key lookup 2014-04-24 19:56:55 -07:00
Armon Dadgar cc51bf6926 agent: Adding debug log messages 2014-04-23 12:21:47 -07:00
Armon Dadgar 903789aee4 agent: Adding random stagger to anti-entropy. Fixes #72. 2014-04-23 12:21:34 -07:00
Armon Dadgar 018482dc4c Store check output in dedicated field. Fixes #59. 2014-04-21 16:20:22 -07:00
Armon Dadgar 81a0a56fac agent: Support server-side filtering of passing checks. Fixes #57. 2014-04-21 16:08:26 -07:00
Armon Dadgar 57a45ead6b 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 c1bd7169f5 agent: Improve DNS parser. Fixes #39. 2014-04-21 15:33:01 -07:00
Armon Dadgar 00bedd4020 agent: Fix decoding of checks. Fixes #60 2014-04-21 15:02:36 -07:00
Armon Dadgar 6bbe8fd493 agent: Adding minimum check interval. Fixes #64. 2014-04-21 14:42:42 -07:00
Armon Dadgar 91bed7b313 agent: Adding HTTP tests for new features 2014-04-21 13:19:18 -07:00
Armon Dadgar e2ea4804bd agent: Updating tests for new API 2014-04-21 13:11:05 -07:00
Armon Dadgar 386d60f8b2 agent: Remove wrapQuery, call setMeta directly 2014-04-21 12:40:11 -07:00
Armon Dadgar 3fbbbc4eea agent: Parse the consistency flags 2014-04-21 12:26:12 -07:00
Armon Dadgar 09ddc01d27 agent: Updating to remove BlockingQuery 2014-04-21 12:25:36 -07:00
Armon Dadgar 78f7cb1d5a agent: Fixing similar deregister routing bug with checks 2014-04-18 10:56:00 -07:00
Armon Dadgar b40039b5b8 agent: Fix service deregister routing 2014-04-18 10:54:18 -07:00
Haney Maxwell 0a5d75da5d documentation: minor comment consistency in agent.go 2014-04-17 22:46:31 -07:00
Jacques Fuentes 3506b38a40 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 2b6ee141cb HTTP: add content-type: application/json header 2014-04-17 14:38:14 -04:00
Armon Dadgar bb33a47bab agent: Add warning if windows and running server mode 2014-04-14 16:49:50 -07:00
Armon Dadgar d7d30f5cf5 agent: Simplify the local state sync 2014-04-14 12:57:54 -07:00
Armon Dadgar d8ca1f367c agent: Fixing wrong port usage for server 2014-04-14 12:37:49 -07:00
Armon Dadgar 612d811167 agent: Testing start_join parsing 2014-04-11 17:03:19 -07:00
Armon Dadgar a8d9fefdfe agent: Adding support for -join flag. Fixes #33. 2014-04-11 16:59:16 -07:00
Armon Dadgar c9b2cd1078 agent: Nice info output 2014-04-11 15:54:03 -07:00
Armon Dadgar 8dd1e51bae agent: Simplifying configs 2014-04-11 15:46:55 -07:00
Armon Dadgar 922014530f agent: First pass at improving flags 2014-04-11 15:22:35 -07:00
Armon Dadgar 8177e2f811 agent: Adding tests for TLS configs 2014-04-07 15:07:00 -07:00
Armon Dadgar 592953309e agent: Passthrough of TLS configurations 2014-04-07 15:07:00 -07:00
Armon Dadgar 30307f877b agent: Add backwards compatibility hack for old 'tag' definitions 2014-04-03 14:22:43 -07:00
Armon Dadgar 8db2e3bd58 agent: Support multiple tags per service registration 2014-04-03 12:12:23 -07:00
Armon Dadgar 526629e12c agent: Adding tests for the KV endpoints 2014-03-31 20:45:57 -07:00
Armon Dadgar ca1c2d75b3 agnet: Fix parsing of cas flag 2014-03-31 20:00:30 -07:00
Armon Dadgar ceb6964547 consul: Return 404 if no entries found 2014-03-31 20:00:17 -07:00
Armon Dadgar 94df059026 consul: Enable a recursive delete of all keys 2014-03-31 20:00:01 -07:00
Armon Dadgar 6cfde2bf12 agent: First pass at KVS endpoints 2014-03-31 17:12:10 -07:00
Armon Dadgar c7d27cf424 agent: Use EnableDebug to control adding pprof HTTP endpoints 2014-03-19 17:50:57 -07:00
Armon Dadgar 528053c7a3 agent: adding EnableDebug config 2014-03-19 17:49:57 -07:00
Armon Dadgar ffca4f5544 agent: Support protocol version setting 2014-03-09 15:57:03 -07:00
Armon Dadgar 3cf1a64f87 agent: Handle API changes 2014-03-05 15:03:23 -08:00
Armon Dadgar 78e28a84a1 agent: Fixing DNS CNAME recursion 2014-02-25 17:41:48 -08:00
Armon Dadgar 60b7fccf02 agent: Tell client DNS recursion is available 2014-02-25 16:30:10 -08:00
Armon Dadgar 598cd013b9 agent: Support CNAME recursion if we have a recursor 2014-02-25 12:46:11 -08:00
Armon Dadgar 222e689ac6 agent: DNS layer properly handles AAAA and CNAME records 2014-02-25 12:07:20 -08:00
Armon Dadgar 76ec9d22b1 agent: Fixing bug in dns service filtering 2014-02-23 18:04:12 -08:00
Armon Dadgar fcf0b891eb command/info: Adding new info command 2014-02-23 16:59:32 -08:00
Armon Dadgar 015670d04e agent: Adding Stats() export 2014-02-23 16:42:39 -08:00
Armon Dadgar a49c20b75f agent: Disallow bootstrap mode when a client. Fixes #3 2014-02-22 18:58:15 -08:00
Armon Dadgar 3a5b8feb4a agent: Adding a check for GOMAXPROCS. Fixes #10. 2014-02-22 17:43:12 -08:00
Armon Dadgar 13af774cb9 agent: Switch to -data-dir, better error if missing. Fixes #2. 2014-02-22 17:34:57 -08:00
Armon Dadgar 49ba21a820 consul: Default recursor port 53. Fixes #4 2014-02-22 17:31:30 -08:00
Armon Dadgar 4b6c1f92c0 agent: Copy the help text 2014-02-20 16:26:39 -08:00
Armon Dadgar dca8c79576 agent: Adding support for statsite telemetry 2014-02-20 14:59:54 -08:00
Armon Dadgar d0b044692b agent: Enable dumping telemetry on SIGUSR1 2014-02-20 13:51:51 -08:00
Armon Dadgar 779e6df7b8 website: finish the HTTP documentation 2014-02-19 14:27:01 -08:00
Armon Dadgar 4f3adcfdda agent: simplify a select block 2014-02-19 12:39:03 -08:00
Armon Dadgar 1fb7b330ad website: updating documentation on commands 2014-02-18 17:32:13 -08:00
Armon Dadgar 467db27813 agent: Only truncate DNS results for a UDP query 2014-02-14 14:22:49 -08:00
Armon Dadgar d35de5bc11 agent: Shuffle DNS responses, limit records 2014-02-14 12:26:51 -08:00
Armon Dadgar e12e5f7f68 agent: adding ability to reload services and checks 2014-02-07 12:19:56 -08:00
Armon Dadgar c1637b4978 agent: Adding server up callback to make state sync faster 2014-02-07 12:11:34 -08:00
Armon Dadgar f8bd1a1ac3 agent: Adding support to edge trigger consul server coming up for state sync 2014-02-07 12:03:31 -08:00
Armon Dadgar e27aa3e21d agent: Adding some primitive config reloading 2014-02-07 12:03:14 -08:00
Armon Dadgar 01b1104175 agent: adding ability to pause syncing 2014-02-07 11:58:24 -08:00
Armon Dadgar d64fda8d45 agent: Adding tests for config parsing 2014-02-07 11:49:51 -08:00
Armon Dadgar e72ad27850 TODO cleanups 2014-02-05 14:54:35 -08:00
Armon Dadgar 315600d6bf agent: adding more tests 2014-02-05 14:47:42 -08:00
Armon Dadgar c58c53f448 agent: RPC changes and blocking query support 2014-02-05 14:36:13 -08:00
Armon Dadgar e173e7eeff agent: Adding CLI flags 2014-02-05 13:30:40 -08:00
Armon Dadgar 49378a0323 agent: Fixing test with new struct 2014-02-04 18:32:17 -08:00
Armon Dadgar 1a5158212c agent: First pass at parsing service and check definition 2014-02-03 15:15:35 -08:00
Armon Dadgar b9e1b2c362 agent: test the register/deregister service endpoint 2014-01-30 15:56:03 -08:00
Armon Dadgar 1a5a91419b agent: Adding tests for agent check endpoints 2014-01-30 15:51:15 -08:00
Armon Dadgar 37cb0bd3f2 agent: First pass at register service and check locally 2014-01-30 15:35:38 -08:00
Armon Dadgar 964147c452 agent: First pass at the easy endpoints 2014-01-30 15:18:05 -08:00
Armon Dadgar 959ea3d5ec agent: Skeleton for HTTP based service/check registration 2014-01-30 14:58:36 -08:00
Armon Dadgar 1eb0a76ee8 agent: Adding methods to register services and checks 2014-01-30 13:39:02 -08:00
Armon Dadgar 438c9537d3 agent: Adding CheckType which is used to wrap either a CheckMonitor or CheckTTL 2014-01-30 13:18:05 -08:00
Armon Dadgar 66b232f53e agent: syncCheck provides the relevant check to prevent a race condition 2014-01-30 13:17:34 -08:00
Armon Dadgar c4f516d034 Adding CheckMonitors and CheckTTLs to agent 2014-01-21 12:05:56 -08:00
Armon Dadgar 410a0de0c8 Seperate localState from Agent 2014-01-21 11:52:25 -08:00
Armon Dadgar 7aa278e2ef Allow setting the health check notes 2014-01-20 17:19:20 -10:00
Armon Dadgar 939c381d87 Adding CheckTTL for TTL based checks 2014-01-20 17:12:40 -10:00
Armon Dadgar a1b2a13df5 Testing the CheckMonitor 2014-01-20 16:58:05 -10:00
Armon Dadgar 9e63d1fa32 CheckMonitor runs forever and runs the first check immediately 2014-01-20 16:46:01 -10:00
Armon Dadgar a4201255df Adding basic CheckMonitor to invoke scripts 2014-01-20 16:44:23 -10:00
Armon Dadgar fe27fa191f Accept command line advertise addr 2014-01-20 15:17:12 -10:00
Armon Dadgar a6e4235b96 Adding tests for checks and services endpoints 2014-01-20 15:06:44 -10:00
Armon Dadgar cb7541c7af Exposing the agent checks and services over HTTP endpoints 2014-01-20 15:00:52 -10:00
Armon Dadgar d5d705b931 Adding tests for check anti-entropy 2014-01-20 14:31:02 -10:00
Armon Dadgar 1d3fb0772e Testing anti-entropy of services 2014-01-20 14:22:59 -10:00
Armon Dadgar be61bdc5b8 Handle the serf check and consul service 2014-01-15 17:28:23 -10:00
Armon Dadgar 1feec1adf8 First pass at local state + anti-entropy 2014-01-15 15:14:50 -10:00
Armon Dadgar 554ebdfc9a Methods for random staggering 2014-01-15 12:34:17 -10:00
Armon Dadgar 46e3075344 Adding AEConfig and some methods to scale timing 2014-01-15 12:17:40 -10:00
Armon Dadgar 54359b9ad6 DNS filters service nodes if they have failing checks 2014-01-15 11:30:04 -10:00
Armon Dadgar 0e08e200e4 DNS Lookup uses Health.ServiceNodes 2014-01-15 11:20:01 -10:00
Armon Dadgar 15719e6d15 Adding tests for the health endpoints 2014-01-10 15:25:37 -08:00
Armon Dadgar 779bc3b50b First pass at health endpoints 2014-01-10 15:13:37 -08:00
Armon Dadgar 799cba67a5 Updating agent to deal with new API 2014-01-08 15:13:27 -08:00
Armon Dadgar 7e96658fdb Testing DNS correctly deduplicates records 2014-01-06 14:56:41 -08:00
Armon Dadgar 04c2540072 Remove fix for upstream DNS bug 2014-01-06 14:37:02 -08:00
Armon Dadgar 21e614ca07 Adding tests for the agent HTTP endpoints 2014-01-06 13:21:48 -08:00
Armon Dadgar 5a087809dc Adding more HTTP endpoints 2014-01-03 17:15:51 -08:00
Armon Dadgar 29fe144b5b Support DNS recursion and TCP queries 2014-01-03 15:43:35 -08:00
Armon Dadgar b9e0eef1ff Support Service lookups 2014-01-03 13:00:03 -08:00
Armon Dadgar 0061b9a105 Adding DNS based node lookup 2014-01-02 17:58:58 -08:00
Armon Dadgar 470d9f9984 Domain pass through 2014-01-02 15:51:40 -08:00
Armon Dadgar 71e85cea72 Adding a DNS domain config 2014-01-02 15:50:52 -08:00
Armon Dadgar a8d6e1cfd4 Start DNS server, change logs, add SOA records 2014-01-02 15:10:13 -08:00
Armon Dadgar 423ffaecc5 Adding basic DNS framework 2014-01-02 13:12:05 -08:00
Armon Dadgar 1e035d5453 Rename HTTP server method 2014-01-02 11:45:58 -08:00
Armon Dadgar 93dac80a86 Adding support for advertise address 2013-12-31 16:45:13 -08:00
Armon Dadgar 638ba36953 API cleanup 2013-12-31 14:00:11 -08:00
Armon Dadgar 0aa4a54ada Start the RPC server with the agent 2013-12-30 15:27:41 -08:00
Armon Dadgar f4692b468f Pulling in the RPC framework from serf 2013-12-30 14:42:41 -08:00
Armon Dadgar f33a9c1d2d Serf API changes 2013-12-27 14:50:02 -08:00
Armon Dadgar f193ed5a88 Ensure lexical ordering for config files 2013-12-27 14:49:35 -08:00
Armon Dadgar 5c874584be Adding index page with 404 catchall 2013-12-24 17:09:51 -08:00
Armon Dadgar 8cc761de17 Enable bootstrap mode for the tests 2013-12-24 16:53:30 -08:00
Armon Dadgar 9a2d3c144a Adding a bootstrap flag to allow single server raft 2013-12-24 16:48:07 -08:00
Armon Dadgar 3c7a06bb80 Add Datacenter to output 2013-12-24 12:22:50 -08:00
Armon Dadgar 37aa0ae7a5 Better error logging 2013-12-24 12:22:42 -08:00
Armon Dadgar ead9c42abc Finish implementing the HTTP catalog interface 2013-12-24 11:55:14 -08:00
Armon Dadgar 21aac68e1b Remove debug line 2013-12-23 16:21:11 -08:00
Armon Dadgar 39d9e3e78f More HTTP endpoints 2013-12-23 16:20:51 -08:00
Armon Dadgar f062e31be7 Adding catalog datacenter http methods 2013-12-23 14:26:34 -08:00
Armon Dadgar caaff11634 Adding more agent tests 2013-12-23 13:52:10 -08:00
Armon Dadgar a820848fbf Remove useless config 2013-12-23 13:46:50 -08:00
Armon Dadgar 469245a06d Working on Agent HTTP interface 2013-12-23 11:38:51 -08:00
Armon Dadgar 8caf0034db Working on the agent 2013-12-20 16:39:32 -08:00
Armon Dadgar aeccadd217 Filling in Agent basics 2013-12-20 15:33:13 -08:00
Armon Dadgar 289e1c598b Agent skeleton 2013-12-19 17:14:46 -08:00
Armon Dadgar d0cfb06d74 Adding agent skeleton 2013-12-19 12:18:06 -08:00