Commit Graph

662 Commits

Author SHA1 Message Date
Armon Dadgar 05610966df command/exec: Handle a missing key during cancelation. Fixes #626 2015-02-16 14:32:50 -08:00
artushin 2ae843d51c oops. DefaultTransport being used. 2015-02-12 10:11:22 -06:00
artushin 5ec92971ac close idle connections after stopping http checks to service 2015-02-11 18:29:51 -06:00
Ryan Uber 103e9e7fc1 agent: clarify the valid characters for dns 2015-02-09 09:59:27 -08:00
Ryan Uber 722b255816 agent: warn on service tags with invalid chars 2015-02-09 09:30:06 -08:00
Ryan Uber 5e801c905d agent: Warn on dns-incompatible characters during service registration. Fixes #683. 2015-02-09 09:23:17 -08:00
lalyos 190f15458f fixing version numbers RCs should be labeled x.x.x-rcx
see conversation with ryanuber: https://github.com/hashicorp/go-checkpoint/issues/2#issuecomment-73199209
2015-02-09 08:17:30 +01:00
Ryan Uber 84f8c70a79 agent: fix test case examples 2015-02-05 23:29:04 -08:00
Ryan Uber 45097f9f3d Merge pull request #654 from arnaudbriche/http-check-timeout
Configurable CheckHTTP timeout
2015-02-05 23:03:39 -08:00
arnaud briche bbb5f4696a - add tests for CheckHTTP with new timeout parameter && CheckType.Timeout parsing 2015-02-02 15:30:44 +07:00
arnaud briche 7f91782478 - add proper parsing of CheckType.Timeout from string 2015-02-02 15:29:42 +07:00
Ryan Uber 3c85d7e231 agent: http checks work inside of service definitions 2015-01-29 12:11:42 -08:00
Ryan Uber 544299efa5 agent: pass locally configured token during remote exec 2015-01-29 10:42:46 -08:00
arnaud briche e87afe341b - add Timeout field to CheckType and CheckHTTP to make http request timeout configurable by the client 2015-01-29 13:37:48 +07:00
Ryan Uber 58eba95b98 agent: test service/check deletion with empty ID 2015-01-27 21:47:59 -08:00
Ryan Uber c537799ce8 Merge pull request #644 from foostan/add_validation_of_deregistration
Validate ServiceID/CheckID when deregistering.
2015-01-27 21:39:35 -08:00
foostan 2df98c1824 Validation ServiceID/CheckID when deleting in deleteService() in local.go 2015-01-27 18:11:57 +09:00
foostan 9316596e25 Add tests to remove service/check without an ID 2015-01-27 18:10:56 +09:00
foostan 401bc71cb2 Validate ServiceID/CheckID when deregistering. 2015-01-27 01:06:57 +09:00
Emil Hessman abce80f7bc docs: describe child process handling on Windows for lock command
Add website documentation for how the lock command handles child
process termination on Windows.
2015-01-25 11:42:29 +01:00
Emil Hessman 8cdbde20bd command: fix Windows build
Add a per GOOS implementation to send signals to PIDs
since syscall.Kill does not exist on Windows.

It will always send a SIGKILL on Windows since there
seems to be no POSIX compatible notion.

Fixes build on Windows.
2015-01-25 05:00:52 +01:00
Ryan Uber 8b0fe52be2 agent/http: fix service registration with nil checks value 2015-01-23 18:50:51 -08:00
Ryan Uber b5e8111485 agent/http: clean up socket setup 2015-01-23 17:57:04 -08:00
Ryan Uber eda2171bbe agent: make check tests more reliable 2015-01-23 16:07:20 -08:00
Ryan Uber b69b780408 agent: error from KVS endpoint if incompatible flags are passed. Fixes #432 2015-01-23 12:48:39 -08:00
Ryan Uber 67190e6f68 agent: more lenient dns response test 2015-01-22 15:31:12 -08:00
Armon Dadgar e1a5d537d4 Merge pull request #625 from hashicorp/f-maintcmd
New "maint" command
2015-01-22 11:56:49 -08:00
Ryan Uber 5049a5eb7b command/maint: better arg conflict checking 2015-01-22 11:20:32 -08:00
Ryan Uber 44f3c20e50 command/maint: clean up 2015-01-22 11:14:28 -08:00
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 eaaa96922d command: more maint command tests 2015-01-21 13:49:10 -08:00
Ryan Uber 47c4ab6863 command: test maint command 2015-01-21 13:37:32 -08:00
Ryan Uber 61d17e65f5 agent: prevent duplicate error messages for maintenance api 2015-01-21 13:28:26 -08:00
Ryan Uber 7d663aa1ed command: maint command works 2015-01-21 13:11:23 -08:00
Ryan Uber aa8672203c command: starting maint command 2015-01-21 13:00:14 -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
Armon Dadgar d998bb3d67 Fixing merge conflict 2015-01-20 13:01:13 -08:00
Armon Dadgar ce4fa17d22 command/lock: Fixing mixed spaces and tabs 2015-01-20 12:58:29 -08:00
Armon Dadgar d6837e2f31 command/lock: Adding simple test 2015-01-19 15:47:17 -10:00
Armon Dadgar 876de111bf command/lock: Calculate name, use provided token 2015-01-19 15:38:00 -10:00
Armon Dadgar 08c0a81e4f command/lock: Ensure a conflict between lock and semaphore with shared prefix 2015-01-19 15:26:17 -10:00
Armon Dadgar f2f980f5bc command/lock: First pass at lock 2015-01-19 14:37:48 -10:00
Ryan Uber 2530e5ff05 agent: test agent rpc unix socket create failure 2015-01-19 09:56:59 -08:00
Emil Hessman 60011d3e2e command: address vet report in test
Fixes the following vet report:

command/rpc_test.go:61: missing argument for Fatalf(%s): format reads arg 3, have only 2 args
2015-01-17 07:57:11 +01:00
Ryan Uber 58806bc7bb command: fix up env var/cli arg precedence and tests 2015-01-16 17:45:13 -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 41ec10a120 command: fix env var reader for HTTP addr 2015-01-16 14:01:20 -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 e2eff5698e command: style fixes for env addr reading 2015-01-16 10:19:04 -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