docker/integration-cli
Aaron Lehmann a0ccd0d42f Split advertised address from listen address
There are currently problems with "swarm init" and "swarm join" when an
explicit --listen-addr flag is not provided. swarmkit defaults to
finding the IP address associated with the default route, and in cloud
setups this is often the wrong choice.

Introduce a notion of "advertised address", with the client flag
--advertise-addr, and the daemon flag --swarm-default-advertise-addr to
provide a default. The default listening address is now 0.0.0.0, but a
valid advertised address must be detected or specified.

If no explicit advertised address is specified, error out if there is
more than one usable candidate IP address on the system. This requires a
user to explicitly choose instead of letting swarmkit make the wrong
choice. For the purposes of this autodetection, we ignore certain
interfaces that are unlikely to be relevant (currently docker*).

The user is also required to choose a listen address on swarm init if
they specify an explicit advertise address that is a hostname or an IP
address that's not local to the system. This is a requirement for
overlay networking.

Also support specifying interface names to --listen-addr,
--advertise-addr, and the daemon flag --swarm-default-advertise-addr.
This will fail if the interface has multiple IP addresses (unless it has
a single IPv4 address and a single IPv6 address - then we resolve the
tie in favor of IPv4).

This change also exposes the node's externally-reachable address in
docker info, as requested by #24017.

