Commit Graph

2147 Commits

Author SHA1 Message Date
Seth Vargo 6f01227963
Centralize command-line parsing 2016-10-13 18:03:29 -04:00
James Phillips 377ce12e53
Removes reap config option. 2016-10-06 21:45:18 -07:00
Brian Shumate 36e1a194c2
Lower Service tag DNS warning to DEBUG for #2019 2016-10-05 08:45:01 -04:00
Adam Wolfe Gordon ae5bd0f2cc agent: Stop reaping child processes (resolves #1988)
The consul docker image now uses dumb-init to reap child processes, so
there's no need to reap them ourselves.
2016-10-04 09:36:41 -06:00
Seth Vargo 74e35b1f48
Fix kv put flags 2016-09-26 16:13:39 -07:00
Seth Vargo 90f4953b47
Fix up kv put help output 2016-09-26 16:11:23 -07:00
Seth Vargo 8ac6877f20
Remove debugging code 2016-09-26 16:09:35 -07:00
Seth Vargo 70fd7efde9
Fix CAS operations for put 2016-09-26 16:06:56 -07:00
Seth Vargo 46f4093f14
Change delete CAS behavior to require ModifyIndex 2016-09-26 16:06:55 -07:00
Seth Vargo 738f12329a
Fix copy-paste comments 2016-09-26 16:06:54 -07:00
Seth Vargo ce5c820c4a
Add kv delete command 2016-09-26 16:06:53 -07:00
Seth Vargo d5dd8ef7a1
Add kv put command 2016-09-26 16:06:53 -07:00
Seth Vargo a8dc0f86b6
Add kv get 2016-09-26 16:06:53 -07:00
Seth Vargo cd8ac28a87
Add kv command stubs 2016-09-26 16:06:53 -07:00
Seth Vargo ec16f75124
Add test function for returning an API client 2016-09-26 16:06:52 -07:00
James Phillips 5eb4c94bde
Runs go-fmt (incidental to this PR). 2016-09-23 17:44:14 -07:00
James Phillips 36db92932a
Makes string search for Windows case-insensitive.
Fixes #2356.
2016-09-23 17:43:40 -07:00
James Phillips a477481ad3 Merge pull request #2353 from hashicorp/b-local-panic
Cleans up state management for remote deletes from local state.
2016-09-22 12:56:08 -07:00
James Phillips 6f1050a181
Calls remove on checks and services in the local test. 2016-09-22 11:41:17 -07:00
James Phillips 434233a131
Cleans up state management for remote deletes from local state.
Fixes #2125.
2016-09-21 16:52:43 -07:00
James Phillips 41b0115ee6 Merge pull request #2262 from WIZARD-CXY/master
Fixes go race bug in startup log buffering.
2016-09-20 17:24:52 -07:00
Felix f9e001cb6e return an error if no logOutput is provided
Otherwise the code will panic at a later stage where it is more complicated to figure out what’s actually going on.
2016-09-17 17:46:13 +09:00
James Phillips aed72ccc60 Merge pull request #2263 from sweeneyb/dnsPort
Add support for dns port as a command line option
2016-09-01 22:16:15 -07:00
James Phillips 4819cf3a52
Does some go fmt cleanup. 2016-09-01 22:14:19 -07:00
James Phillips 1924eccf71 Merge pull request #2322 from hashicorp/pr-2321-slackpad
Adds a configurable timeout for DNS recursor client.
2016-09-01 22:11:54 -07:00
James Phillips 314bd1363c
Adds a recursor timeout line to the merge test. 2016-09-01 21:53:33 -07:00
James Phillips 3f3bb444fa
Fixes a typo in a test error message. 2016-09-01 21:52:29 -07:00
Pivotal DX129 2682410059 Merge remote-tracking branch 'upstream/master' 2016-09-01 10:15:32 -04:00
James Phillips d419a0ae0d
Changes default for `leave_on_terminate` based on server or client mode. 2016-08-31 23:39:11 -07:00
James Phillips 5e4db081f7
Removes Raft types from public API interface.
This will cause a lot of breakage because we've currently vendored a
branch of the Raft library.
2016-08-30 14:59:16 -07:00
James Phillips 3304352272
Changes default DNS allow_stale to true. 2016-08-30 13:55:19 -07:00
James Phillips 6be1e07fec
Makes the Raft configuration API easier to consume. 2016-08-30 11:30:56 -07:00
James Phillips 1b7a16b7d3
Adds new consul operator endpoint, CLI, and ACL and some basic Raft commands. 2016-08-30 00:02:50 -07:00
Pivotal DX129 6acb742c08 Fixed code formatting 2016-08-29 17:29:23 -04:00
Pierre Delagrave b97500234d Made the dns recursor timeout test more reliable 2016-08-29 13:23:14 -04:00
Pierre Delagrave 3d5c2609e7 Renamed dns config parameter internal_client_timeout for recursor_timeout 2016-08-26 15:22:04 -04:00
Pierre Delagrave 0895e48106 Merge remote-tracking branch 'pierre/master' 2016-08-26 15:12:38 -04:00
James Phillips 6f030a1167
Tweaks formatting of Consul version. 2016-08-25 17:12:55 -07:00
James Phillips 5df4fffd09 Merge pull request #2303 from hashicorp/f-tunes
Adds performance tuning capability for Raft, detuned defaults, and supplemental docs.
2016-08-25 15:45:49 -07:00
James Phillips 2f4c237cff
Adds a max raft multiplier and tweaks documentation. 2016-08-25 15:36:05 -07:00
James Phillips 5df36fbd82
Stops scaling the commit timeout. 2016-08-25 15:05:40 -07:00
James Phillips 40f3470696
Redacts the Circonus API token from stats JSON. 2016-08-24 23:27:25 -07:00
James Phillips b339b0d2fc
Adds performance tuning capability for Raft, detuned defaults, and supplemental docs. 2016-08-24 21:58:37 -07:00
Pierre Delagrave 17b6a18c37 Added a configurable timeout to the client making DNS queries to downstream name servers 2016-08-23 16:59:38 -04:00
James Phillips 2aeaf35c41
Removed bad error message for health check status. 2016-08-17 17:54:09 -07:00
James Phillips 0bdbdf1ba8 Merge pull request #2226 from abhinavdahiya/rm-health-unknown
Fixes #1775; Removes 'unknown' state
2016-08-17 17:51:04 -07:00
James Phillips 5f5e0b3e76
Makes protocol version a little clearer. 2016-08-17 11:29:09 -07:00
James Phillips db9a72dde1
Merge branch 'master' into f-deregister-critical 2016-08-16 12:53:21 -07:00
James Phillips 607595f99e
Cleans up based on code review feedback. 2016-08-16 12:52:30 -07:00
James Phillips bc333335be
Adds an `X-Consul-Translate-Addresses` to signal translation is enabled. 2016-08-16 11:31:41 -07:00
James Phillips 817d7e93e4
Adds an "lan" tagged address so we have a way to get them all.
If we didn't have this, then there would be no way to know the LAN
address if address translation was turned on.
2016-08-16 10:49:03 -07:00
James Phillips b4f981c837
Adds ability to deregister a service based on critical check state longer than a timeout. 2016-08-16 01:00:26 -07:00
James Phillips 12e6db464b
Tweaks the WAN address translation unit tests. 2016-08-15 15:34:11 -07:00
James Phillips c066c2e70a
Factors translate out into a separate file and makes safe for in-memory RPCs. 2016-08-15 15:05:02 -07:00
Xingyu Chen 07d141570c Update gated_writer.go 2016-08-14 16:36:21 +08:00
David van Geest 360e196c93
Translate Address to tagged WAN address in HTTP API when appropriate. 2016-08-12 18:25:36 -07:00
James Phillips 8e8f840169
Updates built-in UI static assets to latest. 2016-08-12 18:01:59 -07:00
James Phillips 4915790bdc
Runs `go fmt`. 2016-08-12 17:26:23 -07:00
James Phillips 6c4a8d8383
Tweaks DNS prepared query failover unit test. 2016-08-12 17:16:08 -07:00
Max Timchenko 90f49354d6
Corrects two issues with DNS prepared query failover
When DNS prepared query fails over to another datacenter and the datacenter
returns some nodes, the DNS result does not translate WAN addresses even when
translation is enabled for SRV and A queries, and returns the wrong datacenter
(the one that failed over) for SRV queries.
2016-08-12 17:06:43 -07:00
James Phillips a379078e3e Merge pull request #2267 from hashicorp/b-srv-trim
Fixes bug when trimming DNS SRV records.
2016-08-12 14:57:20 -07:00
James Phillips a666dc44b3
Passes the index by reference so we can control the allocation. 2016-08-12 14:51:50 -07:00
James Phillips de95fe8638
Makes name compares case-insensitive. 2016-08-12 12:16:21 -07:00
R.B. Boyer 291a468c87
Validate gossip encryption key before made persistent in local.keyring 2016-08-12 11:42:45 -07:00
James Phillips 45e2879eb5
Avoids allocations and function calls if no extra data is present. 2016-08-12 10:29:57 -07:00
James Phillips e05c77b9bf
Renames "seen" to "resolved". 2016-08-11 22:01:57 -07:00
James Phillips 6c22c48326
Fixes the DNS SRV trim bug. 2016-08-11 21:46:14 -07:00
James Phillips 086a5af5ff
Finishes up DNS compression by adding opt-out, tests, and documentation. Fixes trim routine. 2016-08-11 16:27:08 -07:00
epipho f31f1c04e9
Fix panic where r.Compress would be set before checking for errors. 2016-08-11 16:27:08 -07:00
epipho 6d17b4eb67
Compress all DNS responses to prevent them from going over the 512 byte
limit from RFC 1035
2016-08-11 16:27:08 -07:00
James Phillips f471c6e2ad Merge pull request #2264 from hashicorp/pr-2045-slackpad
Enables stale mode for watchers.
2016-08-10 15:58:34 -07:00
James Phillips 32cf81e59c
Fixes a typo and adds stale documentation to website. 2016-08-10 15:46:28 -07:00
sweeneyb e8117ba622 Add support for dns port as a command line option 2016-08-10 04:05:56 +00:00
chenxingyu 53009f2466 fix go race bug 2016-08-10 10:44:20 +08:00
James Phillips b566c094bb
Updates bindata after vendor update. 2016-08-09 19:03:10 -07:00
James Phillips f00e49112a
Installs a wrapper around HTTP endpoints that generate metrics. 2016-08-09 15:41:15 -07:00
James Phillips 3585b5a4cb Merge pull request #2237 from hashicorp/f-acl-replication
Adds ACL replication.
2016-08-09 11:42:16 -07:00
James Phillips 2acb287690
Fixes JS exception when there are no coordinates present. 2016-08-08 17:38:22 -07:00
James Phillips 4a931ae12e
Adds an ACL replication status endpoint. 2016-08-04 23:30:16 -07:00
James Phillips c4ae68010b
Hides the acl_replication_token from JSON output, like in /v1/agent/self. 2016-08-03 21:24:09 -07:00
James Phillips 9cece515c0
Adds basic ACL replication plumbing. 2016-08-03 21:24:04 -07:00
Cameron Davison 40d1c279dd
atomic write service state and checks files, fixes #1221 2016-08-03 10:34:12 -05:00
Hasyimi Bahrudin b2ad8114fe Remove redundant hardcoded environment variables
The following hardcoded environment variables are removed:

* CONSUL_RPC_ADDR
* CONSUL_HTTP_ADDR
2016-08-03 14:40:26 +08:00
Abhinav Dahiya 9dc52449e3 Fixes #1775; Removes 'unknown' state
Signed-off-by: Abhinav Dahiya <abhinavdtu2012@gmail.com>
2016-07-30 19:33:14 +05:30
James Phillips 72208b6929 Merge pull request #2207 from grange74/leave-command-args-check
add extra check for unexpected args to leave command
2016-07-23 14:52:13 -07:00
nick.grange 63ec2dd465 add extra check for unexpected args to leave command 2016-07-24 00:36:59 +10:00
James Phillips 5d83d507b4 Adds consul info data into /v1/agent/self endpoint. 2016-07-20 15:12:26 -07:00
James Phillips 4a7b55c8cb Fixes startup version print to show the human version. 2016-07-20 08:09:05 -07:00
James Phillips 9816c995bd Adds version info back into the config.
In #2191 I accedentally broke SCADA by not populating the agent's version
information into the config structure. This adds it back, and makes the
distinction between the raw parts we send to APIs and the human form of
the version that we display.
2016-07-19 18:38:15 -07:00
James Phillips 51fbad91fd Merge pull request #2193 from hashicorp/pr-2188-slackpad
Adds Circonus support for telemetry metrics.
2016-07-19 17:15:29 -07:00
James Phillips ca5f42d61d Tweaks the docs a bit. 2016-07-19 15:54:52 -07:00
James Phillips 9b36671fd6 Removes top-level key support for Circonus configs.
This was a feature to help migrate to the new telemetry sub-structure,
but since this is all new we don't need it.
2016-07-19 15:46:57 -07:00
James Phillips 53877aa260 Makes sure version is always displayed consistently. 2016-07-19 15:06:32 -07:00
richard.hulm f11a0145ab RH: Add revision (if it exists) 2016-07-19 10:04:56 +01:00
matt maier 87e29fd709 fix: typo coupled, default token app to "consul", switch submit_interval/SubmitInterval to submission_interval/SubmissionInterval 2016-07-18 15:46:11 -04:00
matt maier c5a6cb8b4c Add Circonus support for Telemetry metrics 2016-07-18 09:34:43 -04:00
richard.hulm c2b78eac7d Add the version (from config) to the Starting Consul Agent printout 2016-07-18 10:01:16 +01:00
Evan Gilman c5b30cba6f
Merge branch 'master' into let-watches-be-stale
Attempt to let the tests pass
2016-07-13 11:20:44 -07:00
Ryan Uber 62d0edbdd4 Merge pull request #1847 from mssola/dc-to-datacenter
[proposal] command: deprecated the -dc flag in the agent CLI
2016-07-05 13:01:51 -07:00
Ryan Uber e9960e6c85 Merge pull request #2137 from hashicorp/f-pq-near
Support "near" parameter in prepared query service block
2016-07-01 12:28:48 -07:00
Ryan Uber 134f66e3d4 agent: parseSource still subs for _agent 2016-07-01 10:04:58 -07:00
Ryan Uber 5089561b1b agent: test that DNS passes the agent data through 2016-07-01 09:46:26 -07:00
Ryan Uber ebacaa2d67 consul: send agent source data as separate query source 2016-06-30 16:51:18 -07:00
Ryan Uber ec8ade1800 agent: always pass local agent query source, allow override 2016-06-30 12:11:48 -07:00
Ryan Uber aae9c2eb30 agent: fix test 2016-06-21 16:28:26 -07:00
Ryan Uber 270270a33a consul: send origin node + dc when executing prepared queries 2016-06-21 15:34:26 -07:00
Ryan Uber 114e57fff1 consul: use the Near field instead of PreferLocal 2016-06-21 12:39:40 -07:00
James Phillips f9e2900692 Merge pull request #2131 from hashicorp/b-misc-microoptimizations
Misc micro optimizations
2016-06-21 09:59:01 -07:00
Sean Chittenden 949829295a
Pack Port to be slightly more optimal in terms of struct memory usage. 2016-06-20 15:31:17 -07:00
Sean Chittenden c90fc057d4
Give log reviewers a hint as to which check is failing 2016-06-20 15:25:21 -07:00
Sean Chittenden 8baf0d7a95
Use stable, monotonically increasing port numbers for tests 2016-06-20 14:33:46 -07:00
Ryan Uber 89660879a0 agent: set origin during PQ execution 2016-06-20 14:24:42 -07:00
Sean Chittenden 7482a9207d
Chase casting types.CheckID to a string into the state_store.
It turns out the indexer can only use strings as arguments when
creating a query.  Cast `types.CheckID` to a `string` before calling
into `memdb`.

Ideally the indexer would be smart enough to do this at compile-time,
but I need to look into how to do this without reflection and the
runtime package.  For the time being statically cast `types.CheckID`
to a `string` at the call sites.
2016-06-07 16:59:02 -04:00
Sean Chittenden ff45f8c8ff
Revert "Move `structs.CheckID` to a new top-level package, `types`."
This reverts commit 2bbd52e3b44ff1b60939a8400264d534662d6d51.
2016-06-07 16:59:02 -04:00
Sean Chittenden a4554b945c
Move `structs.CheckID` to a new top-level package, `types`.
Per discussion w/ @slackpad, move this type to its own top-level package
2016-06-07 16:59:02 -04:00
Sean Chittenden cd68cd3868
Move `structs.CheckID` to a new top-level package, `types`.
Per discussion w/ @slackpad, move this type to its own top-level package
2016-06-07 16:59:02 -04:00
Sean Chittenden 0857e93d0b
Float a type balloon. Some strings are square pegs in round holes.
This experiment was brought about because of variable naming
confusion where name and checkIDs were interchanged.  Gave CheckID
an Qualified Type Name and chased downstream changes.
2016-06-07 16:59:02 -04:00
James Phillips 1955eadc12 Updates web assets to pull in RTT viz. 2016-06-07 09:32:44 -07:00
James Phillips 5f334d94fa Removes stale scada client and test sections that use (now) unexported fields.
Fixes #2092.
2016-06-06 19:18:31 -07:00
Jeff Mitchell e061d89fe9 Use upstream high-level SCADA provider 2016-06-01 18:25:39 -04:00
Nathan Zadoks 53c14e139f Parse ACL tokens for the catalog register/deregister endpoints
Fix #1738
2016-05-17 13:16:33 -04:00
James Phillips ffcba3df58 Merge pull request #2028 from hashicorp/f-atomic-kv
Adds support for atomic transactions spanning multiple KV entries.
2016-05-15 13:46:05 -07:00
Sean Chittenden d25ab4440d
Remove completely unused structs 2016-05-15 09:14:36 -07:00
Sean Chittenden b20f86b4c7
Speling police 2016-05-15 09:13:52 -07:00
James Phillips c786e1d457 Reduces the number of operations in a transaction to 64. 2016-05-14 21:40:46 -07:00
James Phillips a11f32a1da Adds a get-tree verb to KV transaction operations. 2016-05-13 16:57:39 -07:00
James Phillips 77ae55c692 Adds some size limiting features to transactions to help prevent abuse. 2016-05-13 13:39:01 -07:00
James Phillips 2649a6336e Adds a read-only optimized path for transactions. 2016-05-13 00:34:05 -07:00
James Phillips 2ed48480e9 Hoists KV processing helper functions up as static functions. 2016-05-12 16:10:06 -07:00
Justin Lambert 1c8d20ba6a allow automatically discovering aws ec2 consul servers 2016-05-11 19:41:41 -06:00
James Phillips 3d35acaa90 De-nests the KV output structure (removes DirEnt member). 2016-05-11 13:48:03 -07:00
James Phillips 04a13ec3d7 Switches to "KV" instead of "KV" for the KV operations. 2016-05-11 10:58:27 -07:00
James Phillips dc662f7e35 Refactors TxnRequest/TxnResponse into a form that will allow non-KV ops.
This isn't needed/used yet, but it's a good hook to get in there so we
can add more atomic operations in the future. The Go API hides this detail
so that feels like a KV-specific API. The implications on the REST API are
pretty minimal.
2016-05-11 01:39:10 -07:00
James Phillips d980cbcd9d Moves txn code into a new endpoint, not specific to KV. 2016-05-10 21:58:02 -07:00
James Phillips 54b930103c Terminates pretty responses with a newline. 2016-05-10 20:02:36 -07:00
James Phillips 15a331d36c Adds unit tests for HTTP endpoint. 2016-05-10 12:59:34 -07:00
Evan Gilman bf2760ac18
Enable Stale mode for watchers
Solves https://github.com/hashicorp/consul/issues/917 by giving consul
watch a `-stale` flag
2016-05-10 00:09:15 -07:00
James Phillips 471160d8f0 Performs basic plumbing of KVS transactions through all the layers. 2016-05-09 22:15:49 -07:00
Sean Chittenden b34b1f85aa Include the current version along side the available version.
When checkpoint emits a log message indicating an agent is out of
date, include the current version along with the available version
according to checkpoint.

Inspired by: log output in #993
2016-05-04 22:57:44 -07:00
James Phillips 0f7f07d2f5 Fixes some bad error returns in the persist service and check paths. 2016-04-26 15:03:26 -07:00
James Phillips 03b0c196e0 Merge pull request #1762 from mshean/script-timeout
Add Timeout field to CheckMonitor
2016-04-24 23:08:06 -07:00
Sean Chittenden 65f9017c63 Update Check API to use constants
Use constants where appropriate to advocate their use.  Also add a deprecation notice re: `updateTTL`.
2016-04-23 16:01:59 -07:00
James Phillips 6182a34600 Merge pull request #1935 from hashicorp/f-reap-time
Makes reap time configurable for LAN and WAN.
2016-04-20 13:50:21 -07:00
James Phillips bc6efbae18 Sets an anti-footgun floor for the configurable reap time. 2016-04-20 13:49:51 -07:00
Matt Shean 7e617d6086 add Timeout field to CheckMonitor 2016-04-20 11:41:30 -07:00
Ryan Uber 9e82074f49 agent: limit HTTP check output to 4k 2016-04-14 14:28:07 -07:00
James Phillips 79153c3014 Merge pull request #1884 from mtchavez/1541-data-dir-perms
command: Data directory permission error message
2016-04-12 22:06:49 -07:00
James Phillips 422adaf168 Makes a detached copy of the tags when doing the override. 2016-04-11 14:53:18 -07:00
James Phillips 50e1d661ad Tweaks comment about side effects. 2016-04-11 08:58:17 -07:00
James Phillips 32389a9822 Makes reap time configurable for LAN and WAN. 2016-04-11 00:38:25 -07:00
James Phillips c1c8a0b70c Merge pull request #1934 from hashicorp/b-check-output
Syncs a check's output with the catalog when output rate limiting isn't in effect.
2016-04-11 00:37:50 -07:00
James Phillips 9773cc28ca Uses the HealthCheck Clone() method in local_test.go. 2016-04-11 00:20:24 -07:00
James Phillips 3f340716fd Adds a clone method to HealthCheck and uses that in local.go. 2016-04-11 00:05:39 -07:00
James Phillips f6fe6a2197 Syncs a check's output with the catalog when output rate limiting isn't in effect. 2016-04-10 21:20:39 -07:00
Alex Myasoedov b89c2063bd #1878 Set default bind address to 127.0.0.1 in development mode 2016-04-07 21:25:33 +03:00
James Phillips 07e7d551f9 Removes a bogus warning for Windows. 2016-04-05 18:04:23 -07:00
James Phillips 419a90031f Updates static assets to pull in #1702. 2016-04-04 12:21:23 -07:00
Sean Chittenden 80cfe3d1ab Clean up verifyUniqueListners
The first pass over this was a hackjob in the sense that it was not elegant.  Fixed.

Pointed out by: subcionscious in the middle of the night
2016-04-04 11:03:49 -07:00
Chavez f75c0f4390 Retry http server connecting in agent/http_test 2016-04-01 19:17:38 -07:00
Chavez 09f962a75b Test agent RPC client connection retries 2016-04-01 19:17:38 -07:00
Chavez 10f297e8fc command: Data directory permission error message
* Check for invalid data directory permissions
* Display appropriate permissions error message
* Add command test for bad data directory permissions
2016-04-01 19:17:38 -07:00
Sean Chittenden fca71e1974 Rely exclusively on error to signal failure
Pointed out by: slackpad
2016-04-01 10:34:45 -07:00
Sean Chittenden 4660cb969f Print a helpful message re: duplicate addresses
IP sockets provide nice endpoints where the kernel will fail to bind and will error out saying socket already in use.  UNIX sockets, however, don't enjoy this nice property when cleaning up stale sockets on listen.  Given the number of addresses in Consul, provide operators with a helpful message that indicates the source of the reused address.

Before this fix, it was possible for the HTTP socket to unlink the RPC socket, leading to confusing blocked behavior when running commands like `consul info`.

```
% cat tmp.config.json
{
    "addresses": {
	"http": "unix:///tmp/.consul.sock",
	"rpc": "unix:///tmp/.consul.sock"
    },
    "unix_sockets": {
	"mode": "0700"
    }
}
% consul agent -config-file tmp.config.json -advertise=127.0.0.1 -data-dir=/tmp/
==> All listening endpoints must be unique: HTTP address already configured for RPC
Exit 1
```
2016-04-01 10:20:45 -07:00
Sean Chittenden 9eaffc456f skip_leave_on_int's default changes based on agent mode
`skip_leave_on_int`'s behavior now changes based on whether or not the agent is acting as a client or server.

Fixes: 1687
2016-03-31 17:45:14 -07:00
Sean Chittenden 08aa037dd3 Guard against a node name containing pure whitespace for real 2016-03-31 15:10:19 -07:00
Sean Chittenden faa2aa4436 Guard against a node name containing pure whitespace 2016-03-31 15:02:58 -07:00
Sean Chittenden c03d025903 Node names are not allowed to be empty 2016-03-31 14:47:55 -07:00
Sean Chittenden 85c1da796d Change tests to accept an "at least this many" answers semantic
The size of answers vary based on the target platform.  Accomodate this variance.
2016-03-30 11:48:32 -07:00
Sean Chittenden 12f1a71f00 Fix tests
I'm not sure how I thought this passed last night, it was obviously wrong.
2016-03-30 10:16:05 -07:00
Sean Chittenden 1bcf8d9b33 Editorialize the comment re: UDPAnswerLimit
Prodded by: slackpad & fusiondog
2016-03-30 01:15:40 -07:00
Sean Chittenden 9d7a6d895a Use table-driven test for response limits
Much more exhaustive testing and shows where the limits are of the 512B limitation (quering by ID is less space efficient than querying by just a prepared query or service).
2016-03-30 01:05:49 -07:00
Sean Chittenden 49f8b147b8 Remove duplicate paste-o
Pointed out by: slackpad
2016-03-29 23:31:31 -07:00
Sean Chittenden 8f7bed30a6 Test services and PQT limits 2016-03-29 23:08:58 -07:00
Sean Chittenden 6392dfe0e3 Improve the use of constants across DNS tests 2016-03-29 23:08:40 -07:00
Sean Chittenden b2e0baec4e Use a non-default config value 2016-03-29 23:06:31 -07:00
Sean Chittenden fbf1e5c939 Test missing config inputs
Alpha sort where appropriate to make it easier to keep in sync in the future.
2016-03-29 23:06:17 -07:00
Sean Chittenden c3dcd9acfb Correctly detect that an answer has been truncated 2016-03-29 19:52:31 -07:00
Sean Chittenden 0ad4fab7d4 Remove dead and incorrect code
This functionality is handled further upstream in `trimUDPAnswers()`
2016-03-29 19:38:26 -07:00
Sean Chittenden d1166307aa Trim UDP responses per configuration 2016-03-29 19:27:21 -07:00
Sean Chittenden a29f6e8c8f Allow adjusting the number of DNS records in a response...
Based on work done by @fusiondog in #1583, extend the concept to use an integer instead of a boolean.

Fixes: #1583 && #1481
2016-03-29 19:23:56 -07:00
Patrick Feliciano e533f9bce1 Adding singleton option to DNS for getaddrinfo bug. 2016-03-29 19:23:07 -07:00
Sean Chittenden 74c8da079e Fix whitespace alignment in a comment 2016-03-23 16:00:39 -07:00
James Phillips 2c61c1d333 Merge pull request #1861 from hashicorp/b-flaky-test
Widens coordinate update sleeps in unit tests.
2016-03-21 18:24:05 -07:00
James Phillips 4629871f57 Widens coordinate update sleeps in unit tests. 2016-03-21 18:23:11 -07:00
Hrishikesh Barua bcca7efe83 Added help text for -dev option #1804 2016-03-21 17:27:57 +05:30
James Phillips 13b8ce0adc Merge pull request #1851 from hashicorp/f-ipv6-bind
Allow [::] as a bind address (binds to first public IPv6 address)
2016-03-19 16:16:19 -07:00
Wim 508bc796a8 Allow [::] as a bind address (binds to first public IPv6 address) 2016-03-18 23:59:44 +01:00
Miquel Sabaté Solà 79d49336a8 Used 'unconvert' to remove unneeded conversions
I've removed unneeded conversions by performing the following commands:

    $ go get -u github.com/mdempsky/unconvert
    $ go list ./... | grep -v vendor | xargs unconvert -apply

Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
2016-03-18 16:12:56 +01:00
Miquel Sabaté Solà 314a0913e2 command: deprecated the -dc flag in the agent CLI
The `-dc` flag from the agent CLI command has been deprecated in favor of
`-datacenter`. This is done this way because:

- Other CLI commands used `-datacenter`. See: event, exec and watch.
- The agent configuration file uses `datacenter`.

Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
2016-03-18 15:44:35 +01:00
James Phillips dda84c0f58 Merge pull request #1819 from hashicorp/f-check-accept
Adds default set of accept headers for HTTP checks.
2016-03-09 21:12:25 -08:00
James Phillips 30dba02fa3 Adds default set of accept headers for HTTP checks. 2016-03-09 21:11:20 -08:00
James Phillips b132e8f21b Tweaks algorithm so it's safe with an empty list and adds a PQ test. 2016-03-08 23:09:09 -08:00
Igor Dubinskiy f4edb28ef3 Make sure UDP DNS responses aren't larger than allowed 2016-03-07 16:41:17 -08:00
James Phillips cb1bf35ce9 Updates to latest compiled ui assets. 2016-03-07 13:49:08 -08:00
James Phillips 275c84a0cc Renames "debug" endpoint and structures to "explain". 2016-03-07 10:45:39 -08:00
James Phillips 8493640b09 Adds a prepared query debug endpoint. 2016-03-07 10:45:39 -08:00
Calvin Leung Huang f6c1ffa943 Correct the rtt -wan error message 2016-03-04 16:27:30 -05:00
James Phillips bfe6f073fe Tweaks formatting of inline output messages. 2016-03-02 19:47:00 -08:00
James Phillips d709ef537b Retains the last output when a TTL check times out. 2016-03-02 17:58:01 -08:00
James Phillips bd4f2ee6b7 Adds a new PUT-based TTL check update endpoint. 2016-03-02 17:54:01 -08:00
Stefan Engstrom b20278cadc add accept header */* for agent check 2016-02-19 10:31:00 -06:00
James Phillips a29c1ee04e Merge pull request #1703 from alistanis/fix-issue-#1661
fixes issue #1661 and adds supporting test
2016-02-16 20:13:36 -08:00
James Phillips cbdff8296f Fixes redirect from / to /ui when internal UI is enabled. 2016-02-12 16:11:32 -08:00
Chris Cooper 1327d9eff6 add missing test 2016-02-09 10:49:41 -05:00
Chris Cooper a2533d5d76 fixes issue #1661 and adds supporting test 2016-02-09 10:35:39 -05:00
James Phillips 968bd6321c Adds a sanity check to the local node info compare. 2016-02-07 15:07:23 -08:00
James Phillips 9fabd05157 Merge pull request #1698 from hashicorp/pr-1547-slackpad
Implements WAN address translation.
2016-02-07 14:26:04 -08:00
James Phillips 6797b3ee85 Adds a test to make sure we get the local address within the DC. 2016-02-07 14:16:15 -08:00
James Phillips 3be9f16030 Increases wait to account for random stagger. 2016-02-07 13:56:45 -08:00
James Phillips a61a7403a7 Factors address translation into a single function. 2016-02-07 13:39:37 -08:00
James Phillips f163522f0c Moves tagged wan address to be managed by anti-entropy, not serf. 2016-02-07 13:12:42 -08:00
James Phillips 81e416e70b Adds a test to make sure the local sync doesn't clobber tagged addresses. 2016-02-07 11:26:19 -08:00
James Phillips 79bd1fd4bb Sets up config for more address tags down the road, renames struct members. 2016-02-07 10:37:34 -08:00
Evan Gilman 71cf39b5f8 Use a map for additional node addresses 2016-02-06 23:01:45 -08:00
Evan Gilman a8fd9542dc Add tests for consul WAN translation 2016-02-06 23:01:45 -08:00
Evan Gilman 28ce1b079f Explicitly set advertise address in agent tests
Otherwise, the tests will fail when run on a machine with multiple
private addresses
2016-02-06 23:01:45 -08:00
Evan Gilman d18dc81749 Consider WAN addresses during Node and SRV record lookup 2016-02-06 23:01:45 -08:00
Evan Gilman 0b741350b9 Implement `translate_wan_addrs` config option
This knob tells consul whether it should prefer the WAN address (if set)
when making service lookups in remote datacenters. This enables
reachability for remote services which are behind a NAT.
2016-02-06 23:01:45 -08:00
Evan Gilman d123b4dece Rectify value of `AdvertiseAddrWan` when set elsewhere
`AdvertiseAddrs` has been introduced as a configuration option, which
duplicates a few other options, namely `AdvertiseAddrWan`. We need to
use this value elsewhere, so rather than doing a precedence check every
time we need to access it, rectify the value of `AdvertiseAddrWan` to
match
2016-02-06 23:01:45 -08:00
James Phillips 1a828e3927 Store WanAddress during Service/Check sync 2016-02-06 23:01:45 -08:00
James Phillips 5aedfbac34 Merge pull request #1690 from alistanis/use-http-package-statuses
refactors http server error codes
2016-02-06 22:38:48 -08:00
James Phillips a599e88507 Merge pull request #1284 from nbrownus/telemetry
Option to disable hostnames from telemetry
2016-02-06 22:00:14 -08:00
David Wittman 0b90de4d1b Fix formatting in exec help
The description for `-node` was separated by tabs instead of spaces,
causing it to be incorrectly aligned.
2016-02-06 12:28:56 -06:00
James Phillips 7273fb0470 Merge pull request #1654 from ryanslade/invalid-check-message
Updated invalid check error message.
2016-02-05 17:21:29 -08:00
Chris Cooper de4129fced Merge branch 'master' of https://github.com/alistanis/consul into use-http-package-statuses 2016-02-05 17:30:43 -05:00
Chris Cooper 0ce79f8198 add comment codes 2016-02-05 17:06:42 -05:00
Chris Cooper 4890220929 refactors http server error codes to use the http statuses defined in the http package instead of literals 2016-02-05 16:51:31 -05:00
Sean Chittenden 5ac7b893cc Use panic instead of returning a sentinel UUID values in unit tests 2016-02-01 16:42:04 -08:00
Sean Chittenden c470553b6b Factor out duplicate functions into a lib package
Consolidate code duplication and tests into a single lib package.  Most of these functions were from various **/util.go functions that couldn't be imported due to cyclic imports.  The consul/lib package is intended to be a terminal node in an import DAG and a place to stash various consul-only helper functions.  Pulled in hashicorp/go-uuid instead of consolidating UUID access.
2016-01-29 16:57:45 -08:00
Nate Brown 541a98c9c7 Option to disable hostnames from telemetry 2016-01-29 13:44:48 -08:00
Ryan Slade 37c7a0e006 Updated invalid check error message.
Added some of the newer reasons this error could have occured.
2016-01-28 11:02:00 +02:00
James Phillips 0fcdd37107 Fixes the static asset generator for new pkg path, updates assets. 2016-01-15 10:21:42 -08:00
Seth Vargo dc9131a732 Use HTTPS + www. where appropriate 2016-01-13 17:44:01 -05:00
James Phillips b21ef7330f Merge pull request #1592 from hashicorp/b-reap
Adds support for the reap lock.
2016-01-13 09:37:54 -08:00
James Phillips d22fe5ba62 Adds support for the reap lock. 2016-01-12 21:10:25 -08:00
Matt McCoy f8a6b6db83 Add consul agent help for advertise-wan 2016-01-11 14:27:54 -05:00
James Phillips 6dd0835319 Makes the timeout behavior more intuitive.
Previously, it would try once "up to" the timeout, but in practice it would
just fall through. This modifies the behavior to block until the timeout has
been reached.
2016-01-06 09:40:20 -08:00
James Phillips 87dd758199 Defaults monitor retries to 3 retries @ 1s for the consul lock command. 2016-01-05 18:34:22 -08:00
James Phillips 9323276b58 Adds monitor retries to the consul lock command. 2016-01-05 18:22:36 -08:00
James Phillips 3348cf4c0b Adds "try" support to locks and semaphores. 2016-01-05 18:22:36 -08:00
James Phillips df361afed5 Merge pull request #1550 from hashicorp/f-devmode
Add a `-dev` mode for easy prototyping
2016-01-05 10:01:41 -08:00
Philippe M. Chiasson e308bc3733 remove address splitting 2016-01-05 11:49:40 -05:00
Philippe M. Chiasson 6f316138d3 Move logged client IP to the end of the log message 2015-12-30 15:39:34 -05:00
Philippe M. Chiasson 8e938d4d38 Merge branch 'master' of http://github.com/hashicorp/consul into issue/1447/http-access-logs 2015-12-30 15:38:30 -05:00
Ryan Uber f37c0facbe agent: enable ui for dev mode 2015-12-26 20:39:42 -05:00
Ryan Uber ce4cf8a542 consul: dev mode works 2015-12-26 20:19:36 -05:00
Ryan Uber b04510f934 agent: update assetfs output 2015-12-24 22:21:34 -05:00
Ryan Uber 52ad989405 agent: static UI is configurable 2015-12-24 22:21:34 -05:00
Ryan Uber 86f76205aa agent: initial web assets 2015-12-24 22:21:34 -05:00
Ryan Uber a262115679 agent: compile web assets into consul binary 2015-12-24 22:21:34 -05:00
Philippe M. Chiasson b8f8861d97 Merge branch 'master' of http://github.com/hashicorp/consul into issue/1447/http-access-logs 2015-12-22 14:55:18 -05:00
James Phillips 4dd7a5fbaa Adds a Bool helper function. 2015-12-22 10:43:32 -08:00
James Phillips d71036c4f0 Moves logger down where it's used for reaping. 2015-12-22 10:29:55 -08:00
James Phillips e1d456a079 Changes sense of option to "reap" and uses nil for "not set". 2015-12-22 10:28:10 -08:00
James Phillips 1e4aa28c9d Adds child process reaping when Consul is running as PID 1. 2015-12-21 21:47:35 -08:00
James Phillips 874d491ade Converts the DNS metric to a gauge which gives us a count and a time. 2015-12-21 18:25:09 -08:00
James Phillips 9e0ac674c3 Adds telemetry on number of DNS queries served, per-agent. 2015-12-21 17:01:28 -08:00
WangFenjin dcecbf4653 Fix typo 2015-12-08 17:45:01 +08:00
James Phillips b87aeec4e1 Removes the GOMAXPROCS warnings which are obsolete for Go 1.5+. 2015-11-25 17:59:16 -08:00
Philippe M. Chiasson 396df9a0c1 Add client ip to http access logs
Fixes #1447
2015-11-24 15:06:33 -05:00
James Phillips 23536f2b97 Adds Docker checks support to client API.
Also changed `DockerContainerId` to `DockerContainerID`, and updated the agent
API docs to reflect their support for Docker checks.
2015-11-18 07:40:02 -08:00
James Phillips 573f48ed3d Breaks up huge HTTP endpoint functions. 2015-11-17 09:16:04 -08:00
James Phillips a364a02da6 Avoids taking the length again when parsing DNS queries. 2015-11-17 08:40:47 -08:00
James Phillips a1e02996e5 Moves conversion of nil slices up to HTTP layer for prepared queries. 2015-11-15 17:06:00 -08:00
James Phillips 267c352c6d Adds a test to make sure a stale retry terminates. 2015-11-15 17:06:00 -08:00
James Phillips e6ccf5b9ed Returns a 404 from a get or execute of a nonexistent query. 2015-11-15 17:06:00 -08:00
James Phillips c9ef552385 Plumbs the service name back and uses agent-specific TTL settings as a fallback. 2015-11-15 17:06:00 -08:00
James Phillips cad6938474 Adds unit tests for prepared queries and DNS, using existing tests for equivalence. 2015-11-15 17:06:00 -08:00
James Phillips f9c91479ef Adds DNS support for prepared queries (needs tests). 2015-11-15 17:06:00 -08:00
James Phillips 38daaea503 Adds a slightly more flexible mock system so we can test DNS. 2015-11-15 17:06:00 -08:00
James Phillips 978fb443a7 Adds a note about obfuscating query name/ID from the logs. 2015-11-15 17:06:00 -08:00
James Phillips 124410b66c Adds an HTTP endpoint for prepared queries. 2015-11-15 17:06:00 -08:00
James Phillips a33e35fcce Moves DNS over to new shuffle and filter functions. 2015-11-15 17:06:00 -08:00
James Phillips 763d5ea8a7 Fixes nil slices from HTTP endpoints.
These would manifest in the HTTP output as Javascript nulls instead of
empty lists, so we had unintentionally changed the interface while
porting to the new state store. We added code to each HTTP endpoint to
convert nil slices to empty ones so they JSON-ify properly, and we added
tests to catch this in the future.
2015-11-14 21:05:37 -08:00
James Phillips a384baf671 Merge pull request #1293 from talwai/master
Add options to send telemetry to DogStatsD
2015-11-13 09:51:50 -08:00
talwai 01ccad69a1 Kill unused import in command.go 2015-11-13 11:14:15 -05:00
James Phillips 67408fe477 Fixes unit test fail due to expected truncated message. 2015-11-12 18:16:44 -08:00
talwai e6e842d9e7 Add DogStatsd configuration 2015-11-11 14:30:36 -05:00
James Phillips 9107521c17 Fixes a go vet finding. 2015-10-29 12:47:20 -07:00
James Phillips eb4bfa3411 Prevents agents from considering Raft information when doing sync checks. 2015-10-28 14:32:00 -07:00
James Phillips c1305a08ea Makes the version upshift code look at the correct version field. 2015-10-27 14:44:34 -07:00
Diptanu Choudhury 3b5eefb713 Merge pull request #1343 from hashicorp/f-docker-check
Docker Support for Consul Health Checks
2015-10-26 21:00:48 -07:00
Diptanu Choudhury fb0cae7320 Forcing the Env variable to empty while testing the default shell logic 2015-10-26 20:35:13 -07:00
Diptanu Choudhury 9070d12b2f Added a test for selecting shell from env 2015-10-26 20:21:50 -07:00
Diptanu Choudhury 8af6ac8f16 Making an explicit check to test whether a check is of type Monitor 2015-10-26 19:52:32 -07:00
Diptanu Choudhury f8a03508ad Fixed the tests 2015-10-26 18:20:02 -07:00
Diptanu Choudhury 15ff470a79 Added a test to check if we are properly truncating docker exec outputs 2015-10-26 18:06:55 -07:00
Diptanu Choudhury 709b518d03 Added a test for exit code 1 with docker exec 2015-10-26 16:58:09 -07:00
Diptanu Choudhury c8c08586f0 Fixed the Fake Docker client to simulate Exec start failures 2015-10-26 16:54:51 -07:00
Diptanu Choudhury fd6d57ccac Not adding the docker check if we couldn't create the client 2015-10-26 16:45:12 -07:00
Diptanu Choudhury 210b968037 Making sure the script is not empty if it's a docker check 2015-10-26 16:27:48 -07:00
Diptanu Choudhury 0a657b2602 Updated the comment for CheckType 2015-10-26 15:28:13 -07:00
Diptanu Choudhury 2276ebc978 Collect and truncate the output from docker exec 2015-10-26 15:19:35 -07:00
Diptanu Choudhury 0de0abcaec Defaulting to Monitor check 2015-10-26 15:02:23 -07:00
Diptanu Choudhury d2bd1b0c3f Extracted the logic of figuring out the shell and fixing the logic to find out if the check is a Docker check 2015-10-26 15:00:34 -07:00
Diptanu Choudhury f445318732 Added some tests for docker check 2015-10-26 12:59:40 -07:00
James Phillips b50b0a8526 Merge pull request #1296 from hashicorp/f-fast-sync
agent: remove an N^2 check. See #1265
2015-10-26 11:37:52 -07:00
Diptanu Choudhury d478fa9470 Marking the state of a service as critical if the Docker Daemon doesn't respond while running checks 2015-10-26 11:16:11 -07:00
Diptanu Choudhury b35836fdad Adding a debug log to indicate the exit code of failed check 2015-10-26 10:35:51 -07:00
Diptanu Choudhury 1b1518512c Registering the Exec with Docker Daemon everytime the check is invoked 2015-10-26 10:23:57 -07:00
Diptanu Choudhury c4b85010fb Implemented Docker health checks 2015-10-26 10:23:57 -07:00
James Phillips 2a51d55ce3 Runs go fmt (sorts new go-cleanhttp imports). 2015-10-23 17:14:35 -07:00
James Phillips b91e2d3a97 Completes rebase of network coordinates to new memdb. 2015-10-23 15:23:01 -07:00
James Phillips b9732e3c39 Gives RTT class a more Go-like name. 2015-10-23 15:23:01 -07:00
James Phillips c48e3e1179 Defaults second node to agent if not given. Removes -short option and tweaks output formatting. 2015-10-23 15:23:01 -07:00
James Phillips a51e170eef Cleans up after code review, adds a -short option to "consul rtt" command. 2015-10-23 15:23:01 -07:00
James Phillips 43df5c6784 Adds a "consul rtt" command. 2015-10-23 15:23:01 -07:00
James Phillips aea2194ce3 Makes the default protocol 2 and lets 3 interoperate with 2. 2015-10-23 15:23:01 -07:00
James Phillips baa223ab4a Runs go fmt after latest rebase. 2015-10-23 15:23:01 -07:00
James Phillips 8e67c37398 Adds a test for the `DisableCoordinate` config. 2015-10-23 15:23:01 -07:00
James Phillips 3f11bfaea4 Adds coordinate of agent to self endpoint. 2015-10-23 15:23:01 -07:00
James Phillips a74bdcba49 Moves sorting up into coordinate endpoint HTTP handlers. 2015-10-23 15:23:01 -07:00
James Phillips 0e7d5871c5 Installs a friendly handler for coordinate endpoints when coordinates are disabled. 2015-10-23 15:23:01 -07:00
James Phillips def8c6087d Fixes config merge fn for disabling coordinates and adds it to JSON. 2015-10-23 15:23:01 -07:00
James Phillips a2bcef00a0 Adds endpoints for raw network coordinates. 2015-10-23 15:23:01 -07:00
James Phillips fecd639b02 Changes ?near=self to a safer ?near=_agent, which is also clearer about what it does. 2015-10-23 15:23:01 -07:00
James Phillips ee1cf1e13b Adds distance sorting to health endpoint. Cleans up unit tests. 2015-10-23 15:23:01 -07:00
James Phillips 1724b9a6be Adds a magic "self" node name to distance queries. 2015-10-23 15:23:01 -07:00
James Phillips 59b710894d Adds tests for HTTP interface. Removes a stray mark. 2015-10-23 15:23:01 -07:00
James Phillips b63909cf67 Adds coordinate sorting support to catalog queries for nodes and service nodes. 2015-10-23 15:23:01 -07:00
James Phillips d7bac0e808 Turns down the coordinate sync rate a bit more. 2015-10-23 15:23:01 -07:00
James Phillips 9ba9a708f6 Scales coordinate sends to hit a fixed aggregate rate across the cluster. 2015-10-23 15:23:01 -07:00
James Phillips d8b8a3719f Simplifies the batching function and adds some comments. 2015-10-23 15:23:01 -07:00
James Phillips f71c79c53f Does some small cleanups based on PR feedback.
* Holds coordinate updates in map and gets rid of the update channel.
* Cleans up config variables a bit.
2015-10-23 15:23:01 -07:00
James Phillips 1222772452 Hardens Consul from bad coordinates from other nodes. 2015-10-23 15:23:01 -07:00
James Phillips acb0dce829 Moves batching down into the state store and changes it to fail-fast.
* A batch of updates is done all in a single transaction.
* We no longer need to get an update to kick things, there's a periodic flush.
* If incoming updates overwhelm the configured flush rate they will be dumped with an error.
2015-10-23 15:23:01 -07:00
James Phillips b6c31bdf2f Flips the sense of the coordinate enable option. 2015-10-23 15:23:01 -07:00
James Phillips 9c069c5031 Removes one more WAN leftover. 2015-10-23 15:23:01 -07:00
James Phillips edb9a119e2 Does a clean up pass on the Consul side. 2015-10-23 15:23:01 -07:00
James Phillips ac4185b888 Merges config changes after rebase. 2015-10-23 15:23:01 -07:00
Derek Chiang 139c9240ea Address comments 2015-10-23 15:23:01 -07:00
Derek Chiang 840474f170 Add a test case 2015-10-23 15:23:01 -07:00
Derek Chiang 23c08aeeb4 Use IndexedCoordinate instead 2015-10-23 15:23:01 -07:00
Derek Chiang 530e73212a Some fixes 2015-10-23 15:23:01 -07:00
Derek Chiang 2ef802b8b3 Fix a comment 2015-10-23 15:23:01 -07:00
Derek Chiang b2cff43bb5 Complete logic for sending coordinates 2015-10-23 15:23:01 -07:00
Derek Chiang 66b210afcb Some fixes 2015-10-23 15:23:01 -07:00
Derek Chiang b5bbe2bcfa Adding tests and stuff 2015-10-23 15:23:01 -07:00
Armon Dadgar d035dbd43b Merge pull request #1318 from daveadams/f-http-header-token
Allow specifying Consul token in an HTTP request header
2015-10-22 13:33:47 -07:00
Jeff Mitchell 9267f956a2 Update cleanhttp repo location 2015-10-22 14:14:22 -04:00
Jeff Mitchell 06bb9d5f36 Use cleanhttp to get rid of DefaultTransport 2015-10-22 10:47:50 -04:00
David Adams 5f175add40 Add HTTP request header X-Consul-Token
Add support for an X-Consul-Token HTTP request header to specify the
token with which this request should be fulfilled. The header would have
precedence over the responding Agent's default token, but would have
lower precedence than a token specified in the query string.
2015-10-19 11:26:01 -05:00
James Phillips 263c7e3fd3 Deletes the old state store and all its accoutrements. 2015-10-15 14:59:09 -07:00
James Phillips bcdabe4606 Knocks out the Raft indexes before doing compare. 2015-10-15 14:59:09 -07:00
James Phillips cbcd977a39 Gets new structs changes to compile, adds some corner case handling and extra unit tests. 2015-10-15 14:59:09 -07:00
Ryan Uber b46f878747 Merge pull request #1309 from hashicorp/f-remove-migrate
Removes consul-migrate for 0.6
2015-10-15 14:50:19 -07:00
Jeff Mitchell 9cddc187b5 Don't use http.DefaultClient
Two of the changes are in tests; the one of consequence is in the API.
As explained in #1308 this can cause conflicts with downstream programs.

Fixes #1308.
2015-10-15 17:49:35 -04:00
Ryan Uber aba1b26015 agent: consolidates data dir checker 2015-10-15 14:21:35 -07:00
Ryan Uber 8bc51eb237 agent: test mdb dir protection 2015-10-15 14:15:41 -07:00
Ryan Uber 2a7609d6bc agent: remove migrator, refuse to start if mdb dir found 2015-10-15 14:15:08 -07:00
Armon Dadgar 0b77960349 agent: remove an N^2 check. See #1265 2015-10-12 20:30:11 -07:00
Michael Puncel a94589ad67 Add http method to log output 2015-10-02 18:33:06 -07:00
James Phillips 26eadcd95c Merge pull request #1235 from wuub/master
fix conflict between handleReload and antiEntropy critical sections
2015-09-17 07:28:39 -07:00
Wojciech Bederski 9a1b52171f panic when unbalanced localState.Resume() is detected 2015-09-17 11:32:08 +02:00
Dale Wijnand c5168e1263 Fix a bunch of typos. 2015-09-15 13:22:08 +01:00
James Phillips b25797a808 Merge pull request #1187 from sfncook/enable_tag_drift_03
Enable tag drift 03
2015-09-11 15:35:32 -07:00
Anthony Scalisi 8d733b7fca remove various typos 2015-09-11 12:29:54 -07:00
Wojciech Bederski 4cd1b09ad7 make Pause()/Resume()/isPaused() behave more like a semaphore
see: https://github.com/hashicorp/consul/issues/1173 #1173

Reasoning: somewhere during consul development Pause()/Resume() and
PauseSync()/ResumeSync() were added to protect larger changes to
agent's localState.  A few of the places that it tries to protect are:

- (a *Agent) AddService(...)      # part of the method
- (c *Command) handleReload(...)  # almost the whole method
- (l *localState) antiEntropy(...)# isPaused() prevents syncChanges()

The main problem is, that in the middle of handleReload(...)'s
critical section it indirectly (loadServices()) calls  AddService(...).
AddService() in turn calls Pause() to protect itself against
syncChanges(). At the end of AddService() a defered call to Resume() is
made.

With the current implementation, this releases
isPaused() "lock" in the middle of handleReload() allowing antiEntropy
to kick in while configuration reload is still in progress.
Specifically almost all services and probably all check are unloaded
when syncChanges() is allowed to run.

This in turn can causes massive service/check de-/re-registration,
and since checks are by default registered in the critical state,
a majority of services on a node can be marked as failing.
It's made worse with automation, often calling `consul reload` in close
proximity on many nodes in the cluster.

This change basically turns Pause()/Resume() into P()/V() of
a garden-variety semaphore. Allowing Pause() to be called multiple times,
and releasing isPaused() only after all matching/defered Resumes() are
called as well.

TODO/NOTE: as with many semaphore implementations, it might be reasonable
to panic() if l.paused ever becomes negative.
2015-09-11 18:28:06 +02:00
Wojciech Bederski 24ac26b3c1 failing test showing that nested Pause()/Resume() release too early
see: #1173 / https://github.com/hashicorp/consul/issues/1173
2015-09-11 17:52:57 +02:00
Shawn Cook 99be758411 Rename EnableTagOverride and update formatting 2015-09-11 08:35:29 -07:00
Shawn Cook f448a62826 Remove debug lines 2015-09-11 08:32:59 -07:00
Shawn Cook 2f04917261 Merge remote-tracking branch 'hashicorp/master' into enable_tag_drift_03 2015-09-10 14:55:30 -07:00
James Phillips d00889c3a4 Adds missing token to maint unit test. 2015-09-10 14:53:00 -07:00
Shawn Cook 8a86eee9fb Add test cases TestAgentAntiEntropy_EnableTagDrift 2015-09-10 14:08:16 -07:00
Ryan Uber 08d12e978f Merge pull request #1230 from hashicorp/f-maintfix
Respect tokens in maintenance mode
2015-09-10 12:30:07 -07:00
Ryan Uber 948bd57d6a agent: testing node/service maintenance using tokens 2015-09-10 12:08:08 -07:00
Ryan Uber e129a59316 agent: thread tokens through for maintenance mode 2015-09-10 11:43:59 -07:00
Wim 3d7c3725d8 Allow AAAA queries for nodeLookup 2015-09-08 16:54:36 +02:00
Ryan Breen d63749b30e Merge pull request #1217 from 42wim/fix-rfc2308-part3
No NXDOMAIN when the answer is empty
2015-09-04 10:42:38 -04:00
Armon Dadgar 56efa4958b Merge pull request #1214 from zendesk/fix_lock_race_2
lock.go: fix another race condition
2015-09-02 16:04:55 -07:00
Wim 2336c6a4bd No NXDOMAIN when the answer is empty 2015-09-02 16:12:22 +02:00
Ryan Breen a013095f62 Merge pull request #1167 from railsguru/master
Add -http-port option to change the HTTP API port
2015-09-02 01:15:55 -04:00
Armon Dadgar 655666170a agent: Always enable the UI endpoints 2015-09-01 18:28:32 -07:00
Michael S. Fischer 01ec256c7e lock.go: fix another race condition
The previous fix to `consul lock` (commit 6875e8d) didn't completely
eliminate the race that could occur if the lock was acquired around the
same time SIGTERM was received:  It was still possible for
Run() to spawn the process via startChild() after killChild() had
released the shared mutex.

Now, when SIGTERM is received, we acquire a mutex that prevents
spawning a new process and never release it.

We've tested this fix pretty thoroughly and believe it completely
resolves the issue.
2015-09-01 14:27:23 -07:00
Wim e97973c1e1 Limit the DNS responses after getting the NodeRecords 2015-09-01 23:23:05 +02:00
Ryan Breen 56d2fa4c17 Merge pull request #1195 from 42wim/fix-rfc2308-part2
Return SOA/NXDOMAIN when the answer is empty
2015-09-01 17:08:31 -04:00
Wim b806aceef4 Return SOA/not found when the answer is empty 2015-09-01 22:28:12 +02:00
James Phillips 0f49e1c3a9 Merge pull request #1200 from ryotarai/lock-pass-stdin
command/lock: Pass stdin to child process when -pass-stdin passed.
2015-08-31 21:14:45 -07:00
Ryan Uber d6b71de3f4 agent: reload SCADA client if endpoint changes 2015-08-27 13:29:07 -07:00
Ryan Uber 5bd7a5f239 command: atlas endpoint can be passed 2015-08-27 11:11:05 -07:00
Ryan Uber cda2bf6975 agent: atlas_endpoint is configurable 2015-08-27 11:08:01 -07:00
Ryota Arai c45f2971e7 command/lock: Pass stdin to child process when -pass-stdin passed. 2015-08-26 16:27:21 +09:00
Ryan Uber 00d78963bf agent: log a message when making a new scada connection 2015-08-25 21:03:16 -07:00
Ryan Uber 33cadcf925 agent: don't reload scada client if there is no config change 2015-08-25 20:43:57 -07:00
Ryan Uber 8eea77d58f agent: testing scada client creation in command 2015-08-25 20:22:22 -07:00
Ryan Uber 495cc41ba4 agent: test scada HTTP server creation 2015-08-25 18:51:04 -07:00
Ryan Uber e3cd2f2c0d agent: clean up scada connection manager 2015-08-25 18:27:07 -07:00
Ryan Uber bc96c14a6f agent: document the scada http creation func 2015-08-25 17:19:11 -07:00
Ryan Uber 1378fd93b0 agent: scada client and HTTP server are tracked separately 2015-08-25 16:59:53 -07:00
Andy Lo-A-Foe 325b54649a Remove duplicate code 2015-08-20 20:46:20 +02:00
Andy Lo-A-Foe 3d133ab78c Use Ports.HTTP directly 2015-08-20 20:27:20 +02:00
Andy Lo-A-Foe 7e2ecf6a3c Add documentation for http-port option 2015-08-20 20:19:35 +02:00
Shawn Cook d4ec6aa630 Update tests - NodeService init needs bool 2015-08-20 09:09:26 -07:00
Shawn Cook 854ff1eb41 Add EnableTagDrift logic to command/agent/local.go 2015-08-18 14:03:48 -07:00
Shawn Cook 3a740ac07b Remove from command/agent/config_test.go 2015-08-18 10:42:25 -07:00
Shawn Cook f6814c89ed EnableTagDrift in NodeService struct 2015-08-18 10:34:55 -07:00
Ryan Uber 5024e7c3c7 Merge pull request #1166 from hashicorp/f-dns-log
Log network address of DNS clients
2015-08-13 18:32:32 -07:00
Ryan Uber 07299a61dc agent: log network address of DNS clients 2015-08-11 10:33:27 -07:00
Andy Lo-A-Foe 7a3da7db26 Add -http-port option to change the HTTP API port
This is useful when pushing consul to PaaS like
Cloud Foundry making the HTTP API easily routable.
2015-08-11 14:14:21 +02:00
Armon Dadgar c2a865686c Merge pull request #1158 from mfischer-zd/fix_1155
lock.go: fix race condition
2015-08-05 14:56:13 -07:00
Michael S. Fischer 9e0e9e389d lock.go: fix race condition
Fix a race condition between startChild() and killChild() that could
lead to an orphaned managed process.

Fixes #1155
2015-08-05 09:06:51 -07:00
J.R. Garcia f95ba4b8eb Remove trailing slash from lock
Lock command will remove trailing slash from path (as it is invalid).
Fixes #1136.
2015-07-30 12:14:17 -05:00
Ryan Breen b13ba78651 Merge pull request #1143 from hashicorp/GH-1142
Check NXDOMAIN after filtering nodes
2015-07-29 18:56:08 -04:00
Ryan Breen 20f17a0cc8 Test for GH-1142. 2015-07-29 18:21:16 -04:00
Armon Dadgar 0a853bca2e Merge pull request #1137 from 42wim/fix-1124
Recurse when PTR answer is empty
2015-07-29 14:39:04 -07:00
Ryan Breen dbb5ad1316 Check NXDOMAIN after filtering nodes
Move the check for NXDOMAIN below the service health filter.
2015-07-29 17:16:48 -04:00
Ryan Uber 6e38497ce9 Merge pull request #1141 from hashicorp/f-travis
Try moving to newer Travis-CI infrastructure
2015-07-28 10:42:56 -07:00
Ryan Uber f48bc65e62 travis-ci: skip syslog tests for container-based travis infra 2015-07-28 09:58:43 -07:00
Wim a6734ab4b8 Recurse when PTR answer is empty 2015-07-27 23:22:36 +02:00
Armon Dadgar 2017c95d13 Merge pull request #1130 from pdf/check_socket
Add Socket check type
2015-07-27 14:21:24 -07:00
Ryan Uber 6d38027689 Merge pull request #1090 from hashicorp/f-keyring-acl
Keyring ACLs
2015-07-24 10:23:18 -07:00
Peter Fern 86edd7169c Add TCP check type
Adds the ability to simply check whether a TCP socket accepts
connections to determine if it is healthy.  This is a light-weight -
though less comprehensive than scripting - method of checking network
service health.

The check parameter `tcp` should be set to the `address:port`
combination for the service to be tested.  Supports both IPv6 and IPv4,
in the case of a hostname that resolves to both, connections will be
attempted via both protocol versions, with the first successful
connection returning a successful check result.

Example check:

```json
{
  "check": {
    "id": "ssh",
    "name": "SSH (TCP)",
    "tcp": "example.com:22",
    "interval": "10s"
  }
}
```
2015-07-24 14:06:05 +10:00
Ryan Uber a339ca19a6 agent: disable ACLs for RPC client tests 2015-07-23 17:09:33 -07:00
Armon Dadgar 6f42f6640c command/lock: Check for shutdown during lock acquisition. Fixes #800 2015-07-22 16:07:44 -07:00
Benjamin Abbott-Scott eece6e4848 Return every time lock acquisition fails 2015-07-22 10:44:47 -07:00
Ryan Uber f424f94d45 agent: vet fixes 2015-07-14 11:42:51 -07:00
Ryan Uber 8e834ba976 Merge pull request #995 from 42wim/rfc2308-soa-ttl
Send SOA with negative responses (RFC2308)
2015-07-13 08:49:25 -07:00
Ryan Uber 0a09b11cba agent: testing keyring ACLs 2015-07-07 15:14:06 -06:00
Ryan Uber e764eb62bd agent: write-level keyring ACLs work 2015-07-07 10:36:51 -06:00
Ryan Uber 665551a182 agent: read-level keyring ACLs work 2015-07-07 10:30:34 -06:00
Ryan Uber 503fa1eed1 Merge pull request #1046 from hashicorp/f-event-acl
Event ACLs
2015-07-02 07:02:07 -07:00
Ryan Uber 715f69cce8 Merge pull request #1004 from i0rek/advertise_addrs
Add advertise_addrs.
2015-06-23 12:32:07 -07:00
Hans Hasselberg 4598087df3 Implement advertise_addrs for SerfLan, SerfWan and RPC.
Fixes #550.
This will make it possible to configure the advertised adresses for
SerfLan, SerfWan and RPC. It will enable multiple consul clients on a
single host which is very useful in a container environment.

This option might override advertise_addr and advertise_addr_wan
depending on the configuration.

It will be configureable with advertise_addrs. Example:

{
  "advertise_addrs": {
    "serf_lan": "10.0.120.91:4424",
    "serf_wan": "201.20.10.61:4423",
    "rpc": "10.20.10.61:4424"
  }
}
2015-06-23 21:23:45 +02:00
Ryan Uber 5866588d68 command: remote exec takes -token parameter 2015-06-22 17:16:28 -07:00
Ryan Uber 1f68b5268b command: event command supports -token arg 2015-06-22 16:59:41 -07:00
Ryan Uber 5c9cf8cc69 agent: avoid masking errors when ACLs deny a request 2015-06-18 18:13:29 -07:00
Ryan Uber 4a95f29e03 agent: testing user event endpoint ACLs 2015-06-18 18:13:29 -07:00
Ryan Uber e6923a4832 consul: always fire events from server nodes 2015-06-18 18:13:29 -07:00
Ryan Uber 713f1781c8 agent: enforce event policy during event fire 2015-06-18 18:13:29 -07:00
Wim e70e57a0dc Send SOA with negative responses 2015-06-14 00:03:44 +02:00
Ryan Uber b7674a2d35 Merge pull request #1028 from sebastianmarkow/master
Remove unreachable error handling in AgentRPC.listen()
2015-06-12 22:28:10 -07:00
Ryan Uber b2556bd4d0 agent: testing dns when acls are in use 2015-06-12 16:01:57 -07:00
Ryan Uber 48cb636e8d agent: dns uses the configured token during queries 2015-06-12 16:01:57 -07:00
Sebastian Klatt 34611c8599
consul: Remove unreachable error handling 2015-06-12 20:21:32 +02:00
Ryan Uber 47073c87c1 agent: don't replace empty tokens in the logs, fixes #1020 2015-06-12 00:11:37 -07:00
Ryan Uber b5fff74c8a agent: fix failing test 2015-06-11 15:13:10 -07:00
Ryan Uber e4f937f71d agent: use persist/load/purge convention for function names 2015-06-08 09:35:10 -07:00
Ryan Uber 08a12ffd5b agent: test check state restoration from AddCheck 2015-06-05 17:33:34 -07:00
Ryan Uber bd448d27fe agent: check state is purged if expired 2015-06-05 16:59:41 -07:00
Ryan Uber 7d8993e0f0 agent: purge check state when checks are deregistered 2015-06-05 16:57:14 -07:00
Ryan Uber 8c9facbff0 agent: testing state persistence, recovery, and expiration 2015-06-05 16:45:05 -07:00
Ryan Uber f1eb739949 agent: first stab at persisting check state 2015-06-05 16:17:07 -07:00
Ryan Uber 7e82b3c32c agent: refactor loadChecks/loadServices, fixes a few minor bugs 2015-06-04 14:33:30 -07:00
Ryan Uber 359abdb9a8 agent: don't replace config on SIGHUP if parsing fails 2015-05-30 22:50:24 -07:00
Emil Hessman c746d218f4 command/agent: skip unix file permissions test on windows 2015-05-29 21:12:45 +02:00
Adam Renberg 263fae2292 Sort members in by name for consul members 2015-05-22 10:37:54 +02:00
Adam Renberg bec5ce6af9 Sort tags in consul members -detailed output 2015-05-22 10:27:47 +02:00
Ryan Uber b5cd115795 agent: flush progress info to console during migrations 2015-05-19 18:47:44 -07:00
Anton Lindström 74dd2270af Set the User Agent for HTTP health checks 2015-05-18 19:12:10 +02:00
Adam Renberg 450f66fd3c Include DC in the members command output 2015-05-15 23:26:34 +02:00
Ryan Uber 704f6343c3 agent: log a message when data migrations start 2015-05-12 12:58:44 -07:00
Ryan Uber 3ce3c663ad Fix tests after merge 2015-05-11 18:53:09 -07:00
Armon Dadgar 430100a0c8 Merge pull request #927 from hashicorp/f-tls
Add new `verify_server_hostname` to mitigate possibility of MITM
2015-05-11 18:15:16 -07:00
Armon Dadgar f797130228 Fixing merge conflict 2015-05-11 16:48:10 -07:00
Armon Dadgar 1952083354 agent: copy config into consul config 2015-05-11 15:16:13 -07:00
Armon Dadgar c8fb9ab369 agent: Adding new VerifyHostname config 2015-05-11 15:13:58 -07:00
Cameron Ruatta 0b9bc7d2f5 Adding documentation about specifying multiple configuration directories 2015-05-11 10:19:04 -07:00
Ryan Uber d4f805e800 command: fix configtest help format 2015-05-11 09:42:26 -07:00
Ryan Uber 27a4dc868c Merge pull request #904 from josephholsten/configtest-clean
add minimal configtest command
2015-05-11 09:01:54 -07:00
Joseph Anthony Pasquale Holsten ae3e8d24c4 command/configtest: add 2015-05-08 13:09:50 -07:00
Ryan Uber d0a28482ff agent: use service ID field to determine associated health checks during deregister 2015-05-07 15:30:01 -07:00
Ryan Uber e7b00723f4 agent: restore check status when re-registering (updating) services 2015-05-06 12:28:42 -07:00
Armon Dadgar e474e34528 Merge pull request #909 from hashicorp/f-create
Support ACL upsert behavior
2015-05-06 11:22:11 -07:00
Ryan Uber ed067fd03c agent: allow persisted services to be updated on disk 2015-05-05 22:36:45 -07:00
Ryan Uber 9acc42b86e Merge pull request #891 from hashicorp/f-token
ACL tokens for service/check registration
2015-05-05 22:17:31 -07:00
Armon Dadgar b0fb010c2d agent: Support ACL upserting 2015-05-05 19:25:10 -07:00
Armon Dadgar c457b6cb75 agent: Adding test for DNS enable_truncate 2015-05-05 14:14:41 -07:00
Armon Dadgar 0e9718247d command/agent: Lowercase DC. Fixes #761 2015-05-05 13:56:37 -07:00
Ryan Uber 3c577a0069 agent: use an additional parameter for passing tokens 2015-05-04 17:48:05 -07:00
Armon Dadgar efaed93b91 Merge pull request #816 from pepov/master
Support different advertise address for WAN gossip
2015-05-04 15:40:25 -07:00
Armon Dadgar bcaca06650 Merge pull request #902 from hashicorp/f-stats-prefix
Allow configuring the stats prefix
2015-05-04 15:19:47 -07:00
Armon Dadgar 9498aa9a78 Merge pull request #862 from hashicorp/f-recurse-cname
Return all CNAME's during service DNS resolution
2015-05-04 15:19:13 -07:00
Ryan Uber 94f0834d8f agent: allow configuring the stats prefix 2015-05-03 16:46:20 -07:00
Ryan Uber 2496a70452 agent: more tests 2015-04-28 13:06:02 -07:00
Ryan Uber 67e9a04f48 agent: restore tokens for services and checks in config 2015-04-28 12:44:46 -07:00
Ryan Uber 802b4793df agent: backwards compat for persisted services from pre-0.5.1 2015-04-28 12:18:41 -07:00
Ryan Uber f069db21e3 agent: safer read methods for tokens 2015-04-28 11:53:53 -07:00
Ryan Uber 54b5f17629 agent: test coverage loading service/check tokens from persisted files 2015-04-27 22:46:01 -07:00
Ryan Uber 23eab5ebcc agent: fix deadlock reading tokens from state 2015-04-27 22:26:03 -07:00
Ryan Uber 75d182296f agent: add service/check token methods to reduce invasiveness 2015-04-27 22:01:01 -07:00
Ryan Uber 30f6f1142e agent: persist tokens from API registrations 2015-04-27 19:01:02 -07:00
Ryan Uber 545f3db3fe agent: initial pass threading through tokens for services/checks 2015-04-27 18:33:46 -07:00
artushin 68cb8fda58 remove config 2015-04-24 09:51:40 -05:00
artushin 88bfdd45ef use existing randomStagger 2015-04-23 17:08:17 -05:00
artushin 1ebc1cf916 add CheckUpdateStagger to MergeConfig 2015-04-23 16:56:20 -05:00
artushin 1e13acba68 adding check_update_stagger 2015-04-23 16:27:42 -05:00
Ryan Uber cd65aaa2e0 agent: re-work DNS tests to not rely on the external network 2015-04-14 12:52:26 -07:00
Ryan Uber ed4de526f1 agent: pass through CNAME types for service resolution 2015-04-14 12:52:26 -07:00
Ryan Uber 05194033f8 agent: Add test for CNAME recursion 2015-04-14 12:52:26 -07:00
Ryan Uber 34fc9a37fd agent: parse raw query URL to avoid closing the request body early 2015-04-13 17:31:53 -07:00
Ryan Uber adbc5c92c6 agent: hide tokens from logs and monitor 2015-04-12 11:17:31 -07:00
Ryan Mills 370853d7ff Allow specifying a status field in the agent/service/register and agent/check/register endpoints.
This status must be one of the valid check statuses: 'passing', 'warning', 'critical', 'unknown'.
If the status field is not present or the empty string, the default of 'critical' is used.
2015-04-12 02:00:31 +00:00
Ryan Uber 1fad389f23 agent: Don't attempt migration on new server 2015-04-10 19:41:09 -07:00
Ryan Uber 8ebee678cc Merge pull request #857 from hashicorp/f-boltdb
Raft uses BoltDB
2015-04-10 18:30:07 -07:00
Ryan Uber 8af963348c agent: handle nil node services in anti-entropy 2015-04-10 11:15:31 -07:00
Ryan Uber 4f4f5fa7d5 command: automatically migrate raft data on start 2015-04-09 23:00:20 -07:00
Ryan Uber c3820b4c28 agent: fix anti-entropy check sync 2015-04-09 10:40:05 -07:00
Ryan Uber a49fe8931a agent: test anti-entropy sync 2015-04-08 12:36:53 -07:00
Ryan Uber 80a6d7caca agent: anti-entropy sync services/checks if they don't exist in the catalog 2015-04-08 12:21:01 -07:00
Ryan Uber 4d950f91cb agent: fix dns test 2015-04-01 10:58:05 -07:00
Matt Good 755522fa48 Remove unnecessary DNS test entry
By using the startup callbacks, the DNS test entry is not needed to check that
the server is alive.
2015-03-31 16:50:44 -07:00
Matt Good f5d27daf63 Use DNS server startup callbacks
Simplify waiting for the DNS server to start with the newer "NotifyStartedFunc"
callback.
2015-03-31 16:48:48 -07:00
pepov 8da6d4f065 add and test -advertise-wan cli flag 2015-03-28 16:08:19 +01:00
pepov 0a04003e16 add AdvertiseAddrWan to TestMergeConfig and use different values for Addr values in b than in a 2015-03-28 16:08:19 +01:00
pepov e66301ab99 Add configuration option to specify a separate address for advertising on the wan 2015-03-28 16:08:19 +01:00
Michael Fraenkel c00c4ebaaa Support SesionTTLMin configuration
- Allow setting SessionTTLMin
- Validate on the Server
2015-03-27 05:13:57 -07:00
Johannes 'fish' Ziemke 78cde71a22 Add -domain command line flag to agent
This makes it possible to configure the domain on the command line
additionally to the config file.
2015-03-20 16:05:41 +01:00
Ryan Uber 589a4cc4c7 agent: disable HTTP keepalives for checks 2015-03-15 13:30:50 -07:00
Ryan Uber 66d89ab4df agent: warn and purge checks which cannot be restored from agent state 2015-03-11 16:13:31 -07:00
Ryan Uber 9441b46116 Merge pull request #723 from hashicorp/f-agent-block
Block until service/check sync is attempted from /v1/agent API's
2015-02-23 10:56:41 -08:00
Ryan Uber f7d1397bba command: clarify -recursor agent arg 2015-02-23 09:33:45 -08:00
Mohammad Zolfaghari fec46d0559 Support multiple recursor flag 2015-02-21 10:15:52 +03:30
Ryan Uber 4f4b4b0f3e agent: write API's on /v1/agent block for anti-entropy 2015-02-20 19:43:33 -08:00
Ryan Uber 92794ded6e agent: fix test compilation 2015-02-20 18:17:12 -08:00
Ryan Uber a9f23a9154 agent: Better warning for keyring with -encrypt option. Fixes #718. 2015-02-19 18:51:42 -08:00
Ryan Breen 53afd77e2d s/data center/datacenter/g 2015-02-19 17:45:47 -05:00
Armon Dadgar d6e76e5dd4 agent: Cleanup a comment 2015-02-18 16:54:44 -08:00
Armon Dadgar aadec620ff agent: Fixing blocking queries on internal endpoints 2015-02-18 15:15:02 -08:00
Armon Dadgar a446fbd098 agent: Enable UI endpoints for SCADA 2015-02-18 15:15:02 -08:00
Armon Dadgar 760bbd14a5 agent: Do not expose AtlasToken or AtlasACLToken 2015-02-18 15:15:02 -08:00
Armon Dadgar 1738a6b171 agent: Updating for new client API 2015-02-18 15:15:02 -08:00
Armon Dadgar 0c2951c5f9 agent: Test ACL token resolution 2015-02-18 15:12:15 -08:00
Armon Dadgar 8fb86d14ab agent: Adding SCADA tests 2015-02-18 15:12:15 -08:00
Armon Dadgar 6ee6f67695 agent: Use AtlasACLToken 2015-02-18 15:12:15 -08:00
Armon Dadgar 7ddf87eb54 agent: Rename AtlasCluster to AtlasInfrastructure 2015-02-18 15:12:15 -08:00
Armon Dadgar 269153705b agent: Fixing setup of SCADA HTTP listener 2015-02-18 15:12:15 -08:00
Armon Dadgar d9f95e2983 agent: Fixing panic on shutdown 2015-02-18 15:12:15 -08:00
Armon Dadgar 75849d643e agent: Provide auto-join metadata to SCADA 2015-02-18 15:12:14 -08:00
Armon Dadgar 524bfccc5a agent: Adding atlas_join configuration 2015-02-18 15:12:14 -08:00
Armon Dadgar b714144685 agent: SCADA HTTP integration 2015-02-18 15:12:14 -08:00
Armon Dadgar 948f9a0d00 agent: SCADA HTTP listener 2015-02-18 15:12:14 -08:00
Armon Dadgar 08895ce325 agent: Starting SCADA integration 2015-02-18 15:12:14 -08:00
Armon Dadgar 49d11e37f7 agent: Adding Atlas CLI flags 2015-02-18 15:12:14 -08:00
Armon Dadgar 5713006297 agent: Adding new Atlas configs 2015-02-18 15:12:14 -08:00
Armon Dadgar 60f69224ea agent: Snapshot and restore health state on reload. Fixes #693 2015-02-17 12:00:04 -08:00
Armon Dadgar ec5ed93c5b command/exec: Handle a missing key during cancelation. Fixes #626 2015-02-16 14:32:50 -08:00
artushin ed2837d7d5 oops. DefaultTransport being used. 2015-02-12 10:11:22 -06:00
artushin 4cbf3a037a close idle connections after stopping http checks to service 2015-02-11 18:29:51 -06:00
Ryan Uber 60dd1a073e agent: clarify the valid characters for dns 2015-02-09 09:59:27 -08:00
Ryan Uber 5da078f989 agent: warn on service tags with invalid chars 2015-02-09 09:30:06 -08:00
Ryan Uber fe80d28664 agent: Warn on dns-incompatible characters during service registration. Fixes #683. 2015-02-09 09:23:17 -08:00
lalyos 865e97c340 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 d1854d1d91 agent: fix test case examples 2015-02-05 23:29:04 -08:00
Ryan Uber e6858f158a Merge pull request #654 from arnaudbriche/http-check-timeout
Configurable CheckHTTP timeout
2015-02-05 23:03:39 -08:00
arnaud briche 49a9836be3 - add tests for CheckHTTP with new timeout parameter && CheckType.Timeout parsing 2015-02-02 15:30:44 +07:00
arnaud briche de96094cb0 - add proper parsing of CheckType.Timeout from string 2015-02-02 15:29:42 +07:00
Ryan Uber 029a6025aa agent: http checks work inside of service definitions 2015-01-29 12:11:42 -08:00
Ryan Uber 6ecca376e4 agent: pass locally configured token during remote exec 2015-01-29 10:42:46 -08:00
arnaud briche 4d105487a8 - 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 9efda655a1 agent: test service/check deletion with empty ID 2015-01-27 21:47:59 -08:00
Ryan Uber 6d27dc3548 Merge pull request #644 from foostan/add_validation_of_deregistration
Validate ServiceID/CheckID when deregistering.
2015-01-27 21:39:35 -08:00
foostan a75b727391 Validation ServiceID/CheckID when deleting in deleteService() in local.go 2015-01-27 18:11:57 +09:00
foostan 99659e9014 Add tests to remove service/check without an ID 2015-01-27 18:10:56 +09:00
foostan 524cb0d0c3 Validate ServiceID/CheckID when deregistering. 2015-01-27 01:06:57 +09:00
Emil Hessman 2a80aacb86 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 c8224b3f94 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 dd0c9dfbbc agent/http: fix service registration with nil checks value 2015-01-23 18:50:51 -08:00
Ryan Uber 068c4137cb agent/http: clean up socket setup 2015-01-23 17:57:04 -08:00
Ryan Uber adb3bd4c5e agent: make check tests more reliable 2015-01-23 16:07:20 -08:00
Ryan Uber 26c9d96ccb agent: error from KVS endpoint if incompatible flags are passed. Fixes #432 2015-01-23 12:48:39 -08:00
Ryan Uber 15de24c844 agent: more lenient dns response test 2015-01-22 15:31:12 -08:00
Armon Dadgar e5e519df4b Merge pull request #625 from hashicorp/f-maintcmd
New "maint" command
2015-01-22 11:56:49 -08:00
Ryan Uber ae672b32f6 command/maint: better arg conflict checking 2015-01-22 11:20:32 -08:00
Ryan Uber 17d2443f91 command/maint: clean up 2015-01-22 11:14:28 -08:00
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 a51ab988a3 command: more maint command tests 2015-01-21 13:49:10 -08:00
Ryan Uber a96cfc9cc3 command: test maint command 2015-01-21 13:37:32 -08:00
Ryan Uber 718cd94b50 agent: prevent duplicate error messages for maintenance api 2015-01-21 13:28:26 -08:00
Ryan Uber 8081403ad9 command: maint command works 2015-01-21 13:11:23 -08:00
Ryan Uber 515ef304e0 command: starting maint command 2015-01-21 13:00:14 -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
Armon Dadgar a9819e71a8 Fixing merge conflict 2015-01-20 13:01:13 -08:00
Armon Dadgar 2502398481 command/lock: Fixing mixed spaces and tabs 2015-01-20 12:58:29 -08:00
Armon Dadgar c6dbb7e76c command/lock: Adding simple test 2015-01-19 15:47:17 -10:00
Armon Dadgar b52c14d1b2 command/lock: Calculate name, use provided token 2015-01-19 15:38:00 -10:00
Armon Dadgar cdfaaac3ac command/lock: Ensure a conflict between lock and semaphore with shared prefix 2015-01-19 15:26:17 -10:00
Armon Dadgar 1aa8b0fc23 command/lock: First pass at lock 2015-01-19 14:37:48 -10:00
Ryan Uber 9ee9c5acd5 agent: test agent rpc unix socket create failure 2015-01-19 09:56:59 -08:00
Emil Hessman 73ad8fcb84 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 059866cce6 command: fix up env var/cli arg precedence and tests 2015-01-16 17:45:13 -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 952fac6552 command: fix env var reader for HTTP addr 2015-01-16 14:01:20 -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 208b6c0677 command: style fixes for env addr reading 2015-01-16 10:19:04 -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 7ecd015fc0 command: check LastIndex is not zero while waiting for leader 2015-01-07 15:18:00 -08:00
Armon Dadgar b429c22bfb command/exec: Use TTL for local and foreign 2015-01-07 14:27:29 -08:00
Armon Dadgar 615b0d6b97 command/exec: Support foreign datacenters 2015-01-07 14:22:40 -08:00
Ryan Uber babce89299 Merge pull request #581 from hashicorp/f-consulapi
Bring in consulapi
2015-01-07 12:09:44 -08:00
Ryan Uber 5172b21ee8 api: initial import from armon/consul-api 2015-01-06 10:40:00 -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
lalyos 3823a931c6 Add default rpc address configuration option as CONSUL_RPC_ADDR env variable
Similar as in serf: https://github.com/hashicorp/serf/pull/210
2014-12-16 12:18:34 +01:00
Armon Dadgar 9b897d1134 consul: Ignore zero ttl on session 2014-12-12 19:17:04 -08:00
Armon Dadgar 8dbfe7c9a8 Merge pull request #524 from amalaviy/session_ttl
Consul Session TTLs
2014-12-12 14:42:25 -08:00
Atin Malaviya 5a76929ba4 Fixed clearSessionTimer, created invalidateSession, added invalid TTL test 2014-12-11 05:34:31 -05:00
Atin Malaviya 7ece29c3e0 Took out usage of snapshot SessionListTTL 2014-12-10 21:37:06 -05:00
Atin Malaviya e84b26fcf5 Remove hardcoded wait time in session TTL tests 2014-12-10 21:04:09 -05:00
Atin Malaviya 8369b77204 Clean up code based on feedback from armon 2014-12-10 20:49:06 -05:00
Atin Malaviya c992c18ef0 Added more tests. Also added return of 404 if the session id to renew is not found 2014-12-10 10:02:23 -05:00
Atin Malaviya b623af776b Consul Session TTLs
The design of the session TTLs is based on the Google Chubby approach
(http://research.google.com/archive/chubby-osdi06.pdf). The Session
struct has an additional TTL field now. This attaches an implicit
heartbeat based failure detector. Tracking of heartbeats is done by
the current leader and not persisted via the Raft log. The implication
of this is during a leader failover, we do not retain the last
heartbeat times.

Similar to Chubby, the TTL represents a lower-bound. Consul promises
not to terminate a session before the TTL has expired, but is allowed
to extend the expiration past it. This enables us to reset the TTL on
a leader failover. The TTL is also extended when the client does a
heartbeat. Like Chubby, this means a TTL is extended on creation,
heartbeat or failover.

Additionally, because we must account for time requests are in transit
and the relative rates of clocks on the clients and servers, Consul
will take the conservative approach of internally multiplying the TTL
by 2x. This helps to compensate for network latency and clock skew
without violating the contract.

Reference: https://docs.google.com/document/d/1Y5-pahLkUaA7Kz4SBU_mehKiyt9yaaUGcBTMZR7lToY/edit?usp=sharing
2014-12-07 12:38:22 -05:00
Ali Abbas 154c4e93e4 since dns.TXT is an external dependency, it is safer to add keys to the fields to avoid some potential ordering issues if changes in this field occur with upstream 2014-12-06 13:13:35 +01:00
Ali Abbas 0117529781 remove control flow on errExit by switching from bool to int 2014-12-06 12:50:38 +01:00
Chavez 7c1aad7b1d agent: agent test fixes 2014-12-05 10:36:44 -08:00
Veres Lajos 850d5bdc32 typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 23:25:06 +00:00
Armon Dadgar b10159a87b agent: Handle service ACLs when doing anti-entropy 2014-12-01 11:43:01 -08:00
Ryan Uber 42bad4af80 agent: fixup all check definitions from json config 2014-11-30 18:27:37 -08:00
Ryan Uber 9e52588cec agent: persist CheckType with health checks 2014-11-29 12:54:37 -08:00
Ryan Uber 4f14ba6326 agent: allow config reload to modify checks/services persistence
This change consolidates loading services and checks from both config
and persisted state into methods on the agent. As part of this, we
introduce optional persistence when calling RemoveCheck/RemoveService.

Fixes a bug where config reloads would kill persisted services/checks.
Also fixes an edge case:

1. A service or check is registered via the HTTP API
2. A new service or check definition with the same ID is added to config
3. Config is reloaded

The desired behavior (which this implements) is:

1. All services and checks deregistered in memory
2. All services and checks in config are registered first
3. All persisted checks are restored using the same logic as the agent
   start sequence, which prioritizes config over persisted, and removes
   any persistence files if new config counterparts are present.
2014-11-26 12:46:42 -08:00
Ali Abbas ecac719bb8 fix Sprintf formatting 2014-11-25 20:06:33 +01:00
Ali Abbas 73504a01e9 cleanup unreachable code 2014-11-25 19:54:30 +01:00
Ryan Uber fe119a1bd2 agent: prefer config over persisted services/checks (#497) 2014-11-24 19:40:53 -08:00
Armon Dadgar 746c52644b Merge pull request #497 from hashicorp/f-persist
Persist locally registered services and checks
2014-11-24 11:14:08 -08:00
Armon Dadgar 521414f09a agent: Adding TODO for future optimization 2014-11-24 11:09:04 -08:00
Ryan Uber 1f5af52e0b agent: pass error through when writing state files 2014-11-24 01:58:39 -08:00
Ryan Uber ce0d27caba agent: default restored checks to critical status 2014-11-24 01:15:18 -08:00
Ryan Uber e3c2075a9d agent: first pass at local service and check persistence 2014-11-24 01:10:27 -08:00
lalyos adc5d0a522 agent: implementing reverse dns lookup for ipv4 and ipv6 2014-11-23 09:16:37 +01:00
Armon Dadgar b58b35d659 Merge pull request #487 from amalaviy/ephemeral_keys
Ephemeral Nodes for via Session behavior settings.
2014-11-21 10:11:52 -08:00
Ryan Uber 3d4ea8142c agent: make event buffer test non-sequential 2014-11-20 21:56:50 -08:00
Ryan Uber 3f5e0d8ec0 agent: Test event order preservation for watches 2014-11-20 20:35:52 -08:00
Ryan Uber 5badc695b8 agent: Preserve ordering of event buffer. Fixes #479 2014-11-20 19:51:08 -08:00
Atin Malaviya 3aabda02b3 Clean up tests, use switch to default session.Behavior value if unspecified, unrecognized 2014-11-20 14:29:18 -05:00
Atin Malaviya aa0cecd04e Ephemeral Nodes for via Session behavior settings.
Added a "delete" behavior for session invalidation, in addition to
the default "release" behavior. On session invalidation, the sessions
Behavior field is checked and if it is set to "delete", all nodes owned
by the session are deleted. If it is "release", then just the locks
are released as default.
2014-11-20 11:34:45 -05:00
Ryan Uber accf2bbb59 agent: remove unused config variable 2014-11-19 23:18:12 -08:00
Ryan Uber 4cd89a9113 Rebase against upstream 2014-11-19 16:45:49 -08:00
Ryan Uber a675b5faae agent: fix gossip encryption detection 2014-11-19 16:37:40 -08:00
Ryan Uber c9118b53bf agent: fix loading keyring on agent start 2014-11-19 16:37:40 -08:00
Ryan Uber 196cbd27b2 agent: ignore -encrypt if provided when keyring exists 2014-11-19 16:37:40 -08:00
Ryan Uber 3b2ab70c4d consul: clean up comments, fix globalRPC tests 2014-11-19 16:37:40 -08:00
Ryan Uber 2661bbfa27 consul: more tests, remove unused KeyManager() method 2014-11-19 16:37:40 -08:00
Ryan Uber fcacee723b consul: simplify keyring operations 2014-11-19 16:36:19 -08:00
Ryan Uber 00fc7fa1dd command/keyring: adjust command help 2014-11-19 16:36:18 -08:00
Ryan Uber b3f251de9c command/keyring: clean up tests 2014-11-19 16:36:18 -08:00
Ryan Uber f24ac482e3 agent: fix test cases 2014-11-19 16:36:18 -08:00
Ryan Uber bb9617642a agent: make rpc tests more reliable 2014-11-19 16:36:01 -08:00
Ryan Uber d02afd42fb agent: -encrypt appends to keyring if one exists 2014-11-19 16:36:01 -08:00
Ryan Uber 295f876923 command/agent: fix up gossip encryption indicator 2014-11-19 16:35:37 -08:00
Ryan Uber c59107f08e command: remove -init argument from keyring, auto-persist keyrings when using agent -encrypt 2014-11-19 16:35:13 -08:00
Ryan Uber 7f85c708dc agent: squash some more common keyring semantics 2014-11-19 16:34:18 -08:00
Ryan Uber daebf39946 agent: guard against empty keyring files 2014-11-19 16:34:18 -08:00
Ryan Uber db0084ccd0 consul: use keyring operation type to cut out duplicated logic 2014-11-19 16:34:18 -08:00
Ryan Uber 33dea16567 agent: fix install key test 2014-11-19 16:34:18 -08:00
Ryan Uber 001a579d47 command/keyring: cleanup 2014-11-19 16:34:18 -08:00
Ryan Uber bea19b5135 command/keyring: refactor, adjust tests 2014-11-19 16:34:18 -08:00
Ryan Uber c1ea291112 command: fix panic when client RPC is asked for a keyring operation 2014-11-19 16:34:17 -08:00
Ryan Uber 1ec111bbfc consul: kill unused struct fields 2014-11-19 16:34:17 -08:00
Ryan Uber c4a9291bb9 command/keyring: remove unneeded -wan arg, fix tests 2014-11-19 16:34:17 -08:00
Ryan Uber 6277a76a9d agent: adjust rpc client tests for keyring 2014-11-19 16:34:17 -08:00
Ryan Uber 52582e7365 command: fixing test cases for keyring 2014-11-19 16:34:17 -08:00
Ryan Uber 30f5f06dfe command/keyring: clean up output 2014-11-19 16:34:17 -08:00
Ryan Uber f6b5fc8c08 consul: cross-dc key rotation works 2014-11-19 16:34:17 -08:00
Ryan Uber 71e9715c54 consul: restructuring 2014-11-19 16:34:17 -08:00
Ryan Uber a551a6e4a0 consul: refactor keyring, repeat RPC calls to all DC's 2014-11-19 16:34:17 -08:00
Ryan Uber 03012e8ac6 command: allow wan ring to be modified separately from lan pools 2014-11-19 16:33:34 -08:00
Ryan Uber 72fc1ceead agent: split keyring functionality out of agent.go 2014-11-19 16:32:32 -08:00
Ryan Uber 355fc89f7f command: test generated keyring file content and conflicting args for agent 2014-11-19 16:32:06 -08:00
Ryan Uber f9fd1f3f05 agent: test loading keyring files for client and server 2014-11-19 16:31:40 -08:00
Ryan Uber a9f3cbd7f0 command: various cleanup 2014-11-19 16:31:06 -08:00
Ryan Uber 986eb0eefe agent: add tests for keyring presence checks 2014-11-19 16:31:06 -08:00
Ryan Uber c88780fe12 command/keyring: add tests for init 2014-11-19 16:31:06 -08:00
Ryan Uber 6609cb680b command: use separate key files for LAN/WAN 2014-11-19 16:31:06 -08:00
Ryan Uber 8dc53447a3 command: renamed keys to keyring to disambiguate usage 2014-11-19 16:31:06 -08:00
Ryan Uber ee20698199 command/keys: refactor, restrict key operations to server nodes 2014-11-19 16:31:06 -08:00
Ryan Uber a36ab53f25 agent: move keyring initialization out of agent, add -init option to keys command 2014-11-19 16:31:06 -08:00
Ryan Uber dfdd7c4ef7 agent: fix keyring loading when config is passed off 2014-11-19 16:31:06 -08:00
Ryan Uber 3e64ed70df agent: clean up keyring file implementation 2014-11-19 16:31:06 -08:00
Ryan Uber 2e92e19760 agent: refactor keyring loader 2014-11-19 16:31:06 -08:00
Ryan Uber ee50795850 agent: install/use/remove key tests 2014-11-19 16:30:22 -08:00
Ryan Uber 0ad0805234 agent: add rpc tests for listing lan/wan gossip keys 2014-11-19 16:30:22 -08:00
Ryan Uber b1b722dbff command/keys: test network connection failure 2014-11-19 16:30:22 -08:00
Ryan Uber 04f2a53735 command/keys: adding more tests 2014-11-19 16:30:22 -08:00
Ryan Uber 109a3604da command/keys: begin tests 2014-11-19 16:30:22 -08:00
Ryan Uber 5f04ae277e command/keys: remove key command implemented 2014-11-19 16:30:22 -08:00
Ryan Uber ccda799039 command/keys: use key command implemented 2014-11-19 16:30:22 -08:00
Ryan Uber d52163703e command/keys: customize info message when listing keys 2014-11-19 16:30:22 -08:00
Ryan Uber d03ed1a9ba agent: install key command implemented 2014-11-19 16:30:22 -08:00
Ryan Uber b11afa33f3 command/keys: use PrefixedUi for keys command 2014-11-19 16:30:22 -08:00
Ryan Uber 164f2428ff command/keys: fail fast if no actionable args were passed 2014-11-19 16:30:21 -08:00
Ryan Uber cae3f0fd0b agent: fix inversed lan/wan key listing 2014-11-19 16:30:21 -08:00
Ryan Uber 83af160fc3 command/keys: list keys working end-to-end 2014-11-19 16:30:21 -08:00
Ryan Uber b200332ae3 command: add option for -wan to keys command 2014-11-19 16:30:21 -08:00
Ryan Uber 43a60f1424 command: basic rpc works for keys command 2014-11-19 16:30:21 -08:00
Ryan Uber 96376212ff consul: use rpc layer only for key management functions, add rpc commands 2014-11-19 16:30:21 -08:00
Ryan Uber f25c2c1f06 command: add skeletons for keys command 2014-11-19 16:30:21 -08:00
Ryan Uber 61e3647ac1 command: warn when passing -encrypt when keyring already exists 2014-11-19 16:30:21 -08:00
Ryan Uber 208b5ae58f command: create serf dir if it doesn't exist, document -disable-keyring arg 2014-11-19 16:30:21 -08:00
Ryan Uber 4b26566537 consul: fix json marshaling 2014-11-19 16:30:21 -08:00
Ryan Uber 8a4ed84711 consul: first pass at keyring integration 2014-11-19 16:30:20 -08:00
Armon Dadgar dd8c0f1282 agent: Fixing wan join tests 2014-11-19 13:53:17 -08:00
Armon Dadgar 5d486a6bd0 agent: Fixing config merge test 2014-11-19 13:38:58 -08:00
Armon Dadgar e831949380 agent: Fixing UiDir in test 2014-11-19 13:29:15 -08:00
Armon Dadgar de35a8e38f agent: Fixing port collision in tests 2014-11-19 11:51:25 -08:00
Armon Dadgar dd41c69389 Merge pull request #478 from amalaviy/https
Added HTTPS support via a new HTTPS Port configuration option
2014-11-19 11:17:10 -08:00
Atin Malaviya 2bd0e8c745 consul.Config() helper to generate the tlsutil.Config{} struct, 30 second keepalive, use keepalive for HTTP and HTTPS 2014-11-18 17:56:48 -05:00
Janne Paenkaelae e15262c8b7 Make the 'consul version' to return value that is from 'git describe --tags' 2014-11-18 22:15:58 +00:00
Atin Malaviya b4424a1a50 Moved TLS Config stuff to tlsutil package 2014-11-18 11:03:36 -05:00
Atin Malaviya 46178dbb37 Change names to StartJoinWan, RetryJoinWan etc 2014-11-17 17:14:59 -05:00
Atin Malaviya 59a68ecc26 Added HTTPS support via a new HTTPS Port configuration option similar to the HTTP Port. 2014-11-17 14:29:35 -05:00
Atin Malaviya df8d099f49 Add start-wan-join, retry-wan-join and related configuration options and commandline options 2014-11-14 10:56:39 -05:00
Ryan Uber 9ddba236d0 Merge pull request #458 from hashicorp/h-notes
Pass notes field from service checks through
2014-11-06 21:07:45 -08:00
Ryan Uber 398179dcad agent: pass notes field through for checks inside of service definitions. Fixes #449 2014-11-06 18:25:21 -08:00
Armon Dadgar f5acbace17 Fixing unit tests 2014-11-03 11:40:55 -08:00
Armon Dadgar 982b177e69 Support old recursor config for backwards compatibility 2014-11-03 11:28:21 -08:00
foostan 4d8f1c2133 Add multiple recursor definition support 2014-11-01 04:26:26 +09:00
Ryan Uber 97ba2703f1 agent: add support for multiple checks and config mixing 2014-10-26 13:11:25 -07:00
Ryan Uber d4e5592360 agent: test config as a whole in services test 2014-10-26 12:00:11 -07:00
Alexander Simmerl ad4598959e Add multiple service definition support
This change-set adds another key to the configuration decoding called
`services`, which is expected to be a list of service definitions. It
follows the established convention of only allowing one of the keys:
`service`, `check`, `services`. For every entry in the list it calls
the corresponding decode method and appends it to the Servics of the
resulting Config.

While a similar result could be achieved with changing the Services
member of the Config struct to have named mapstruct tag it lacks the
proper time conversions provided by DecodeServiceDefinition.
2014-10-23 22:50:40 -04:00
Armon Dadgar af90aa8026 Gofmt 2014-10-20 10:21:31 -07:00
Armon Dadgar 3f36515544 Switching to the pinned version of msgpack 2014-10-17 18:26:19 -07:00
Ryan Uber c236900dba agent: test services are in sync when added from the API 2014-10-17 17:33:27 -07:00
Ryan Uber 6b119b98f0 agent: add test for consul service sync state 2014-10-17 14:43:52 -07:00
Ryan Uber 0322bf2b7d agent: initialize local consul service tags to fix service sync 2014-10-17 14:29:12 -07:00
Armon Dadgar c4951bb598 agent: skip syslog test on windows 2014-10-17 11:24:10 -07:00
Ryan Uber b394dff38f agent: optimize rpc monitor test 2014-10-16 10:20:57 -07:00
Ryan Uber e94627be20 agent: fix failing monitor test 2014-10-15 18:23:21 -07:00
Armon Dadgar a1d2f9a3da Merge pull request #401 from hashicorp/f-healthcheck
Default services to "critical" state instead of "unknown"
2014-10-15 16:50:38 -07:00
Armon Dadgar efcbcb6237 Merge pull request #400 from hashicorp/f-service-filter
agent: Register "consul" service in agent layer
2014-10-15 16:48:57 -07:00
Ryan Uber 54d6e256e3 agent: fix tests after default status change 2014-10-15 15:43:53 -07:00
Ryan Uber 3d712feba4 agent: fix failing test 2014-10-15 15:03:43 -07:00
Ryan Uber b7a75a2314 formatting 2014-10-15 14:56:15 -07:00
Ryan Uber f83f80cf22 agent: remove special case of consul service, adjust tests 2014-10-15 14:52:00 -07:00
Ryan Uber ec63686416 consul: kill remaining use of HealthUnknown 2014-10-15 10:14:46 -07:00
Ryan Uber 967cc6d701 agent: Default health checks to critical. Fixes #341 2014-10-15 10:09:49 -07:00
Ryan Uber cd43b486a2 agent: account for consul service in anti-entropy tests 2014-10-14 18:06:07 -07:00
Ryan Uber 80a77a82df agent: fix node name in cli test 2014-10-14 17:49:17 -07:00
Ryan Uber ece81c11ac agent: re-use ConsulServiceID from consul package 2014-10-14 15:44:11 -07:00
Ryan Uber 5e66e2ae1e agent: auto-register the consul service on server nodes 2014-10-14 15:35:00 -07:00
Ryan Uber 1759f36d43 agent: Allow 'consul' service to be targeted for events. Fixes #344 2014-10-14 12:58:52 -07:00
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
foostan 58bc3bb611 Fix indent space 2014-09-05 11:09:37 +09: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 9e76e93a35 command/exec: Improving output 2014-09-01 14:46:22 -07:00
Armon Dadgar f450381124 command/exec: Tuning constants 2014-09-01 14:46:22 -07:00
Armon Dadgar 122d919d19 agent: Handle cancel for idle wait 2014-09-01 14:46:22 -07:00
Armon Dadgar 1c8c7543ac command/exec: Fixing verbose flag 2014-09-01 14:46:22 -07:00
Armon Dadgar 17269f7a83 command/exec: Testing exec 2014-09-01 14:46:22 -07:00
Armon Dadgar 4d46817a96 command/exec: High level tests 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 ee7fb008fe command/exec: Fixing use of shutdown ch 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 233636dc94 command/exec: First pass at exec command 2014-09-01 14:46:21 -07:00
Armon Dadgar f14af4adad command: Adding method to get client with datacenter 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 c982301b07 command/event: Adding new event command 2014-08-28 16:40:31 -07:00
Armon Dadgar d9ae1da296 agent: Prevent hot spin on event list 2014-08-28 15:55:36 -07:00
Armon Dadgar 3b01d24376 command/watch: Changes for event watch 2014-08-28 15:51:12 -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 9e061a3886 command/watch: Adding tests 2014-08-21 16:08:21 -07:00
Armon Dadgar 1b88eb4d98 command/watch: First pass at command 2014-08-21 16:02:41 -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 7b6adb91bd command/reload: Adding new command 2014-06-11 10:58:26 -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
Armon Dadgar af24734cc2 command/members: Remove tests for old role filter 2014-06-08 14:02:24 -07:00
Andrew M Bursavich d209517d50 reuse codec.MsgpackHandle 2014-06-07 01:13:38 -07:00
Armon Dadgar 7fc5b7a920 command/members: Improve output. Fixes #143 2014-06-06 16:00:02 -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 16a2f14ef1 Fix formatting in `TestForceLeaveCommandRun` 2014-05-07 22:50:34 +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 e76f9f36c6 Remove all sleeps from `force_leave_test.go` 2014-05-07 22:45:16 +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
William Tisäter 4171b3d484 Return exit code 2 if member filter doesn't match any node 2014-05-04 11:54:45 +02: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 8ea7d7fbd9 command/info: Move warning output to the top 2014-04-29 11:09:14 -07:00
Armon Dadgar 46b0fc24d9 command/info: Warn on GOMAXPROCS = 1. Fixes #87. 2014-04-29 10:58:49 -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 aa2e2d415f command/members: API update for columnize 2014-04-16 16:21:30 -07: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 969d2a6c20 command: Fixing more tests 2014-04-11 16:34:29 -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 dddc1f65b2 command/version: Print the version ranges 2014-03-09 15:54:21 -07:00
Armon Dadgar 752b4ac43f command/members: Remove the detailed flag, abstraction leak 2014-03-09 15:46:43 -07:00
Armon Dadgar ae1bb3930b command/members: USe the columnize library for members 2014-03-05 19:52:31 -08:00
Armon Dadgar b4a9b4301b agent: Handle API changes 2014-03-05 15:03:23 -08:00
Armon Dadgar 3dce250892 command/info: remove unused import 2014-03-05 15:02:56 -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