Commit Graph

28 Commits

Author SHA1 Message Date
715ba2d5b3 Modify usage of docker swarm join-token command
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
Upstream-commit: 9123ca546a49f6738a918b89ba7a41963083be54
Component: engine
2016-08-19 09:44:22 +08:00
f03613aded Improve swarm join-token instructions
this change improves the instructions for
swarm join-token and swarm init;

- only print the join-token command for workers
  instead of for both managers and workers, to
  prevent users from copying the wrong command.
  An extra line is added to explain how to obtain
  the manager token.
- print a message that a token was rotated
  sucesfully if '--rotate' is used.
- add some extra white-space before / after
  the join commands, to make copy/pasting
  easier.

this change also does some refactoring of join-token;

- move flagname-constants together with other constants
- use variables for selected role ("worker" / "manager")
  to prevent checking for them multiple times, and to
  keep the "worker" / "manager" sting centralized
- add an extra blank line after "join-token" instructions
  this makes it easier to copy, and cleans up the
  code a tiny bit

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: ebebd4176940bc907ba4e8f5fbe62f6a050f8ed4
Component: engine
2016-08-02 16:44:02 +02:00
eb900df556 Remove swarm inspect and use info instead
Remove the swarm inspect command and use docker info instead to display
swarm information if the current node is a manager.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: e6923f6d75c2bd1b22cc1229214ffceca3251cc6
Component: engine
2016-07-25 20:31:10 -07:00
667eed7772 Require listen address and advertise address to be an IP address or an interface name
Hostnames are not supported for now because libnetwork can't use them
for overlay networking yet.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: fca0b18dcba99a7fbb8b430a55dc7bf60d5c1356
Component: engine
2016-07-24 09:23:38 -07:00
2150ea40b1 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>
Upstream-commit: a0ccd0d42fdb0dd2005f67604cb81a5a6b26787e
Component: engine
2016-07-24 09:23:07 -07:00
12c579731c CLI: Change default Swarm task history retention limit.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Upstream-commit: d97c0a1f253fe61957047ea4b21d9e764dc7d783
Component: engine
2016-07-22 18:09:54 -07:00
0f55365ad3 Reorder swarm commands
This way "join-token" appears next to "join" in the help output.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 58ba4c313b1f19dfb1d50cb32238045d7b3db91d
Component: engine
2016-07-21 18:08:41 -07:00
b141a44de0 Replace secrets with join tokens
Implement the proposal from
https://github.com/docker/docker/issues/24430#issuecomment-233100121

Removes acceptance policy and secret in favor of an automatically
generated join token that combines the secret, CA hash, and
manager/worker role into a single opaque string.

Adds a docker swarm join-token subcommand to inspect and rotate the
tokens.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 2cc5bd33eef038bf5721582e2410ba459bb656e9
Component: engine
2016-07-21 15:23:03 -07:00
24235167aa Don't automagically add "[OPTIONS]" to usage
This removes the logic to automatically
add [OPTIONS] to the usage output.

The current logic was broken if a command
only has deprecated or hidden flags, and
in many cases put the [OPTIONS] in the
wrong location.

Requiring the usage string to be set
manually gives more predictable results,
and shouldn't require much to maintain.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 4f0b5105524649169d765bb94c2806209ab21904
Component: engine
2016-07-19 00:07:19 +02:00
b84397788e Use spaces, not tabs, to format sample "swarm join" command
Using tabs here seems to cause copy/paste problems in some terminals.
Using spaces is safer.

Fixes #24609

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 6de8fcb2f2baf335fc24e10909078199af528e8d
Component: engine
2016-07-13 19:31:05 -06:00
86fb23db37 Remove dead code for "inspect --pretty"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 4d87f9083bfb3147566997b3f48c4805229f7c94
Component: engine
2016-07-13 18:56:02 +02:00
cb38cf39e2 Add support for comma-separated --auto-accept syntax.
Signed-off-by: John Harris <john@johnharris.io>
Upstream-commit: 8e148827734a94165156adfd0f6d202d28dff142
Component: engine
2016-07-11 15:47:04 -07:00
08bcf7365f Generate a swarm joining secret if none is specified
The current behavior of `docker swarm init` is to set up a swarm that
has no secret for joining, and does not require manual acceptance for
workers. Since workers may sometimes receive sensitive data such as pull
credentials, it makes sense to harden the defaults.