Make corresponding API and CLI docs changes.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-07-24 09:23:07 -07:00
..
fixtures
benchmark_test.go Move layer mount refcounts to mountedLayer 2016-03-23 14:42:52 -07:00
check_test.go Split advertised address from listen address 2016-07-24 09:23:07 -07:00
daemon.go Use const http status code instead of just numbers see #24783 2016-07-19 10:40:20 +03:00
daemon_swarm.go Change "rotate_worker_token" to "rotateWorkerToken" 2016-07-23 01:04:12 +02:00
daemon_swarm_hack.go Implement service integration tests 2016-07-05 21:39:42 -04:00
docker_api_attach_test.go Swarm integration tests 2016-06-13 22:16:18 -07:00
docker_api_auth_test.go Return remote API errors as JSON 2016-06-07 18:45:27 -07:00
docker_api_build_test.go Merge pull request #23322 from tkopczynski/20784-builder-dockerfile-symlink 2016-06-15 10:52:49 +02:00
docker_api_containers_test.go Fix panic in stats test 2016-07-14 17:30:57 -07:00
docker_api_create_test.go Return remote API errors as JSON 2016-06-07 18:45:27 -07:00
docker_api_events_test.go
docker_api_exec_resize_test.go
docker_api_exec_test.go Return remote API errors as JSON 2016-06-07 18:45:27 -07:00
docker_api_images_test.go
docker_api_info_test.go Remove execution driver 2016-07-11 14:52:27 +08:00
docker_api_inspect_test.go
docker_api_inspect_unix_test.go
docker_api_logs_test.go Return remote API errors as JSON 2016-06-07 18:45:27 -07:00
docker_api_network_test.go Update client code with api changes 2016-04-15 12:48:01 +02:00
docker_api_resize_test.go Return remote API errors as JSON 2016-06-07 18:45:27 -07:00
docker_api_service_update_test.go Change `docker service update` semantics 2016-06-17 17:09:40 -07:00
docker_api_stats_test.go Fix flaky TestApiStatsNetworkStats test 2016-05-23 19:00:19 -07:00
docker_api_stats_unix_test.go TestApiStatsContainerGetMemoryLimit: Add cgroup memory test 2016-05-04 20:46:41 +02:00
docker_api_swarm_test.go Split advertised address from listen address 2016-07-24 09:23:07 -07:00
docker_api_test.go Swarm integration tests 2016-06-13 22:16:18 -07:00
docker_api_update_unix_test.go
docker_api_version_test.go
docker_api_volumes_test.go
docker_cli_attach_test.go Better error on attach no tty 2016-05-25 13:32:48 -07:00
docker_cli_attach_unix_test.go
docker_cli_authz_unix_test.go authz: cleanups 2016-06-12 17:23:19 +02:00
docker_cli_build_test.go Windows: TestBuildWorkdirWindowsPath hard code fix 2016-07-20 21:23:38 -07:00
docker_cli_build_unix_test.go
docker_cli_by_digest_test.go Treat digest only images as dangling 2016-06-30 11:32:49 -07:00
docker_cli_commit_test.go
docker_cli_config_test.go
docker_cli_cp_from_container_test.go
docker_cli_cp_test.go fix typos 2016-06-02 17:17:22 +08:00
docker_cli_cp_to_container_test.go
docker_cli_cp_to_container_unix_test.go
docker_cli_cp_utils.go
docker_cli_create_test.go Fix create command flags 2016-06-07 14:11:11 +02:00
docker_cli_daemon_experimental_test.go Do not rely on "live" event anymore 2016-07-19 08:24:39 -07:00
docker_cli_daemon_test.go Fix daemon tests. 2016-06-28 15:29:49 -07:00
docker_cli_diff_test.go Fix TestDiffEmptyArgClientError O:) 2016-06-06 13:58:29 +02:00
docker_cli_events_test.go Fix bad test comment 2016-07-21 19:39:35 -07:00
docker_cli_events_unix_test.go Use "docker-runc" as alias for the default runtime 2016-06-22 11:59:26 -07:00
docker_cli_exec_test.go Better error on attach no tty 2016-05-25 13:32:48 -07:00
docker_cli_exec_unix_test.go
docker_cli_experimental_test.go
docker_cli_export_import_test.go
docker_cli_external_graphdriver_unix_test.go Fix spelling in comments, strings and documentation 2016-07-03 20:58:11 +03:00
docker_cli_external_volume_driver_unix_test.go DockerExternalVolumeSuite: add daemon to test 2016-06-28 13:52:48 -04:00
docker_cli_health_test.go Remove out-of-date health test 2016-06-16 13:09:57 +01:00
docker_cli_help_test.go Migrate rm command to cobra 2016-06-07 22:19:16 +08:00
docker_cli_history_test.go fix typos 2016-06-02 17:17:22 +08:00
docker_cli_images_test.go Remove deprecated -f flag on docker tag 2016-06-01 09:44:25 -07:00
docker_cli_import_test.go Fix docker import tests 2016-05-23 15:34:40 -07:00
docker_cli_info_test.go Use "docker-runc" as alias for the default runtime 2016-06-22 11:59:26 -07:00
docker_cli_info_unix_test.go Add security info to `docker info` 2016-06-14 12:23:45 -07:00
docker_cli_inspect_experimental_test.go
docker_cli_inspect_test.go Windows: Fix RO test cases 2016-06-20 10:15:20 -07:00
docker_cli_kill_test.go
docker_cli_links_test.go Fix regression on --link on bridge network 2016-07-22 18:52:46 -07:00
docker_cli_links_unix_test.go
docker_cli_login_test.go
docker_cli_logout_test.go Change v1 pull 404 message to include tag 2016-03-29 10:04:59 -07:00
docker_cli_logs_bench_test.go
docker_cli_logs_test.go Add support for reading logs extra attrs 2016-05-06 20:42:20 -04:00
docker_cli_nat_test.go
docker_cli_netmode_test.go fix typos 2016-06-02 17:17:22 +08:00
docker_cli_network_unix_test.go Rename `--net` to `--network` 2016-07-12 13:01:35 -07:00
docker_cli_oom_killed_test.go Add the swapMemorySupport requirement to OOM tests 2016-05-10 11:28:00 -07:00
docker_cli_pause_test.go Get events until a time in the past. 2016-04-14 16:22:16 -07:00
docker_cli_plugins_test.go Print plugin name on successful install, enable and disable. 2016-07-18 09:47:12 -07:00
docker_cli_port_test.go
docker_cli_proxy_test.go
docker_cli_ps_test.go add support for filtering by network ID 2016-06-07 16:50:31 +02:00
docker_cli_pull_local_test.go fixed spelling error in cli pull local test 2016-05-19 17:52:42 -05:00
docker_cli_pull_test.go Move implicit pull test to use local registry 2016-05-02 18:14:13 -07:00
docker_cli_pull_trusted_test.go Pull, Pull-A, and Build will only pull tags from the targets role or the targets/releases role. 2016-03-21 10:56:49 -07:00
docker_cli_push_test.go integration-cli: ensure digest is the same after cross-repo push 2016-07-06 13:12:42 +02:00
docker_cli_registry_user_agent_test.go Pass upstream client's user agent through to registry on operations beyond pulls 2016-03-21 14:31:47 -07:00
docker_cli_rename_test.go Merge pull request #23360 from sainath14/rename_error 2016-06-24 19:54:09 +02:00
docker_cli_restart_test.go Fix test case 2016-04-26 19:22:48 +08:00
docker_cli_rm_test.go
docker_cli_rmi_test.go update "image delete" error to match actual behavior 2016-07-18 23:17:55 +02:00
docker_cli_run_test.go Windows: TestRunCleanupCmdOnEntrypoint for nanoserver 2016-07-22 09:05:38 -07:00
docker_cli_run_unix_test.go Add fchmod and fchmodat to TestRunSeccompProfileDenyChmod 2016-07-04 11:06:48 +00:00
docker_cli_save_load_test.go Say something useful during docker load 2016-06-08 17:17:05 +02:00
docker_cli_save_load_unix_test.go Fix docker load progressbar, fixes #21957 2016-04-12 22:45:42 -04:00
docker_cli_search_test.go Use spf13/cobra for docker search 2016-06-03 19:50:01 +02:00
docker_cli_service_create_hack_test.go Use newer default values for mounts CLI 2016-07-06 22:34:39 -04:00
docker_cli_service_update_test.go Change the add/update flags to include 'add' 2016-07-13 16:06:25 -04:00
docker_cli_sni_test.go
docker_cli_stack_test.go add command `docker stack services STACKNAME` 2016-07-19 14:21:58 +08:00
docker_cli_start_test.go Fix `docker start` error with renamed container 2016-06-18 16:43:30 -07:00
docker_cli_stats_test.go Do not remove containers from stats list on err 2016-04-13 16:36:34 -04:00
docker_cli_stop_test.go Add test case for stopping a restarting container 2016-04-10 15:39:28 +08:00
docker_cli_swarm_test.go Replace secrets with join tokens 2016-07-21 15:23:03 -07:00
docker_cli_tag_test.go Remove deprecated -f flag on docker tag 2016-06-01 09:44:25 -07:00
docker_cli_top_test.go
docker_cli_update_test.go
docker_cli_update_unix_test.go Soften limitation of update kernel memory 2016-07-12 08:07:24 +08:00
docker_cli_userns_test.go
docker_cli_v2_only_test.go
docker_cli_version_test.go
docker_cli_volume_test.go Update usage and help to (almost) match the existing docker behaviour 2016-05-31 14:41:37 -07:00
docker_cli_wait_test.go Better logging for errors in some tests 2016-03-25 10:02:52 -04:00
docker_deprecated_api_v124_test.go remove deprecated feature of passing HostConfig at API container start 2016-06-01 22:25:17 +08:00
docker_deprecated_api_v124_unix_test.go remove deprecated feature of passing HostConfig at API container start 2016-06-01 22:25:17 +08:00
docker_experimental_network_test.go Add "--ipv6" flag in IT for network create when using ipv6 subnets 2016-03-24 16:19:59 -07:00
docker_hub_pull_suite_test.go fix typos 2016-06-02 17:17:22 +08:00
docker_test_vars.go Windows: Allow nanoserver image for CLI 2016-07-20 09:59:52 -07:00
docker_utils.go Fix spelling in comments, strings and documentation 2016-07-03 20:58:11 +03:00
events_utils.go Fix incorrect usage of logrus when formatting string is present 2016-06-11 15:37:36 -07:00
npipe.go
npipe_windows.go
registry.go
registry_mock.go
requirements.go Add NoArm64 testRequires and skip Schema1RegistrySuite on arm64 2016-07-04 10:09:46 +00:00
requirements_unix.go
test_vars_exec.go
test_vars_noexec.go
test_vars_noseccomp.go
test_vars_seccomp.go
test_vars_unix.go
test_vars_windows.go
trust_server.go Use const http status code instead of just numbers see #24783 2016-07-19 10:40:20 +03:00
utils.go