Kyle Havlovitz
edbb0ce0b8
Add missing doc page for version command
2017-02-09 20:08:25 -05:00
Kyle Havlovitz
aa0d2502f8
Convert snapshot command to use base.Command
2017-02-09 20:00:38 -05:00
Kyle Havlovitz
8236af47ba
Convert rtt command to use base.Command
2017-02-09 19:38:06 -05:00
Kyle Havlovitz
8c14f93fb1
Convert reload command to use base.Command
2017-02-09 19:32:22 -05:00
Kyle Havlovitz
369b4b6d73
Convert operator command to use base.Command
2017-02-09 18:19:34 -05:00
Kyle Havlovitz
be17779c42
Convert monitor command to use base.Command
2017-02-09 17:31:52 -05:00
Kyle Havlovitz
14415741a3
Convert members command to use base.Command
2017-02-09 17:12:47 -05:00
Kyle Havlovitz
6c4d4f9a32
Convert maint command to use base.Command
2017-02-09 17:06:19 -05:00
Kyle Havlovitz
ccb193f77f
Convert leave command to use base.Command
2017-02-09 16:48:12 -05:00
Kyle Havlovitz
746dbc1c51
Make join exit non-zero if no nodes were joined
2017-02-08 19:45:13 -05:00
Kyle Havlovitz
14a7ffc098
Convert kv commands to use base.Command
2017-02-08 19:26:24 -05:00
Kyle Havlovitz
abdf1fbab3
Convert keyring command to use base.Command
2017-02-08 18:25:47 -05:00
Kyle Havlovitz
d67151908d
Convert keygen command to use base.Command
2017-02-08 17:19:17 -05:00
Kyle Havlovitz
8775b031d3
Convert join command to use base.Command
2017-02-08 17:14:02 -05:00
Kyle Havlovitz
a3d02a4cbc
Convert info command to use base.Command
2017-02-08 16:58:04 -05:00
Kyle Havlovitz
aa1c464961
Convert exec command to use base.Command
2017-02-08 16:57:46 -05:00
Kyle Havlovitz
8985398c7e
Convert event command to use base.Command
2017-02-08 16:56:58 -05:00
Kyle Havlovitz
0b85bbfed1
Small tweaks to base command
2017-02-07 20:56:49 -05:00
Kyle Havlovitz
197dc10a7f
Add utility types to enable checking for unset flags
2017-02-07 20:14:41 -05:00
Kyle Havlovitz
49d2ce1c3d
Move command Meta to base.Command and split http options
2017-02-07 19:16:41 -05:00
Kyle Havlovitz
edc353914d
Fix the check for displaying the command options
2017-02-06 23:45:58 -05:00
Kyle Havlovitz
8009432b1b
Convert configtest and force-leave commands to use Meta
2017-02-06 20:50:51 -05:00
Kyle Havlovitz
3d09fb880f
Merge branch 'master' into f-cli-rework
2017-02-06 13:46:44 -05:00
Kyle Havlovitz
5d888f5303
Added -relay-factor param to keyring operations
2017-02-01 21:53:29 -05:00
Kyle Havlovitz
a533e255ab
Merge pull request #2699 from hashicorp/f-tls-min-version
...
Add TLSMinVersion to config options
2017-02-01 16:31:53 -05:00
Kyle Havlovitz
07ba3ddb6e
Add TLSMinVersion to config options
2017-02-01 16:20:33 -05:00
Sean Chittenden
fd2ae702c9
Re-cherry-pick 71d807f607
and e2320d69b6
.
2017-02-01 10:27:04 -08:00
James Phillips
e9cc66ab51
Fixes issue with missing CNAME for services with non-IP addresses set in SRV responses.
2017-01-31 20:57:50 -08:00
Patrick Sodré
c135c08fb2
Simple RFC 2782 support with optional .service tag
...
Add support for SRV queries of names matching:
_<service>._<protocol>.[.service][.datacenter]<.domain>
2017-01-30 19:46:02 -05:00
James Phillips
f0f52bd5f6
Redacts AWS join credientials from /v1/agent/self output.
2017-01-25 21:01:07 -08:00
James Phillips
eaa8fde298
Updates a comment to point to new blockingQuery function.
2017-01-25 09:58:22 -08:00
James Phillips
4c1a156417
Pulls in latest static asset updates.
2017-01-25 09:57:56 -08:00
Kyle Havlovitz
bbfd25b530
Fix test import
2017-01-23 21:34:01 -05:00
Kyle Havlovitz
a55968f009
Merge branch 'master' into f-prepared-query-nodemeta
2017-01-23 20:17:48 -05:00
Kyle Havlovitz
3f3d7f9891
Add tests for node meta in prepared queries and update docs
2017-01-23 19:17:30 -05:00
David Black
507e6769f8
s/givne/given/
2017-01-19 09:16:31 -08:00
James Phillips
6ca0173907
Adds catalog support for node IDs.
2017-01-18 14:26:42 -08:00
James Phillips
e719ff8ef1
Adds a test to make sure we get the same ID on the second run.
2017-01-18 09:52:34 -08:00
James Phillips
bd605e330c
Adds basic support for node IDs.
2017-01-17 22:47:59 -08:00
James Phillips
8d57727ff0
Merge pull request #2639 from tanuck/master
...
Standardize the case of all check log messages
2017-01-17 09:07:45 -08:00
James Phillips
25fb498b20
Merge pull request #2578 from ybubnov/concurrent-safe-notification-mock
...
Concurrent-safe notification mock
2017-01-17 09:01:43 -08:00
Kyle Havlovitz
5acd69b4fc
Add node metadata filtering to remaining health/catalog endpoints
2017-01-13 20:08:43 -05:00
Kyle Havlovitz
fb68a6bab0
Style tweaks and vendor.json cleanup
2017-01-12 16:49:44 -05:00
Kyle Havlovitz
5ddea8a5df
Merge branch 'master' into f-gce-discovery
2017-01-11 22:57:07 -05:00
Kyle Havlovitz
dbc72eaac0
Condense gce discovery logging a bit
2017-01-11 22:37:22 -05:00
Kyle Havlovitz
23ce10f889
Merge pull request #2643 from hashicorp/f-node-metadata
...
Node metadata
2017-01-11 20:29:24 -05:00
Kyle Havlovitz
7f91cd12f4
Add -node-meta to agent command line options
2017-01-11 16:09:04 -05:00
Kyle Havlovitz
c9e430c396
Validate metadata config earlier and handle multiple filters
2017-01-11 15:12:03 -05:00
Andrew Glen-Young
01de3b3cb9
Pedantic typo fix
2017-01-10 15:44:32 -05:00
Kyle Havlovitz
03273e4ed2
Fix formatting
2017-01-09 13:49:33 -08:00
Kyle Havlovitz
84504a20fc
Add meta key validations and more tests
2017-01-09 11:21:49 -08:00
Kyle Havlovitz
e44bcb9716
Add tests for node metadata functionality
2017-01-05 17:21:56 -08:00
Kyle Havlovitz
52d6fd831e
Add support for setting node metadata fields
2017-01-05 14:10:26 -08:00
James Phillips
66f3a0f1c3
Merge pull request #2635 from hashicorp/kv-put-crash
...
cli: Fix panic on empty data argument to `kv put`
2017-01-05 09:57:59 -08:00
James Nugent
19921290c4
cli: Fix printf format in KV Export Test
...
Fix vet issue:
command/kv_export_test.go:48: arg code for printf verb %s of wrong type:
int
2017-01-05 09:28:12 -06:00
James Nugent
ae83b71b08
cli: Fix panic on empty data argument to `kv put`
...
Passing in an empty quoted argument from the shell currently panics as
we never check the length being greater than 0 prior to indexing into
the first rune, as illustrated in the test in this commit.
We also fix the panic, treating an empty string for data as equivalent
to not having passed it in the first place.
2017-01-05 08:02:38 -06:00
James Nugent
d4e8c8a2c1
cli: Add KV `export` and `import`
...
This commit adds two new commands to the Consul KV CLI, which export and
import a JSON formatted representation of the Consul KV tree. It is
useful to migrate parts of the KV tree between unrelated Consul
clusters, and could also be used for initial data population of the KV
store.
2017-01-05 07:57:38 -06:00
James Tancock
5151c64f54
Standardize the case of all check log messages
2017-01-05 08:34:20 +00:00
James Nugent
2e8f440ac7
cli: Add -base64 option to `consul kv put`
...
This commit adds a -base64 option to the consul kv put command, which
base 64 decodeds the data prior to writing it. This can be used in
conjunction with `consul kv get -base64 key`.
2017-01-04 16:12:21 -06:00
James Nugent
5334649355
Merge pull request #2631 from hashicorp/kv-get-base64
...
cli: Add -base64 option to `consul kv get`
2017-01-04 16:00:27 -06:00
James Nugent
b79296ac70
cli: Add -base64 option to `consul kv get`
...
This commit adds a `-base64` option to the `consul kv get` command,
which base 64 encodes the output such that it can be processed by
terminal tools in the event that the data is binary. The flag defaults
to false.
2017-01-04 15:41:40 -06:00
Kyle Havlovitz
8494b06ce0
Don't error if the given data-dir doesn't exist
2016-12-15 12:55:21 -05:00
James Phillips
d6dc6a1fcc
Adds exception for data-dir check in -dev mode.
...
This was changed in #2529 .
2016-12-14 22:11:16 -08:00
James Phillips
2f9c05a75b
Updates web assets to match latest.
2016-12-14 21:08:17 -08:00
James Phillips
a67d308175
Merge pull request #2594 from hashicorp/acl-complete
...
Adds complete ACL support for /v1/agent endpoints.
2016-12-14 20:49:00 -08:00
James Phillips
ededf330ba
Adds complete ACL support for listing events.
2016-12-14 19:42:37 -08:00
James Phillips
babb0a1235
Adds remaining unit tests for agent ACL vet and filter functions.
2016-12-14 19:28:09 -08:00
James Phillips
171ec6e487
Fixes a race in the monitor endpoint test that would cause panics.
2016-12-14 18:13:30 -08:00
Kyle Havlovitz
cb96aa8eb3
Merge pull request #2529 from mckennajones/bug/1838
...
Give a better error message when data-dir is not a directory
2016-12-14 20:21:10 -05:00
Kyle Havlovitz
daa5ba87d4
Handle error from stat on data-dir and shorten error message
2016-12-14 20:06:00 -05:00
James Phillips
4ffd824547
Adds a leader wait when testing with ACLs.
2016-12-14 16:18:17 -08:00
James Phillips
03f40116f4
Adds complete ACL coverage for non-utility agent endpoints.
...
This is a checkpoint - we need to complete some unit tests for agent/acl.go.
2016-12-14 14:53:40 -08:00
Kyle Havlovitz
7fbac3ffad
Merge pull request #2553 from mckennajones/bug/ignoresigpipe
...
Ignore sigpipe signals
2016-12-14 15:36:26 -05:00
Kyle Havlovitz
7f5f1fed81
Add a notice about deprecation of atlas features
2016-12-14 15:13:51 -05:00
James Phillips
01b6766099
Adds complete ACL support for agent utility endpoints.
2016-12-14 11:12:55 -08:00
James Phillips
ca7a243b70
Adds ACL management support to the agent.
2016-12-14 07:07:41 -08:00
James Phillips
34da7ccd64
Adds a unit test to make sure the status endpoint doesn't ever show anything
...
with "token" in the name.
2016-12-14 07:07:41 -08:00
James Phillips
8b67991ef7
Adds complete ACL coverage for /v1/session endpoints.
2016-12-12 21:59:22 -08:00
James Phillips
bcf1ffad99
Adds complete ACL coverage for /v1/coordinate/nodes and Coordinate.Update RPC.
2016-12-12 14:52:27 -08:00
James Phillips
0139bbb963
Adds support for a new "acl_agent_token" which is used for internal
...
catalog operations.
2016-12-12 14:52:27 -08:00
James Phillips
0ed6b1bb18
Bans anonymous queries that aren't tied to a session.
...
This gets us coverage of PQ creation under the existing service
policy or the soon-to-be-added session policy.
2016-12-12 14:52:27 -08:00
James Phillips
66b437ca33
Removes the exception for the "consul" service in the catalog.
2016-12-07 17:58:23 -08:00
Yakau Bubnou
e52fd6e0af
Concurrent-safe notification mock
...
This patch provides additional attribute to the notification mock in
order to protect an access to the internal maps from multiple
go-routines. This is required to prevent panic errors caused by
inconsistent map state.
2016-12-07 19:31:44 +03:00
Chris Marchesi
6500d1afaa
command/agent: Google Compute Engine host discovery
...
This commit adds several command-line and config options that facilitate
host discovery through Google Compute Engine (GCE), much like the
recently added EC2 host discovery options. This should assist with
bootstrapping and joining servers within GCE when non-static addresses
are used, such as when using managed instance groups.
Documentation has also been added. It should be noted that if running
from within a GCE instance, the only option that should be necessary is
-retry-join-gce-tag-value.
2016-12-06 17:46:40 -08:00
James Phillips
8ae9e17dff
Adds an opt-in for new ACL policies and features coming in Consul 0.8.
2016-12-06 11:06:14 -08:00
Sean Chittenden
830125a8b3
Run all known addresses through go-sockaddr/template.
...
The following is now possible:
```
$ consul agent -dev -client="{{GetPrivateIP}}" -bind='{{GetInterfaceIP "en0"}}'
```
2016-12-02 16:35:38 +11:00
Kyle Havlovitz
ead30ca62b
Fix race issue in monitor endpoint test
2016-12-01 13:40:00 -05:00
James Phillips
681e7d9ebf
Merge pull request #2533 from mckennajones/bug2526
...
Fix for KV put command
2016-11-30 21:46:04 -08:00
James Phillips
c07bdb173b
Merge pull request #2555 from hashicorp/pr-2497-slackpad
...
Updates Circonus library and adds support for custom display name and tags.
2016-11-30 21:42:01 -08:00
Kyle Havlovitz
bd69c6d871
Add reload/leave http endpoints ( #2516 )
2016-11-30 13:29:42 -05:00
mckennajones
8b3ab100ef
ignore sigpipe signals to fix journalctl issue #2404
2016-11-30 09:42:10 -08:00
mckennajones
6bc1164825
Unit test for kv_put with negative values
2016-11-29 22:29:31 -08:00
Seth Vargo
4179aacf11
Add an API method for determining the best status
...
Given a list of HealthChecks, this determines the "best" status for the
collective group. This is useful for nodes and services, which may have
multiple checks associated with them.
2016-11-29 18:41:46 -05:00
Kyle Havlovitz
338e36cc5d
Add logWriter to agent Create() method
2016-11-28 18:36:26 -05:00
Kyle Havlovitz
124f907063
Add monitor http endpoint
2016-11-28 18:36:26 -05:00
mckennajones
40a8f13cd9
Simple check to differentiate between stdin flag or value that contains
...
a -
2016-11-27 12:55:14 -08:00
James Phillips
dd31e47eef
Updates static assets to pick up #2340 and and #2525 .
2016-11-22 17:47:50 -08:00
Kyle Havlovitz
6bd65c668b
Combine keyring endpoints into one
2016-11-22 20:10:43 -05:00
Kyle Havlovitz
dd3368c19e
Add keyring http endpoints
2016-11-22 20:10:43 -05:00
mckennajones
8daa45c5b4
check if data-dir is actually a directory
2016-11-22 13:33:51 -08:00
James Phillips
fa680bded7
Defaults to pretty JSON in dev mode.
2016-11-17 22:31:19 -08:00
James Phillips
c744792fc4
Merge pull request #2238 from hasyimibhar/master
...
Remove duplicated environment variables
2016-11-17 16:18:02 -08:00
Benjamin Farley
b78cf3de1f
Operator docs update
2016-11-16 09:04:37 +00:00
James Phillips
16f8e04bfe
Revert "Updates Circonus metrics library and adds support for display name and tags."
...
This reverts commit bd490ec937
from #2491 .
2016-11-09 16:21:02 -08:00
Kyle Havlovitz
92ce2c9e39
Use uuids in persist temp files to avoid race ( #2494 )
2016-11-09 15:22:53 -08:00
Kyle Havlovitz
b1760b223e
Improve logging when deregistering a nonexistent service ( #2492 )
...
Log a warning instead of a success message when attempting to deregister a nonexistent service. In Consul 0.8 this can be changed to giving an error outright, but for now we can keep the idempotent delete behavior.
2016-11-09 16:56:54 -05:00
matt maier
bd490ec937
Updates Circonus metrics library and adds support for display name and tags.
...
* Update circonus-gometrics
`vendor circonus-labs/circonus-gometrics`
`vendor circonus-labs/circonus-gometrics/api`
`vendor circonus-labs/circonus-gometrics/checkmgr`
`vendor circonus-labs/circonusllhist`
`vendor hashicorp/go-retryablehttp`
* Update Circonus integration expose Check Display Name and Check Tags configuration options.
* Adds version info to docs for new Circonus options.
2016-11-09 13:26:43 -08:00
matt maier
91a8b43d5a
Update Circonus integration expose Check Display Name and Check Tags configuration options.
2016-11-09 15:33:37 -05:00
James Phillips
2f341738a1
Removes stale reference to reap lock which causes a panic. ( #2490 )
2016-11-09 09:52:07 -08:00
James Phillips
bc47511d26
Runs the static asset packaging inside the container; updates assets.
2016-11-08 15:14:08 -08:00
James Phillips
8af20ff1a5
Updates embedded static assets.
2016-11-08 14:22:39 -08:00
Kyle Havlovitz
8e621eb9c8
Set MaxStale default to 10 years and add a stale counter ( #2481 )
...
Default MaxStale to 10 years and add a counter at `consul.dns.stale_queries` that tracks when an agent serves a query that's stale by at least 5 seconds. Previously, MaxStale defaulted to 5 seconds and DNS would become unavailable after a short period of time with no leader. This new default allows DNS requests to still be served in the event of a long outage.
Fixes #2460 .
2016-11-08 14:45:12 -05:00
Brian Hays
1c01b10c87
Lowercase ACL Datacenter ( #2478 )
...
* Lowercase ACL Datacenter
* move lowercasing of ACLDatacenter to command.go and add validation
* Tweaks error message about bad ACL datacenter.
2016-11-07 18:41:23 -08:00
Kyle Havlovitz
83d2f36b54
Merge pull request #2480 from hashicorp/b-atomic-writes
...
Atomic writes for persisting service/check state
2016-11-07 15:36:35 -05:00
Kyle Havlovitz
7a3e0f8275
Add a note about not calling sync for persistCheckState
2016-11-07 15:24:31 -05:00
Kyle Havlovitz
e30b289c6f
Call fsync() for saving check/service state
2016-11-07 13:51:03 -05:00
Kyle Havlovitz
e665ec87aa
Add WaitForResult to some flaky tests ( #2477 )
...
This replaces some hard sleeps with testutil.WaitForResult retry
logic in some recently added tests around TLSSkipVerify in checks.
2016-11-04 21:55:55 -07:00
James Phillips
2d4fd24eaf
Moves the snapshot package up one level. ( #2472 )
2016-11-03 21:36:25 -07:00
James Phillips
925c46f725
Moves logger setup into its own package. ( #2471 )
...
* Moves logger setup into its own package.
* Removes a stray regex mark in the test locator.
2016-11-03 21:14:56 -07:00
James Phillips
2d43dcfc0c
Finishes move of datacenter into client vs. options. ( #2470 )
2016-11-03 14:21:02 -07:00
Kyle McCullough
73b281a27c
Add setting to skip ssl certificate verification for HTTP checks ( #1984 )
...
* http check: add setting to skip ssl certificate verification
* update http check documentation
* fix typo in documentation
* Add TLSSkipVerify to agent api
2016-11-03 13:17:30 -07:00
James Phillips
233a3a101b
Supports WAN and LAN Serf Bind Addresses. ( #2468 )
...
* * adding cli config and config file support for specifying the serf wan and lan bind addresses
* updating documentation for serf wan and lan options
Fixes #2007
* Cleans up some small things from #2380 .
* Uses the bind default for the agent test for Serf WAN and LAN.
2016-11-03 12:58:58 -07:00
James Phillips
c06a107638
Removes unnecessary clause in unit test check.
2016-11-03 12:26:48 -07:00
James Phillips
7b98ae921e
Adds support for DNS recurse truncation. ( #2467 )
...
* Return message from recurse even if truncated
Signed-off-by: Evan Farrar <efarrar@pivotal.io>
* Tweaks unit test.
2016-11-03 12:21:16 -07:00
James Phillips
4b5f9115b5
Adds missing datacenter arg to API client for snapshot commands. ( #2466 )
2016-11-03 11:01:09 -07:00
Kyle Havlovitz
073798594d
Merge pull request #2459 from hashicorp/f-aws-autodiscovery
...
AWS -retry-join-ec2 option
2016-11-03 13:27:23 -04:00
Kyle Havlovitz
1de39d23d1
Small tweaks to docs and syntax
2016-11-03 13:04:42 -04:00
Kyle Havlovitz
1b204eb88d
Disallow -bootstrap-expect flag in dev mode ( #2464 )
2016-11-03 01:54:43 -04:00
James Phillips
e8caf76339
Builds static assets to pick up #2456 (redux).
...
Built this time using the same container that the dist build uses so
it won't see a difference and fail the build.
2016-11-02 15:54:53 -07:00
Kyle Havlovitz
f3efab5f84
Add support for ECS task roles as an auth mechanism
2016-11-02 18:48:15 -04:00
Kyle Havlovitz
d4d6e2b482
Move EC2 discovery logic into retryJoin for robustness
2016-11-02 14:35:37 -04:00
Kyle Havlovitz
468bf736b4
Support more forms of EC2 authentication
2016-11-01 21:24:18 -04:00
Kyle Havlovitz
9c75e69f65
Add testing around EC2 discovery config
2016-11-01 18:26:15 -04:00
Kyle Havlovitz
043e6891d6
Fixed up config structure for EC2 discovery
2016-11-01 17:58:51 -04:00
Kyle Havlovitz
c908121c72
Merge branch 'master' of github.com:hashicorp/consul into aws_autodiscovery
2016-11-01 11:19:52 -04:00
James Phillips
723f70ed31
Builds static assets to pick up #2456 .
2016-10-31 18:20:36 -07:00
Kyle Havlovitz
e1f8a41a35
Retry periodically for 60s if syslog setup fails ( #2455 )
2016-10-31 17:24:00 -07:00
Kyle Havlovitz
606662c502
Add snapshot inspect subcommand ( #2451 )
2016-10-31 19:37:27 -04:00
Kyle Havlovitz
dce6702268
More flaky unit test fixes ( #2449 )
...
* More flaky unit test fixes
* Raise some test timeouts that were too low
2016-10-31 09:59:20 -07:00
Kyle Havlovitz
63534aca7e
Added tests for lookups on the 'addr.consul' domain
2016-10-27 21:04:06 -07:00
Kyle Havlovitz
84c87325ae
Add a service address SRV lookup test for IPv6
2016-10-27 21:04:06 -07:00
Kyle Havlovitz
f7ef84812d
Fix test cases
2016-10-27 21:04:06 -07:00
Kyle Havlovitz
2a26597769
Give the service address in SRV lookup when it differs from the node's
2016-10-27 21:04:06 -07:00
Kyle Havlovitz
554440ab1d
Resolve Consul CNAME records on external services ( #2444 )
2016-10-26 19:23:51 -07:00
James Phillips
c01a3871c9
Adds support for snapshots and restores. ( #2396 )
...
* Updates Raft library to get new snapshot/restore API.
* Basic backup and restore working, but need some cleanup.
* Breaks out a snapshot module and adds a SHA256 integrity check.
* Adds snapshot ACL and fills in some missing comments.
* Require a consistent read for snapshots.
* Make sure snapshot works if ACLs aren't enabled.
* Adds a bit of package documentation.
* Returns an empty response from restore to avoid EOF errors.
* Adds API client support for snapshots.
* Makes internal file names match on-disk file snapshots.
* Adds DC and token coverage for snapshot API test.
* Adds missing documentation.
* Adds a unit test for the snapshot client endpoint.
* Moves the connection pool out of the client for easier testing.
* Fixes an incidental issue in the prepared query unit test.
I realized I had two servers in bootstrap mode so this wasn't a good setup.
* Adds a half close to the TCP stream and fixes panic on error.
* Adds client and endpoint tests for snapshots.
* Moves the pool back into the snapshot RPC client.
* Adds a TLS test and fixes half-closes for TLS connections.
* Tweaks some comments.
* Adds a low-level snapshot test.
This is independent of Consul so we can pull this out into a library
later if we want to.
* Cleans up snapshot and archive and completes archive tests.
* Sends a clear error for snapshot operations in dev mode.
Snapshots require the Raft snapshots to be readable, which isn't supported
in dev mode. Send a clear error instead of a deep-down Raft one.
* Adds docs for the snapshot endpoint.
* Adds a stale mode and index feedback for snapshot saves.
This gives folks a way to extract data even if the cluster has no
leader.
* Changes the internal format of a snapshot from zip to tgz.
* Pulls in Raft fix to cancel inflight before a restore.
* Pulls in new Raft restore interface.
* Adds metadata to snapshot saves and a verify function.
* Adds basic save and restore snapshot CLI commands.
* Gets rid of tarball extensions and adds restore message.
* Fixes an incidental bad link in the KV docs.
* Adds documentation for the snapshot CLI commands.
* Scuttle any request body when a snapshot is saved.
* Fixes archive unit test error message check.
* Allows for nil output writers in snapshot RPC handlers.
* Renames hash list Decode to DecodeAndVerify.
* Closes the client connection for snapshot ops.
* Lowers timeout for restore ops.
* Updates Raft vendor to get new Restore signature and integrates with Consul.
* Bounces the leader's internal state when we do a restore.
2016-10-25 19:20:24 -07:00
Kyle Havlovitz
e2d9114b34
Agent anti-entropy test fixes
2016-10-25 17:48:11 -07:00
Kyle Havlovitz
3add830b3a
Test fixes ( #2434 )
...
* Test fixes in health_endpoint_test.go, agent_endpoint_test.go and rtt_test.go
* Don't reuse the same agent config in TestAgent_ReconnectConfigSettings
2016-10-25 13:46:54 -07:00
James Phillips
03ae813bc7
Merge pull request #2389 from hashicorp/jbs-2019
...
Lower Service tag DNS warning to DEBUG for #2019
2016-10-24 17:05:02 -07:00
Seth Vargo
de1718a8a6
Centralize command-line parsing
2016-10-13 18:03:29 -04:00
James Phillips
95d418d7da
Removes reap config option.
2016-10-06 21:45:18 -07:00
Brian Shumate
74a8fbef06
Lower Service tag DNS warning to DEBUG for #2019
2016-10-05 08:45:01 -04:00
Adam Wolfe Gordon
5ac5a8ccfc
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
1898d071ce
Fix kv put flags
2016-09-26 16:13:39 -07:00
Seth Vargo
d0ac899f79
Fix up kv put help output
2016-09-26 16:11:23 -07:00
Seth Vargo
f9a7be9315
Remove debugging code
2016-09-26 16:09:35 -07:00
Seth Vargo
39fb70ff67
Fix CAS operations for put
2016-09-26 16:06:56 -07:00
Seth Vargo
c7496c5652
Change delete CAS behavior to require ModifyIndex
2016-09-26 16:06:55 -07:00
Seth Vargo
6cdf354270
Fix copy-paste comments
2016-09-26 16:06:54 -07:00
Seth Vargo
297a22383f
Add kv delete command
2016-09-26 16:06:53 -07:00
Seth Vargo
82bddd7f9b
Add kv put command
2016-09-26 16:06:53 -07:00
Seth Vargo
c8fdc5c50d
Add kv get
2016-09-26 16:06:53 -07:00
Seth Vargo
87ad6d466c
Add kv command stubs
2016-09-26 16:06:53 -07:00
Seth Vargo
8c30edc54e
Add test function for returning an API client
2016-09-26 16:06:52 -07:00
James Phillips
5f0835fae7
Runs go-fmt (incidental to this PR).
2016-09-23 17:44:14 -07:00
James Phillips
1f5ae4827e
Makes string search for Windows case-insensitive.
...
Fixes #2356 .
2016-09-23 17:43:40 -07:00
James Phillips
216c5c7786
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
c780149b5d
Calls remove on checks and services in the local test.
2016-09-22 11:41:17 -07:00
James Phillips
c8ce41f459
Cleans up state management for remote deletes from local state.
...
Fixes #2125 .
2016-09-21 16:52:43 -07:00
James Phillips
b0b05f48f3
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
f0eb0ba549
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
f686d34483
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
4b2eaeda17
Does some go fmt cleanup.
2016-09-01 22:14:19 -07:00
James Phillips
d19995c067
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
fce0052a70
Adds a recursor timeout line to the merge test.
2016-09-01 21:53:33 -07:00
James Phillips
da34496645
Fixes a typo in a test error message.
2016-09-01 21:52:29 -07:00
Pivotal DX129
fe61650ef0
Merge remote-tracking branch 'upstream/master'
2016-09-01 10:15:32 -04:00
James Phillips
55ef6c54a6
Changes default for `leave_on_terminate` based on server or client mode.
2016-08-31 23:39:11 -07:00
James Phillips
84e8fc5848
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
ed7356dd5c
Changes default DNS allow_stale to true.
2016-08-30 13:55:19 -07:00
James Phillips
3c9188c38b
Makes the Raft configuration API easier to consume.
2016-08-30 11:30:56 -07:00
James Phillips
e5850d8a26
Adds new consul operator endpoint, CLI, and ACL and some basic Raft commands.
2016-08-30 00:02:50 -07:00
Pivotal DX129
f9b6cd636e
Fixed code formatting
2016-08-29 17:29:23 -04:00
Pierre Delagrave
db8ff0a582
Made the dns recursor timeout test more reliable
2016-08-29 13:23:14 -04:00
Pierre Delagrave
d9bd41fc4d
Renamed dns config parameter internal_client_timeout for recursor_timeout
2016-08-26 15:22:04 -04:00
Pierre Delagrave
3fe117c24d
Merge remote-tracking branch 'pierre/master'
2016-08-26 15:12:38 -04:00
James Phillips
970bb771f9
Tweaks formatting of Consul version.
2016-08-25 17:12:55 -07:00
James Phillips
d64d53a0de
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
17b70c7efd
Adds a max raft multiplier and tweaks documentation.
2016-08-25 15:36:05 -07:00
James Phillips
2822334bce
Stops scaling the commit timeout.
2016-08-25 15:05:40 -07:00
James Phillips
53c73f0ee5
Redacts the Circonus API token from stats JSON.
2016-08-24 23:27:25 -07:00
James Phillips
57db4bcce6
Adds performance tuning capability for Raft, detuned defaults, and supplemental docs.
2016-08-24 21:58:37 -07:00
Pierre Delagrave
c8c4b9d344
Added a configurable timeout to the client making DNS queries to downstream name servers
2016-08-23 16:59:38 -04:00
James Phillips
a48463f100
Removed bad error message for health check status.
2016-08-17 17:54:09 -07:00
James Phillips
defa2a6180
Merge pull request #2226 from abhinavdahiya/rm-health-unknown
...
Fixes #1775 ; Removes 'unknown' state
2016-08-17 17:51:04 -07:00
James Phillips
bedd0c5a9e
Makes protocol version a little clearer.
2016-08-17 11:29:09 -07:00
James Phillips
4c7a0ed3b0
Merge branch 'master' into f-deregister-critical
2016-08-16 12:53:21 -07:00
James Phillips
ba60afd5d8
Cleans up based on code review feedback.
2016-08-16 12:52:30 -07:00
James Phillips
9f7a973ace
Adds an `X-Consul-Translate-Addresses` to signal translation is enabled.
2016-08-16 11:31:41 -07:00
James Phillips
fbdd021ab9
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
4a3d7db24f
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
55e83c9e1c
Tweaks the WAN address translation unit tests.
2016-08-15 15:34:11 -07:00
James Phillips
c0ff412650
Factors translate out into a separate file and makes safe for in-memory RPCs.
2016-08-15 15:05:02 -07:00
Xingyu Chen
a570bf6fc2
Update gated_writer.go
2016-08-14 16:36:21 +08:00
David van Geest
cdeff022dd
Translate Address to tagged WAN address in HTTP API when appropriate.
2016-08-12 18:25:36 -07:00
James Phillips
3f50b9599a
Updates built-in UI static assets to latest.
2016-08-12 18:01:59 -07:00
James Phillips
456a4934f0
Runs `go fmt`.
2016-08-12 17:26:23 -07:00
James Phillips
a53c6a38e2
Tweaks DNS prepared query failover unit test.
2016-08-12 17:16:08 -07:00
Max Timchenko
3b08db47dc
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
b6c1543da8
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
17c10d78bc
Passes the index by reference so we can control the allocation.
2016-08-12 14:51:50 -07:00
James Phillips
f7fcb03004
Makes name compares case-insensitive.
2016-08-12 12:16:21 -07:00
R.B. Boyer
1c4b4ac54f
Validate gossip encryption key before made persistent in local.keyring
2016-08-12 11:42:45 -07:00
James Phillips
6332e2b367
Avoids allocations and function calls if no extra data is present.
2016-08-12 10:29:57 -07:00
James Phillips
e30b99cef5
Renames "seen" to "resolved".
2016-08-11 22:01:57 -07:00
James Phillips
34d6c2d5e1
Fixes the DNS SRV trim bug.
2016-08-11 21:46:14 -07:00
James Phillips
bcb0f71759
Finishes up DNS compression by adding opt-out, tests, and documentation. Fixes trim routine.
2016-08-11 16:27:08 -07:00
epipho
41db005d0b
Fix panic where r.Compress would be set before checking for errors.
2016-08-11 16:27:08 -07:00
epipho
d965e90306
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
db94764354
Merge pull request #2264 from hashicorp/pr-2045-slackpad
...
Enables stale mode for watchers.
2016-08-10 15:58:34 -07:00
James Phillips
2b65e7da05
Fixes a typo and adds stale documentation to website.
2016-08-10 15:46:28 -07:00
sweeneyb
14ec3290fa
Add support for dns port as a command line option
2016-08-10 04:05:56 +00:00
chenxingyu
0d5eca9683
fix go race bug
2016-08-10 10:44:20 +08:00
James Phillips
282a4b8a3f
Updates bindata after vendor update.
2016-08-09 19:03:10 -07:00
James Phillips
f73166ced9
Installs a wrapper around HTTP endpoints that generate metrics.
2016-08-09 15:41:15 -07:00
James Phillips
95930e3cb7
Merge pull request #2237 from hashicorp/f-acl-replication
...
Adds ACL replication.
2016-08-09 11:42:16 -07:00
James Phillips
f23786cd5a
Fixes JS exception when there are no coordinates present.
2016-08-08 17:38:22 -07:00
James Phillips
d29af2ddc7
Adds an ACL replication status endpoint.
2016-08-04 23:30:16 -07:00
James Phillips
18b817b575
Hides the acl_replication_token from JSON output, like in /v1/agent/self.
2016-08-03 21:24:09 -07:00
James Phillips
d336bdd7b0
Adds basic ACL replication plumbing.
2016-08-03 21:24:04 -07:00
Cameron Davison
d138752249
atomic write service state and checks files, fixes #1221
2016-08-03 10:34:12 -05:00
Hasyimi Bahrudin
bb6bb19aad
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
7c6c3b38bc
Fixes #1775 ; Removes 'unknown' state
...
Signed-off-by: Abhinav Dahiya <abhinavdtu2012@gmail.com>
2016-07-30 19:33:14 +05:30
James Phillips
2de8a3f7fb
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
e564282d76
add extra check for unexpected args to leave command
2016-07-24 00:36:59 +10:00
James Phillips
bd5e5bf19c
Adds consul info data into /v1/agent/self endpoint.
2016-07-20 15:12:26 -07:00
James Phillips
2087772297
Fixes startup version print to show the human version.
2016-07-20 08:09:05 -07:00
James Phillips
e137f4dafd
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
cfbe8f430e
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
129db848c7
Tweaks the docs a bit.
2016-07-19 15:54:52 -07:00
James Phillips
500ea080d2
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
b32731d09f
Makes sure version is always displayed consistently.
2016-07-19 15:06:32 -07:00
richard.hulm
e2f7e825a1
RH: Add revision (if it exists)
2016-07-19 10:04:56 +01:00
matt maier
f4525d2582
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
fb76256c26
Add Circonus support for Telemetry metrics
2016-07-18 09:34:43 -04:00
richard.hulm
25eeab5e49
Add the version (from config) to the Starting Consul Agent printout
2016-07-18 10:01:16 +01:00
Evan Gilman
95126e4ddf
Merge branch 'master' into let-watches-be-stale
...
Attempt to let the tests pass
2016-07-13 11:20:44 -07:00
Ryan Uber
5023c4add1
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
ab1654758f
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
7fd0c3ce70
agent: parseSource still subs for _agent
2016-07-01 10:04:58 -07:00
Ryan Uber
00819e89de
agent: test that DNS passes the agent data through
2016-07-01 09:46:26 -07:00
Ryan Uber
62884a22d4
consul: send agent source data as separate query source
2016-06-30 16:51:18 -07:00
Ryan Uber
104b234dde
agent: always pass local agent query source, allow override
2016-06-30 12:11:48 -07:00
Ryan Uber
c457ee0075
agent: fix test
2016-06-21 16:28:26 -07:00
Ryan Uber
d567d6a6d8
consul: send origin node + dc when executing prepared queries
2016-06-21 15:34:26 -07:00
Ryan Uber
4c1afb1bc6
consul: use the Near field instead of PreferLocal
2016-06-21 12:39:40 -07:00
James Phillips
aa1bb5a012
Merge pull request #2131 from hashicorp/b-misc-microoptimizations
...
Misc micro optimizations
2016-06-21 09:59:01 -07:00
Sean Chittenden
32f393b611
Pack Port to be slightly more optimal in terms of struct memory usage.
2016-06-20 15:31:17 -07:00
Sean Chittenden
112f3fd468
Give log reviewers a hint as to which check is failing
2016-06-20 15:25:21 -07:00
Sean Chittenden
56f480a633
Use stable, monotonically increasing port numbers for tests
2016-06-20 14:33:46 -07:00
Ryan Uber
865c264b9c
agent: set origin during PQ execution
2016-06-20 14:24:42 -07:00
Sean Chittenden
e9a2f5b40c
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
63adcbd5ef
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
cbb945e76a
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
f5ab25163e
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
ddbe64a8c8
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
518e122053
Updates web assets to pull in RTT viz.
2016-06-07 09:32:44 -07:00
James Phillips
a78b969984
Removes stale scada client and test sections that use (now) unexported fields.
...
Fixes #2092 .
2016-06-06 19:18:31 -07:00
Jeff Mitchell
ebf7ea1d75
Use upstream high-level SCADA provider
2016-06-01 18:25:39 -04:00
Nathan Zadoks
c4b362d5d2
Parse ACL tokens for the catalog register/deregister endpoints
...
Fix #1738
2016-05-17 13:16:33 -04:00
James Phillips
0f5aabcbbd
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
0e34cc3486
Remove completely unused structs
2016-05-15 09:14:36 -07:00
Sean Chittenden
92298e3d02
Speling police
2016-05-15 09:13:52 -07:00
James Phillips
653387637a
Reduces the number of operations in a transaction to 64.
2016-05-14 21:40:46 -07:00
James Phillips
778b975e7a
Adds a get-tree verb to KV transaction operations.
2016-05-13 16:57:39 -07:00
James Phillips
570d46aa5f
Adds some size limiting features to transactions to help prevent abuse.
2016-05-13 13:39:01 -07:00
James Phillips
a37bf9de56
Adds a read-only optimized path for transactions.
2016-05-13 00:34:05 -07:00
James Phillips
8a7428e508
Hoists KV processing helper functions up as static functions.
2016-05-12 16:10:06 -07:00
Justin Lambert
9ece75fc78
allow automatically discovering aws ec2 consul servers
2016-05-11 19:41:41 -06:00
James Phillips
4882a9fe43
De-nests the KV output structure (removes DirEnt member).
2016-05-11 13:48:03 -07:00
James Phillips
960b9d6fb6
Switches to "KV" instead of "KV" for the KV operations.
2016-05-11 10:58:27 -07:00
James Phillips
38d0f6676f
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
69f58ad04a
Moves txn code into a new endpoint, not specific to KV.
2016-05-10 21:58:02 -07:00
James Phillips
1fefdcb962
Terminates pretty responses with a newline.
2016-05-10 20:02:36 -07:00
James Phillips
7a797da3e5
Adds unit tests for HTTP endpoint.
2016-05-10 12:59:34 -07:00
Evan Gilman
965fcf9d6b
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
e491245062
Performs basic plumbing of KVS transactions through all the layers.
2016-05-09 22:15:49 -07:00
Sean Chittenden
01b8311c94
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
7bf684ece1
Fixes some bad error returns in the persist service and check paths.
2016-04-26 15:03:26 -07:00
James Phillips
ceac68c5eb
Merge pull request #1762 from mshean/script-timeout
...
Add Timeout field to CheckMonitor
2016-04-24 23:08:06 -07:00
Sean Chittenden
e63d3a1275
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
c11e1506c5
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
cf00c11221
Sets an anti-footgun floor for the configurable reap time.
2016-04-20 13:49:51 -07:00
Matt Shean
fe4107019e
add Timeout field to CheckMonitor
2016-04-20 11:41:30 -07:00
Ryan Uber
8cc16b8238
agent: limit HTTP check output to 4k
2016-04-14 14:28:07 -07:00
James Phillips
8c8b146f77
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
f541acb0ec
Makes a detached copy of the tags when doing the override.
2016-04-11 14:53:18 -07:00
James Phillips
a885f1bdff
Tweaks comment about side effects.
2016-04-11 08:58:17 -07:00
James Phillips
eedeba682b
Makes reap time configurable for LAN and WAN.
2016-04-11 00:38:25 -07:00
James Phillips
529b24adbf
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
244174d2c0
Uses the HealthCheck Clone() method in local_test.go.
2016-04-11 00:20:24 -07:00
James Phillips
ed86e5cc72
Adds a clone method to HealthCheck and uses that in local.go.
2016-04-11 00:05:39 -07:00
James Phillips
cfe0651208
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
49cc50b0d3
#1878 Set default bind address to 127.0.0.1 in development mode
2016-04-07 21:25:33 +03:00
James Phillips
d386019be1
Removes a bogus warning for Windows.
2016-04-05 18:04:23 -07:00
James Phillips
6a3b2b0618
Updates static assets to pull in #1702 .
2016-04-04 12:21:23 -07:00
Sean Chittenden
829478793b
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
416c578f7a
Retry http server connecting in agent/http_test
2016-04-01 19:17:38 -07:00
Chavez
31c9829751
Test agent RPC client connection retries
2016-04-01 19:17:38 -07:00
Chavez
f201b4b565
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
45bd128f12
Rely exclusively on error to signal failure
...
Pointed out by: slackpad
2016-04-01 10:34:45 -07:00
Sean Chittenden
7a814fce63
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
5994c9efbf
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
ec9b9be736
Guard against a node name containing pure whitespace for real
2016-03-31 15:10:19 -07:00
Sean Chittenden
ff529ffa40
Guard against a node name containing pure whitespace
2016-03-31 15:02:58 -07:00
Sean Chittenden
583abab552
Node names are not allowed to be empty
2016-03-31 14:47:55 -07:00
Sean Chittenden
53380f8e92
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
7a7063c072
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
19721f5c3d
Editorialize the comment re: UDPAnswerLimit
...
Prodded by: slackpad & fusiondog
2016-03-30 01:15:40 -07:00
Sean Chittenden
5ba7e74bb8
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
0cb965f901
Remove duplicate paste-o
...
Pointed out by: slackpad
2016-03-29 23:31:31 -07:00
Sean Chittenden
ce88cde7b0
Test services and PQT limits
2016-03-29 23:08:58 -07:00
Sean Chittenden
e1e441fdee
Improve the use of constants across DNS tests
2016-03-29 23:08:40 -07:00
Sean Chittenden
c2d4354563
Use a non-default config value
2016-03-29 23:06:31 -07:00
Sean Chittenden
1dd4234683
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
69696a9c1b
Correctly detect that an answer has been truncated
2016-03-29 19:52:31 -07:00
Sean Chittenden
efe940e7c4
Remove dead and incorrect code
...
This functionality is handled further upstream in `trimUDPAnswers()`
2016-03-29 19:38:26 -07:00
Sean Chittenden
c5c8daf07a
Trim UDP responses per configuration
2016-03-29 19:27:21 -07:00
Sean Chittenden
9fb64ab114
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
74623c372a
Adding singleton option to DNS for getaddrinfo bug.
2016-03-29 19:23:07 -07:00
Sean Chittenden
a92cda7bcd
Fix whitespace alignment in a comment
2016-03-23 16:00:39 -07:00
James Phillips
77eb95ddd8
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
cd7b3d4b49
Widens coordinate update sleeps in unit tests.
2016-03-21 18:23:11 -07:00
Hrishikesh Barua
9f9aa5084b
Added help text for -dev option #1804
2016-03-21 17:27:57 +05:30
James Phillips
b6cd4318d6
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
b5d45322b4
Allow [::] as a bind address (binds to first public IPv6 address)
2016-03-18 23:59:44 +01:00
Miquel Sabaté Solà
615c93a77d
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à
4567963d8e
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
6e2c106006
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
4cb16808f4
Adds default set of accept headers for HTTP checks.
2016-03-09 21:11:20 -08:00
James Phillips
5c80647e34
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
3a25860270
Make sure UDP DNS responses aren't larger than allowed
2016-03-07 16:41:17 -08:00
James Phillips
98784c6416
Updates to latest compiled ui assets.
2016-03-07 13:49:08 -08:00
James Phillips
eb7004f2b8
Renames "debug" endpoint and structures to "explain".
2016-03-07 10:45:39 -08:00
James Phillips
d7288e3a5e
Adds a prepared query debug endpoint.
2016-03-07 10:45:39 -08:00
Calvin Leung Huang
ff38fbc6a3
Correct the rtt -wan error message
2016-03-04 16:27:30 -05:00
James Phillips
f46fa33278
Tweaks formatting of inline output messages.
2016-03-02 19:47:00 -08:00
James Phillips
70575002d9
Retains the last output when a TTL check times out.
2016-03-02 17:58:01 -08:00
James Phillips
7ebad899da
Adds a new PUT-based TTL check update endpoint.
2016-03-02 17:54:01 -08:00
Stefan Engstrom
525cb0abc1
add accept header */* for agent check
2016-02-19 10:31:00 -06:00
James Phillips
052140f8a7
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
e79dd7c8de
Fixes redirect from / to /ui when internal UI is enabled.
2016-02-12 16:11:32 -08:00
Chris Cooper
2c6f873ecd
add missing test
2016-02-09 10:49:41 -05:00
Chris Cooper
fe0e3aaaa0
fixes issue #1661 and adds supporting test
2016-02-09 10:35:39 -05:00
James Phillips
56cbabff63
Adds a sanity check to the local node info compare.
2016-02-07 15:07:23 -08:00
James Phillips
d2cc2801fa
Merge pull request #1698 from hashicorp/pr-1547-slackpad
...
Implements WAN address translation.
2016-02-07 14:26:04 -08:00
James Phillips
607728ddca
Adds a test to make sure we get the local address within the DC.
2016-02-07 14:16:15 -08:00
James Phillips
524aaae9b7
Increases wait to account for random stagger.
2016-02-07 13:56:45 -08:00
James Phillips
6790930c4e
Factors address translation into a single function.
2016-02-07 13:39:37 -08:00
James Phillips
4be2ab1a75
Moves tagged wan address to be managed by anti-entropy, not serf.
2016-02-07 13:12:42 -08:00
James Phillips
b59599742d
Adds a test to make sure the local sync doesn't clobber tagged addresses.
2016-02-07 11:26:19 -08:00
James Phillips
c60a526fde
Sets up config for more address tags down the road, renames struct members.
2016-02-07 10:37:34 -08:00
Evan Gilman
de8fd561d0
Use a map for additional node addresses
2016-02-06 23:01:45 -08:00
Evan Gilman
2f26771bb1
Add tests for consul WAN translation
2016-02-06 23:01:45 -08:00
Evan Gilman
146f719a66
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
a3240d28ba
Consider WAN addresses during Node and SRV record lookup
2016-02-06 23:01:45 -08:00
Evan Gilman
496cf5ae73
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
8fa2a60208
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
ed8a71efd7
Store WanAddress during Service/Check sync
2016-02-06 23:01:45 -08:00
James Phillips
507c83bdbd
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
d60be51f01
Merge pull request #1284 from nbrownus/telemetry
...
Option to disable hostnames from telemetry
2016-02-06 22:00:14 -08:00
David Wittman
8667394955
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
7bc2ba4c18
Merge pull request #1654 from ryanslade/invalid-check-message
...
Updated invalid check error message.
2016-02-05 17:21:29 -08:00
Chris Cooper
5a07e89bb9
Merge branch 'master' of https://github.com/alistanis/consul into use-http-package-statuses
2016-02-05 17:30:43 -05:00
Chris Cooper
e2065e10c0
add comment codes
2016-02-05 17:06:42 -05:00
Chris Cooper
00dd9d6b78
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
8deec17f73
Use panic instead of returning a sentinel UUID values in unit tests
2016-02-01 16:42:04 -08:00
Sean Chittenden
7af6a94edb
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
43a4f3fe02
Option to disable hostnames from telemetry
2016-01-29 13:44:48 -08:00
Ryan Slade
dd98602bd7
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
f24a044755
Fixes the static asset generator for new pkg path, updates assets.
2016-01-15 10:21:42 -08:00
Seth Vargo
cae0ff354a
Use HTTPS + www. where appropriate
2016-01-13 17:44:01 -05:00
James Phillips
71e3901a65
Merge pull request #1592 from hashicorp/b-reap
...
Adds support for the reap lock.
2016-01-13 09:37:54 -08:00
James Phillips
343838f12b
Adds support for the reap lock.
2016-01-12 21:10:25 -08:00
Matt McCoy
9cbed7f89e
Add consul agent help for advertise-wan
2016-01-11 14:27:54 -05:00
James Phillips
49342dc973
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
1d733f4c36
Defaults monitor retries to 3 retries @ 1s for the consul lock command.
2016-01-05 18:34:22 -08:00
James Phillips
4afeddacc8
Adds monitor retries to the consul lock command.
2016-01-05 18:22:36 -08:00
James Phillips
8caa9e4c7e
Adds "try" support to locks and semaphores.
2016-01-05 18:22:36 -08:00
James Phillips
c1fe9092ed
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
a2eddcab38
remove address splitting
2016-01-05 11:49:40 -05:00
Philippe M. Chiasson
21345a8a7f
Move logged client IP to the end of the log message
2015-12-30 15:39:34 -05:00
Philippe M. Chiasson
34c36d9205
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
9002bfa37d
agent: enable ui for dev mode
2015-12-26 20:39:42 -05:00
Ryan Uber
afafae53fd
consul: dev mode works
2015-12-26 20:19:36 -05:00
Ryan Uber
87c1283b73
agent: update assetfs output
2015-12-24 22:21:34 -05:00
Ryan Uber
3cf6a173a5
agent: static UI is configurable
2015-12-24 22:21:34 -05:00
Ryan Uber
2d7ced22b3
agent: initial web assets
2015-12-24 22:21:34 -05:00
Ryan Uber
c3e7c98da2
agent: compile web assets into consul binary
2015-12-24 22:21:34 -05:00
Philippe M. Chiasson
9553ac0ca8
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
d61661a98f
Adds a Bool helper function.
2015-12-22 10:43:32 -08:00
James Phillips
e80d1a58fb
Moves logger down where it's used for reaping.
2015-12-22 10:29:55 -08:00
James Phillips
0b1c346990
Changes sense of option to "reap" and uses nil for "not set".
2015-12-22 10:28:10 -08:00
James Phillips
2b257c922e
Adds child process reaping when Consul is running as PID 1.
2015-12-21 21:47:35 -08:00
James Phillips
651f255b9b
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
a4dc11167f
Adds telemetry on number of DNS queries served, per-agent.
2015-12-21 17:01:28 -08:00
WangFenjin
29c0516d58
Fix typo
2015-12-08 17:45:01 +08:00
James Phillips
a61d89d0e6
Removes the GOMAXPROCS warnings which are obsolete for Go 1.5+.
2015-11-25 17:59:16 -08:00
Philippe M. Chiasson
65512cae73
Add client ip to http access logs
...
Fixes #1447
2015-11-24 15:06:33 -05:00
James Phillips
95c708f65e
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
049da2cef2
Breaks up huge HTTP endpoint functions.
2015-11-17 09:16:04 -08:00
James Phillips
cd6be4a88d
Avoids taking the length again when parsing DNS queries.
2015-11-17 08:40:47 -08:00
James Phillips
e1ce1a34b0
Moves conversion of nil slices up to HTTP layer for prepared queries.
2015-11-15 17:06:00 -08:00
James Phillips
4715c04c98
Adds a test to make sure a stale retry terminates.
2015-11-15 17:06:00 -08:00
James Phillips
67fd4fa78d
Returns a 404 from a get or execute of a nonexistent query.
2015-11-15 17:06:00 -08:00
James Phillips
e9480ecb02
Plumbs the service name back and uses agent-specific TTL settings as a fallback.
2015-11-15 17:06:00 -08:00
James Phillips
81b43135f9
Adds unit tests for prepared queries and DNS, using existing tests for equivalence.
2015-11-15 17:06:00 -08:00
James Phillips
4a0a60af55
Adds DNS support for prepared queries (needs tests).
2015-11-15 17:06:00 -08:00
James Phillips
5e7523ea4b
Adds a slightly more flexible mock system so we can test DNS.
2015-11-15 17:06:00 -08:00
James Phillips
da20e6668b
Adds a note about obfuscating query name/ID from the logs.
2015-11-15 17:06:00 -08:00
James Phillips
57be55103c
Adds an HTTP endpoint for prepared queries.
2015-11-15 17:06:00 -08:00
James Phillips
989619cb6b
Moves DNS over to new shuffle and filter functions.
2015-11-15 17:06:00 -08:00
James Phillips
c248b0017a
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
8defe75387
Merge pull request #1293 from talwai/master
...
Add options to send telemetry to DogStatsD
2015-11-13 09:51:50 -08:00
talwai
f6f2e19c6c
Kill unused import in command.go
2015-11-13 11:14:15 -05:00
James Phillips
98731f7272
Fixes unit test fail due to expected truncated message.
2015-11-12 18:16:44 -08:00
talwai
bc12c5e711
Add DogStatsd configuration
2015-11-11 14:30:36 -05:00
James Phillips
3d1702969f
Fixes a go vet finding.
2015-10-29 12:47:20 -07:00
James Phillips
d06fc28a0a
Prevents agents from considering Raft information when doing sync checks.
2015-10-28 14:32:00 -07:00
James Phillips
c0bd639662
Makes the version upshift code look at the correct version field.
2015-10-27 14:44:34 -07:00
Diptanu Choudhury
ab7ab8e58e
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
3d68d06ac7
Forcing the Env variable to empty while testing the default shell logic
2015-10-26 20:35:13 -07:00
Diptanu Choudhury
2fdcf1ae28
Added a test for selecting shell from env
2015-10-26 20:21:50 -07:00
Diptanu Choudhury
471442e9a4
Making an explicit check to test whether a check is of type Monitor
2015-10-26 19:52:32 -07:00
Diptanu Choudhury
1e240b5c59
Fixed the tests
2015-10-26 18:20:02 -07:00
Diptanu Choudhury
f0c783d1a8
Added a test to check if we are properly truncating docker exec outputs
2015-10-26 18:06:55 -07:00
Diptanu Choudhury
582786523a
Added a test for exit code 1 with docker exec
2015-10-26 16:58:09 -07:00
Diptanu Choudhury
9efbd1affa
Fixed the Fake Docker client to simulate Exec start failures
2015-10-26 16:54:51 -07:00
Diptanu Choudhury
423f7fbcac
Not adding the docker check if we couldn't create the client
2015-10-26 16:45:12 -07:00
Diptanu Choudhury
f5f5ed0c79
Making sure the script is not empty if it's a docker check
2015-10-26 16:27:48 -07:00
Diptanu Choudhury
b4af7f44af
Updated the comment for CheckType
2015-10-26 15:28:13 -07:00
Diptanu Choudhury
4c1818eb61
Collect and truncate the output from docker exec
2015-10-26 15:19:35 -07:00
Diptanu Choudhury
5f8f531d2a
Defaulting to Monitor check
2015-10-26 15:02:23 -07:00
Diptanu Choudhury
809e9f5284
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
31cdf4fe64
Added some tests for docker check
2015-10-26 12:59:40 -07:00
James Phillips
f6b589d768
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
40f72a8323
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
d695012e40
Adding a debug log to indicate the exit code of failed check
2015-10-26 10:35:51 -07:00
Diptanu Choudhury
83db728133
Registering the Exec with Docker Daemon everytime the check is invoked
2015-10-26 10:23:57 -07:00
Diptanu Choudhury
71ede8addb
Implemented Docker health checks
2015-10-26 10:23:57 -07:00
James Phillips
088603949c
Runs go fmt (sorts new go-cleanhttp imports).
2015-10-23 17:14:35 -07:00
James Phillips
ecd3a1d1d2
Completes rebase of network coordinates to new memdb.
2015-10-23 15:23:01 -07:00
James Phillips
439110f384
Gives RTT class a more Go-like name.
2015-10-23 15:23:01 -07:00
James Phillips
99cfbb8a47
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
88845f7d71
Cleans up after code review, adds a -short option to "consul rtt" command.
2015-10-23 15:23:01 -07:00
James Phillips
fb8900156a
Adds a "consul rtt" command.
2015-10-23 15:23:01 -07:00
James Phillips
660da92152
Makes the default protocol 2 and lets 3 interoperate with 2.
2015-10-23 15:23:01 -07:00
James Phillips
e21b450f69
Runs go fmt after latest rebase.
2015-10-23 15:23:01 -07:00
James Phillips
e8322ffe00
Adds a test for the `DisableCoordinate` config.
2015-10-23 15:23:01 -07:00
James Phillips
f9da231a1c
Adds coordinate of agent to self endpoint.
2015-10-23 15:23:01 -07:00
James Phillips
6289764ea2
Moves sorting up into coordinate endpoint HTTP handlers.
2015-10-23 15:23:01 -07:00
James Phillips
d45fc23abf
Installs a friendly handler for coordinate endpoints when coordinates are disabled.
2015-10-23 15:23:01 -07:00
James Phillips
ce0e9759f8
Fixes config merge fn for disabling coordinates and adds it to JSON.
2015-10-23 15:23:01 -07:00
James Phillips
33e3505aea
Adds endpoints for raw network coordinates.
2015-10-23 15:23:01 -07:00
James Phillips
9c9195746f
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
9caa5b3653
Adds distance sorting to health endpoint. Cleans up unit tests.
2015-10-23 15:23:01 -07:00
James Phillips
e47eea3f3a
Adds a magic "self" node name to distance queries.
2015-10-23 15:23:01 -07:00
James Phillips
54ef97b268
Adds tests for HTTP interface. Removes a stray mark.
2015-10-23 15:23:01 -07:00
James Phillips
89c7203f31
Adds coordinate sorting support to catalog queries for nodes and service nodes.
2015-10-23 15:23:01 -07:00
James Phillips
d734697820
Turns down the coordinate sync rate a bit more.
2015-10-23 15:23:01 -07:00
James Phillips
ad65d953f6
Scales coordinate sends to hit a fixed aggregate rate across the cluster.
2015-10-23 15:23:01 -07:00
James Phillips
66a3d29743
Simplifies the batching function and adds some comments.
2015-10-23 15:23:01 -07:00
James Phillips
5f754c4a87
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
7e6d52109b
Hardens Consul from bad coordinates from other nodes.
2015-10-23 15:23:01 -07:00
James Phillips
d12aa2ffab
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
b9d5fb0f90
Flips the sense of the coordinate enable option.
2015-10-23 15:23:01 -07:00
James Phillips
92567841d6
Removes one more WAN leftover.
2015-10-23 15:23:01 -07:00
James Phillips
86b112fe31
Does a clean up pass on the Consul side.
2015-10-23 15:23:01 -07:00
James Phillips
01d2452ea3
Merges config changes after rebase.
2015-10-23 15:23:01 -07:00
Derek Chiang
f144d17b1c
Address comments
2015-10-23 15:23:01 -07:00
Derek Chiang
ab9262c656
Add a test case
2015-10-23 15:23:01 -07:00
Derek Chiang
bf5cb7522f
Use IndexedCoordinate instead
2015-10-23 15:23:01 -07:00
Derek Chiang
a1854a7614
Some fixes
2015-10-23 15:23:01 -07:00
Derek Chiang
a338e5efe8
Fix a comment
2015-10-23 15:23:01 -07:00
Derek Chiang
98d87b5dd5
Complete logic for sending coordinates
2015-10-23 15:23:01 -07:00
Derek Chiang
9113b26286
Some fixes
2015-10-23 15:23:01 -07:00
Derek Chiang
a9ea503c69
Adding tests and stuff
2015-10-23 15:23:01 -07:00
Armon Dadgar
6a350d5d19
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
1e3840b044
Update cleanhttp repo location
2015-10-22 14:14:22 -04:00
Jeff Mitchell
9a5fd5424a
Use cleanhttp to get rid of DefaultTransport
2015-10-22 10:47:50 -04:00
David Adams
b7bcb2a414
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
4ee43e90b7
Deletes the old state store and all its accoutrements.
2015-10-15 14:59:09 -07:00
James Phillips
0c90bdc61a
Knocks out the Raft indexes before doing compare.
2015-10-15 14:59:09 -07:00
James Phillips
d57431e300
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
d6af59cded
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
f49fc095ef
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
de287e3efb
agent: consolidates data dir checker
2015-10-15 14:21:35 -07:00
Ryan Uber
10b971df21
agent: test mdb dir protection
2015-10-15 14:15:41 -07:00
Ryan Uber
d901fa6389
agent: remove migrator, refuse to start if mdb dir found
2015-10-15 14:15:08 -07:00
Armon Dadgar
d137a5fa82
agent: remove an N^2 check. See #1265
2015-10-12 20:30:11 -07:00
Michael Puncel
a98d25b541
Add http method to log output
2015-10-02 18:33:06 -07:00
James Phillips
0b05dbeb21
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
c4537ed26f
panic when unbalanced localState.Resume() is detected
2015-09-17 11:32:08 +02:00
Dale Wijnand
5a28ebcaa3
Fix a bunch of typos.
2015-09-15 13:22:08 +01:00
James Phillips
2f9ebdb135
Merge pull request #1187 from sfncook/enable_tag_drift_03
...
Enable tag drift 03
2015-09-11 15:35:32 -07:00
Anthony Scalisi
10e028d599
remove various typos
2015-09-11 12:29:54 -07:00
Wojciech Bederski
b014c0f91b
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
24bc17eaa1
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
66fd8fb2a0
Rename EnableTagOverride and update formatting
2015-09-11 08:35:29 -07:00
Shawn Cook
d7ce0b3c6b
Remove debug lines
2015-09-11 08:32:59 -07:00
Shawn Cook
0b3faf6e4a
Merge remote-tracking branch 'hashicorp/master' into enable_tag_drift_03
2015-09-10 14:55:30 -07:00
James Phillips
27c59f7b30
Adds missing token to maint unit test.
2015-09-10 14:53:00 -07:00
Shawn Cook
35f276f25d
Add test cases TestAgentAntiEntropy_EnableTagDrift
2015-09-10 14:08:16 -07:00
Ryan Uber
1908c16f53
Merge pull request #1230 from hashicorp/f-maintfix
...
Respect tokens in maintenance mode
2015-09-10 12:30:07 -07:00
Ryan Uber
039938a7e0
agent: testing node/service maintenance using tokens
2015-09-10 12:08:08 -07:00
Ryan Uber
125d7fd4ee
agent: thread tokens through for maintenance mode
2015-09-10 11:43:59 -07:00
Wim
0bc4d9322e
Allow AAAA queries for nodeLookup
2015-09-08 16:54:36 +02:00
Ryan Breen
446c640c17
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
5cb6ab625e
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
2701bb5cc2
No NXDOMAIN when the answer is empty
2015-09-02 16:12:22 +02:00
Ryan Breen
80d26f9156
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
52a8a95af9
agent: Always enable the UI endpoints
2015-09-01 18:28:32 -07:00
Michael S. Fischer
43ab372a18
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
4a1dc90cba
Limit the DNS responses after getting the NodeRecords
2015-09-01 23:23:05 +02:00
Ryan Breen
f41b79eff2
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
369982270d
Return SOA/not found when the answer is empty
2015-09-01 22:28:12 +02:00
James Phillips
26ce9d16be
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
11e4cfd72b
agent: reload SCADA client if endpoint changes
2015-08-27 13:29:07 -07:00
Ryan Uber
c468acf222
command: atlas endpoint can be passed
2015-08-27 11:11:05 -07:00
Ryan Uber
1cc2429364
agent: atlas_endpoint is configurable
2015-08-27 11:08:01 -07:00
Ryota Arai
33a6cde7dd
command/lock: Pass stdin to child process when -pass-stdin passed.
2015-08-26 16:27:21 +09:00
Ryan Uber
5ad8bfbd41
agent: log a message when making a new scada connection
2015-08-25 21:03:16 -07:00
Ryan Uber
4b715a7d2c
agent: don't reload scada client if there is no config change
2015-08-25 20:43:57 -07:00
Ryan Uber
ed70720d55
agent: testing scada client creation in command
2015-08-25 20:22:22 -07:00
Ryan Uber
52a7206ff3
agent: test scada HTTP server creation
2015-08-25 18:51:04 -07:00
Ryan Uber
eb8974160f
agent: clean up scada connection manager
2015-08-25 18:27:07 -07:00
Ryan Uber
87c1e4fcd3
agent: document the scada http creation func
2015-08-25 17:19:11 -07:00
Ryan Uber
2e6ccded2c
agent: scada client and HTTP server are tracked separately
2015-08-25 16:59:53 -07:00
Andy Lo-A-Foe
85321301e1
Remove duplicate code
2015-08-20 20:46:20 +02:00
Andy Lo-A-Foe
3e046d3efc
Use Ports.HTTP directly
2015-08-20 20:27:20 +02:00
Andy Lo-A-Foe
4e2c3373bc
Add documentation for http-port option
2015-08-20 20:19:35 +02:00
Shawn Cook
ab91590bcb
Update tests - NodeService init needs bool
2015-08-20 09:09:26 -07:00
Shawn Cook
96785edd9a
Add EnableTagDrift logic to command/agent/local.go
2015-08-18 14:03:48 -07:00
Shawn Cook
a0f8c0a2a0
Remove from command/agent/config_test.go
2015-08-18 10:42:25 -07:00
Shawn Cook
6a835939b8
EnableTagDrift in NodeService struct
2015-08-18 10:34:55 -07:00
Ryan Uber
134db62937
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
05216d3cc4
agent: log network address of DNS clients
2015-08-11 10:33:27 -07:00
Andy Lo-A-Foe
7b5da2a240
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
066e772536
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
6875e8d6b4
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
4cb6f3e943
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