Commit Graph

139 Commits

Author SHA1 Message Date
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 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 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
Chris Cooper 2c6f873ecd add missing test 2016-02-09 10:49:41 -05:00
Evan Gilman 2f26771bb1 Add tests for consul WAN translation 2016-02-06 23:01:45 -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
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 Uber 3cf6a173a5 agent: static UI is configurable 2015-12-24 22:21:34 -05:00
James Phillips d61661a98f Adds a Bool helper function. 2015-12-22 10:43:32 -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 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
talwai bc12c5e711 Add DogStatsd configuration 2015-11-11 14:30:36 -05:00
Diptanu Choudhury 71ede8addb Implemented Docker health checks 2015-10-26 10:23:57 -07:00
James Phillips e8322ffe00 Adds a test for the `DisableCoordinate` config. 2015-10-23 15:23:01 -07:00
Ryan Uber 1cc2429364 agent: atlas_endpoint is configurable 2015-08-27 11:08:01 -07:00
Hans Hasselberg 267e0caf81 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
Armon Dadgar 59d5992355 agent: Adding new VerifyHostname config 2015-05-11 15:13:58 -07:00
Armon Dadgar a86f31517b Merge pull request #816 from pepov/master
Support different advertise address for WAN gossip
2015-05-04 15:40:25 -07:00
Ryan Uber 72524e911d agent: allow configuring the stats prefix 2015-05-03 16:46:20 -07:00
pepov a1f6647a2c 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 bac3ae9494 Add configuration option to specify a separate address for advertising on the wan 2015-03-28 16:08:19 +01:00
Michael Fraenkel 8c26836783 Support SesionTTLMin configuration
- Allow setting SessionTTLMin
- Validate on the Server
2015-03-27 05:13:57 -07:00
Armon Dadgar 8d184a241f agent: Rename AtlasCluster to AtlasInfrastructure 2015-02-18 15:12:15 -08:00
Armon Dadgar 85a47ba584 agent: Adding atlas_join configuration 2015-02-18 15:12:14 -08:00
Armon Dadgar b4929c090a agent: Adding new Atlas configs 2015-02-18 15:12:14 -08:00
Ryan Uber 84f8c70a79 agent: fix test case examples 2015-02-05 23:29:04 -08:00
arnaud briche bbb5f4696a - add tests for CheckHTTP with new timeout parameter && CheckType.Timeout parsing 2015-02-02 15:30:44 +07:00
Armon Dadgar cf04d6ae31 Merge pull request #622 from hashicorp/f-sockets
Unix domain sockets
2015-01-21 16:30:03 -08:00
Ryan Uber 674be58e55 agent: support multiple checks per service 2015-01-20 21:48:42 -08:00
Ryan Uber c958824bb6 agent: use squash mapstructure tag to properly decode embedded structs 2015-01-20 21:10:58 -08:00
Ryan Uber b1dae530d4 agent: use interface for file permissions 2015-01-20 18:53:18 -08:00
Ryan Uber 99d4e7831e agent: fix tests 2015-01-20 16:50:21 -08:00
Ryan Uber 145c56b47d agent: test Unix domain socket permission settings 2015-01-20 14:32:15 -08:00
Ryan Uber 4675cdf01c agent: beginning refactor 2015-01-16 00:45:03 -08:00
Jeff Mitchell 9fcea08dbb Ensure a socket is created for permissions adjustment tests and fix some
items pointed out in the code review

This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-15 14:33:44 +00:00
Jeff Mitchell 0cc009c480 Remove unnecessary ClientListenerAddr function. Rework config test functions to be cleaner. Start of runtime tests.
This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-14 19:31:21 +00:00
Jeff Mitchell 8362e3e9eb Tests for populateUnixSocket. Still need to write tests for the other major function, and basic socket listening tests.
This code is copyright 2014 Akamai Technologies, Inc. <opensource@akamai.com>
2015-01-14 19:31:21 +00:00
Evan Broder ee6d59d4dd Add "only_passing" option to DNS config
This excludes nodes from DNS results if their healthchecks are in any
non-passing state, not just if they're critical.
2015-01-10 13:17:11 +01:00
Ryan Uber db3c502dcc Merge pull request #576 from hashicorp/f-verify-config
agent: reject config with invalid options
2015-01-05 14:51:28 -08:00
Ryan Uber b8740b62da agent: reject config with invalid options 2015-01-05 12:30:03 -08:00
Emil Hessman cb764c35e5 add ability to specify response headers on the HTTP API
Add an config object that allows adding HTTP header response fields to every
HTTP API response.

Each specified header is added to every response from all HTTP API endpoints.
Each individual endpoint may overwrite the specified header, which makes sure
that Consul headers such as 'X-Consul-Index' is enforced by the API.
2014-12-28 19:17:08 +01:00
Armon Dadgar c449f07b38 agent: Fixing config merge test 2014-11-19 13:38:58 -08:00
Armon Dadgar 6be29e17c2 Merge pull request #478 from amalaviy/https
Added HTTPS support via a new HTTPS Port configuration option
2014-11-19 11:17:10 -08:00
Atin Malaviya 0904c651a8 Change names to StartJoinWan, RetryJoinWan etc 2014-11-17 17:14:59 -05:00
Atin Malaviya f4fd8453ed Added HTTPS support via a new HTTPS Port configuration option similar to the HTTP Port. 2014-11-17 14:29:35 -05:00
Atin Malaviya 5b41170f47 Add start-wan-join, retry-wan-join and related configuration options and commandline options 2014-11-14 10:56:39 -05:00
Armon Dadgar cd936793ad Support old recursor config for backwards compatibility 2014-11-03 11:28:21 -08:00
foostan 35b006d884 Add multiple recursor definition support 2014-11-01 04:26:26 +09:00
Ryan Uber 28f31a8dd8 agent: add support for multiple checks and config mixing 2014-10-26 13:11:25 -07:00
Ryan Uber c1dfa55859 agent: test config as a whole in services test 2014-10-26 12:00:11 -07:00
Alexander Simmerl 461c1e18a5 Add multiple service definition support
This change-set adds another key to the configuration decoding called
`services`, which is expected to be a list of service definitions. It
follows the established convention of only allowing one of the keys:
`service`, `check`, `services`. For every entry in the list it calls
the corresponding decode method and appends it to the Servics of the
resulting Config.