This change makes `docker swarm init` generate a random secret if none
is provided, and print it to the terminal. This secret will be needed to
join workers or managers to the swarm. In addition to improving access
control to the cluster, this setup removes an avenue for
denial-of-service attacks, since the secret is necessary to even create
an entry in the node list.

`docker swarm init --secret ""` will set up a swarm without a secret,
matching the old behavior. `docker swarm update --secret ""` removes the
automatically generated secret after `docker swarm init`.

Closes #23785

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 7342e42fcecbc243bcb8723b8422879662452017
Component: engine
2016-07-06 13:04:50 -07:00
60d7b2e452 fix stdout and stderr in api client
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 533bd82e41fee352962cb5ae0a49b9edbdebc25e
Component: engine
2016-07-05 23:07:40 +08:00
bda6fa8f54 Add support for external CAs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 11085b2260a78b3248f3e98e0a1e3203431fae22
Component: engine
2016-06-30 17:22:47 -07:00
8c9dd4362c Unify swarm init and update options
Add api side validation and defaults for init and
join requests.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: fb3eb1c27ef5520571c599ead8a72b343748db39
Component: engine
2016-06-21 16:34:32 -07:00
22e8ff931c Use flag constants for swarm flag.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: c08a50dbd1bac8a0bf1c9be5e617273c19a54a2e
Component: engine
2016-06-20 11:04:37 -04:00
480d3f4e51 Add tests for AutoAcceptOption
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: c544649874bfecf2e6b8a00a0b25db309d81cf94
Component: engine
2016-06-17 19:43:38 -07:00
5fe17becef Support a listen addr without a port, and add tests.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 595e79b805fd6e96d2e6c8876f7c9734164f5db7
Component: engine
2016-06-17 19:43:38 -07:00
82e43b2685 Merge pull request #23676 from avsm/swarm-cli-consistency
`docker swarm`: more consistent CLI help
Upstream-commit: 2bd34b858d7cc374169433eb0538a4dbe48cff3f
Component: engine
2016-06-17 10:55:15 -07:00
6ddced327d docker swarm: more consistent CLI help
This changes `docker swarm help` to be consistent with capitals
and removes full stops.

Before:

```
Commands:
  init        Initialize a Swarm.
  join        Join a Swarm as a node and/or manager.
  update      update the Swarm.
  leave       Leave a Swarm.
  inspect     Inspect the Swarm
```

After:

```
Commands:
  init        Initialize a Swarm
  join        Join a Swarm as a node and/or manager
  update      Update the Swarm
  leave       Leave a Swarm
  inspect     Inspect the Swarm
```

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
Upstream-commit: 0ec78739ac7d8ec1579d1d4fd63cd207dc56e7c8
Component: engine
2016-06-17 16:34:06 +01:00
71af4dcb33 fix invalid typo in error message
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: 2322ccb8fff46a4d3a84f3ef214cb473816374af
Component: engine
2016-06-17 15:27:54 +01:00
1c57d98347 Add cert-expiry to swarm update
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 7d8d51aa9d0c1737ff7f97a3efac0a2ef0975b56
Component: engine
2016-06-16 18:06:02 -07:00
9bd6973edb fix docker swarm init/update --secret
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: 085895342c7f797f0eef7ec956438e33489f211f
Component: engine
2016-06-15 17:05:10 -07:00
09430f24ff Merge pull request #23553 from icecrime/heartbeat_as_duration
Make `--dispatcher-heartbeat-period` a duration
Upstream-commit: 2e9aac59e20ee376da32c5c85e1b392fc555f9c9
Component: engine
2016-06-15 02:36:17 +00:00
0b871ed824 Make --dispatcher-heartbeat-period a duration
Make `--dispatcher-heartbeat-period` a duration in `docker swarm
update`, allowing to express the value as "5s", "1h", etc.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
Upstream-commit: e6e1fd5d0657c3ab5b15c2984403e4a4e62ca2bb
Component: engine
2016-06-14 18:10:49 -07:00
a4f6628660 Add experimental docker stack commands
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 71104bb592dc98467d3828394eabcbe50ca22ae4
Component: engine
2016-06-14 14:56:35 -04:00
e808aa4ed0 Add Swarm management CLI commands
As described in our ROADMAP.md, introduce new Swarm management commands
to call to the corresponding API endpoints.

This PR is fully backward compatible (joining a Swarm is an optional
feature of the Engine, and existing commands are not impacted).

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 12a00e60177ca42bfb1dd9ebd5dce1c7039da6dd
Component: engine
2016-06-13 22:17:15 -07:00