While a similar result could be achieved with changing the Services
member of the Config struct to have named mapstruct tag it lacks the
proper time conversions provided by DecodeServiceDefinition.
2014-10-23 22:50:40 -04:00
Armon Dadgar bee5fe280c Merge pull request #396 from ryanuber/f-retry-join
agent: Retry failed joins on agent start
2014-10-13 10:46:10 -07:00
Ryan Uber 599d0558e7 agent: test max retries in config 2014-10-12 12:40:52 -07:00
Ryan Uber 4bc4ba2d09 agent: test retry join config 2014-10-12 11:20:33 -07:00
Armon Dadgar 77436a15fd agent: tests for DNS truncate config 2014-09-30 13:04:31 -07:00
Armon Dadgar d04880cc60 agent: Support for checkpoint 2014-09-02 14:23:43 -07:00
Armon Dadgar cc728a1345 agent: Adding address configurations 2014-09-02 12:42:14 -07:00
Armon Dadgar 98acc0a908 agent: statsd support. Fixes #247 2014-09-02 11:26:17 -07:00
Armon Dadgar 89f258ca2e agent: Adding remote exec configuration 2014-09-01 14:46:21 -07:00
Armon Dadgar e877753162 agent: Changing to use nested JSON for watches 2014-08-21 11:52:36 -07:00
Armon Dadgar 5ee737b8d4 agent: Adding watches config 2014-08-19 14:29:01 -07:00
Armon Dadgar cae4b421a3 agent: Adding ACL master token 2014-08-18 15:46:20 -07:00
Armon Dadgar a8063457f8 consul: ACL setting passthrough 2014-08-18 15:46:20 -07:00
Armon Dadgar 9cd9a6bcc4 agent: Changing ACL config names 2014-08-18 15:46:20 -07:00
Armon Dadgar 7e5fdeb64b agent: Adding new ACL flags 2014-08-18 15:46:20 -07:00
Armon Dadgar 924e4bc7f1 Rename Expect to BootstrapExpect. Fixes #223. 2014-06-19 17:08:55 -07:00
Robert Xu c60fd0542a Add expect bootstrap '-expect=n' mode.
This allows for us to automatically bootstrap a cluster of nodes after
'n' number of server nodes join. All servers must have the same 'n' set, or
they will fail to join the cluster; all servers will not join the peer set
until they hit 'n' server nodes.

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

Signed-off-by: Robert Xu <robxu9@gmail.com>
2014-06-16 17:40:33 -04:00
Armon Dadgar 961a00c496 Adding server_name configuration for TLS 2014-06-13 11:10:27 -07:00
Armon Dadgar 82c27cb902 agent: Adding SyslogFacility configuration 2014-06-11 10:18:19 -07:00
Armon Dadgar a2ac2af087 agent: Update config test to handle zero value CheckUpdateInterval 2014-06-09 13:00:32 -07:00
Armon Dadgar 971d093283 agent: Adding new CheckUpdateInterval config 2014-06-09 12:13:14 -07:00
Armon Dadgar 248ce2d301 agent: Test DNSConfig merge logic 2014-06-08 16:02:16 -07:00
Armon Dadgar d60f6892ca agent: Testing DNSConfig parsing 2014-06-08 16:02:16 -07:00
Armon Dadgar de309057ff Support rejoin after leave. Fixes #110. 2014-05-21 12:32:24 -07:00
Armon Dadgar 0836a222bf agent: syslog support. Fixes #105. 2014-05-21 12:06:03 -07:00
Carlos Diaz-Padron 60ef5a8a12 Add flag to agent to write pid file 2014-05-05 23:39:18 -04:00
Armon Dadgar 2605b8e27c agent: Adding UiDir config param 2014-04-30 23:43:56 -04:00
Armon Dadgar 612d811167 agent: Testing start_join parsing 2014-04-11 17:03:19 -07:00
Armon Dadgar 8dd1e51bae agent: Simplifying configs 2014-04-11 15:46:55 -07:00
Armon Dadgar 8177e2f811 agent: Adding tests for TLS configs 2014-04-07 15:07:00 -07:00
Armon Dadgar 8db2e3bd58 agent: Support multiple tags per service registration 2014-04-03 12:12:23 -07:00
Armon Dadgar 528053c7a3 agent: adding EnableDebug config 2014-03-19 17:49:57 -07:00
Armon Dadgar d64fda8d45 agent: Adding tests for config parsing 2014-02-07 11:49:51 -08:00
Armon Dadgar e72ad27850 TODO cleanups 2014-02-05 14:54:35 -08:00
Armon Dadgar caaff11634 Adding more agent tests 2013-12-23 13:52:10 -08:00