Commit Graph

64 Commits

Author SHA1 Message Date
93ba24cc42 cli: introduce NotaryClient getter
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
Upstream-commit: e5c35ab9d1
Component: cli
2017-09-25 09:38:38 -07:00
ad105d4aec Use non-detached mode as default for service commands
Commit 330a0035334871d92207b583c1c36d52a244753f added a `--detach=false` option
to various service-related commands, with the intent to make this the default in
a future version (17.09).

This patch changes the default to use "interactive" (non-detached), allowing
users to override this by setting the `--detach` option.

To prevent problems when connecting to older daemon versions (17.05 and below,
see commit db60f25561), the detach option is
ignored for those versions, and detach is always true.

Before this change, a warning was printed to announce the upcoming default:

    $ docker service create nginx:alpine
    saxiyn3pe559d753730zr0xer
    Since --detach=false was not specified, tasks will be created in the background.
    In a future release, --detach=false will become the default.

After this change, no warning is printed, but `--detach` is disabled;

    $ docker service create nginx:alpine
    y9jujwzozi0hwgj5yaadzliq6
    overall progress: 1 out of 1 tasks
    1/1: running   [==================================================>]
    verify: Service converged

Setting the `--detach` flag makes the cli use the pre-17.06 behavior:

    $ docker service create --detach nginx:alpine
    280hjnzy0wzje5o56gr22a46n

Running against a 17.03 daemon, without specifying the `--detach` flag;

    $ docker service create nginx:alpine
    kqheg7ogj0kszoa34g4p73i8q

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 0c27355f7b
Component: cli
2017-09-13 12:27:55 +02:00
0d3330814c Use a local copy of ParseLogDetails
It's being removed from client/

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: a747389bf4
Component: cli
2017-09-07 12:50:25 -04:00
4bafd44516 updated vendoring
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
Upstream-commit: a0113c3a44
Component: cli
2017-09-01 19:41:06 -04:00
811eac4392 Reduce complexity in cli/command/container
Add tests for exec and cleanup existing tests.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: e7f90b6b38
Component: cli
2017-08-29 19:25:50 -04:00
01f2e768d7 Use new internal testutil.ErrorContains()
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 846a31aa50
Component: cli
2017-08-22 10:14:25 -04:00
b141cbce57 Move internal/test package out of cli.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: b3f843afe2
Component: cli
2017-08-22 10:14:25 -04:00
43172bf261 Merge pull request #205 from redpanda/rollback
Add 'docker service rollback' subcommand
Upstream-commit: 3c7ede6a68
Component: cli
2017-08-19 15:56:14 +02:00
cded911aad Add 'docker service rollback' subcommand
Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Implement runRollback to not use runUpdate

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Add version tag and add flag quiet to suppress progress output

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Removed flags from warnDetachDefault

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Used command.Cli interface

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Add detach flag on rollback command

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Create a fakeClient for service commands

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Added unit test for rollback command

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Used command.Cli interface instead of *command.DockerCli in service commands

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Revert "Removed flags from warnDetachDefault"

This reverts commit 3e4f601c8a82cc2599a755dc693409bbc47917fc.

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Fixed test.NewFakeCli instanciation

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Removed unused receiver

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Replaced cli by dockerCli

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Revert "Removed unused receiver"

This reverts commit 604ef7c13df3d019949ca81d992db501114dafce.

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>

Fixed last typo

Signed-off-by: Jimmy Leger <jimmy.leger@gmail.com>
Upstream-commit: 11d471d660
Component: cli
2017-08-16 22:18:36 +02:00
2c6a1a2476 Update service and secret command tests to new golden
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 4c62d7288f
Component: cli
2017-08-16 14:23:28 -04:00
c04822c682 Sort services names in a natural order
Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
Upstream-commit: 7478e47b2d
Component: cli
2017-07-19 18:18:06 +03:00
1e5fbb03aa Update FakeCli to remove duplication in tests.
Use byte buffers by default, since that is what is done most of the time.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 69b142b52a
Component: cli
2017-07-11 14:49:30 -04:00
e7c8bab937 Merge pull request #298 from dnephin/fix-stack-out-stream
Fix stack output stream
Upstream-commit: af6c0896f5
Component: cli
2017-07-10 09:23:23 +02:00
3578bb4ff2 Merge pull request #259 from aaronlehmann/service-progress-surface-error
progress: Show task error in place of progress bar
Upstream-commit: 7ae9bc141c
Component: cli
2017-07-09 00:04:38 -07:00
f002184455 progress: Light refactor
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: c9b92a328d
Component: cli
2017-07-06 10:40:35 -07:00
2af533daad Remove duplication in task formatting.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 0030bfea9f
Component: cli
2017-07-05 13:40:47 -04:00
d2b6d249be Merge pull request #243 from vieux/scale2
add `--detach` to docker scale 
Upstream-commit: 43fb4a4547
Component: cli
2017-07-04 16:36:59 +02:00
0b37ceed6f scale all services at once
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
Upstream-commit: 58d3fc24b1
Component: cli
2017-07-03 13:40:54 +02:00
7c4267f69a progress: Add unit tests
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: dd3eae84e1
Component: cli
2017-06-28 17:53:56 -07:00
b057843522 progress: Show task error in place of progress bar
If a task encounters an error, the interactive "service create" and
"service update" commands should show that error instead of showing a
stuck progress bar.

To validate:

docker service create --detach=false --name broken --restart-condition=none --replicas 3 busybox asdf
and
docker service create --detach=false --name broken --mode global --restart-condition none busybox asdf

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 1ef585f65d
Component: cli
2017-06-27 15:12:31 -07:00
ad9f81da7f progress: Show success message when finished counting down
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 82e069026b
Component: cli
2017-06-27 15:07:10 -07:00
37752ce207 add --detach to docker scale
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
Upstream-commit: 6c6b1091d9
Component: cli
2017-06-27 09:55:10 -07:00
5323af3564 hide --detach for docker < 17.05
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
Upstream-commit: db60f25561
Component: cli
2017-06-26 18:55:30 -07:00
99068fccc9 Merge pull request #237 from aaronlehmann/progress-before-assignment
progress: Show progress of replicated tasks before they are assigned
Upstream-commit: 2f58992f85
Component: cli
2017-06-26 17:14:07 -07:00
3b769b27be progress: Show progress of replicated tasks before they are assigned
This was only showing tasks that belong to nodes that are currently up,
so that tasks on down nodes don't appear to be stuck. But this
unintentionally excludes tasks that haven't been assigned yet, so if a
task is stuck before assignment, for example because no nodes meet its
constraints, a progress bar won't even be shown. The check should only
apply to tasks that have a node assignment.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: d3d09f67b1
Component: cli
2017-06-23 17:34:59 -07:00
edf13621d4 Fix lint errors merged while new lint branch was in PR.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: b84e21cd05
Component: cli
2017-06-21 00:11:59 -04:00
b88ae58881 Add gosimple lint
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 3724fb7f37
Component: cli
2017-06-14 16:55:08 -07:00
9a1729bb2b removed logging from service/inspect test to clean up the output of running tests
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
Upstream-commit: 751278abe6
Component: cli
2017-06-14 12:38:31 -04:00
544efe0207 Merge pull request #115 from jsoref/spelling
Spelling
Upstream-commit: 4ffefe4a1f
Component: cli
2017-06-14 09:58:55 +02:00
774e3b7a1d Merge pull request #72 from thaJeztah/fix-prefix-matching
Fix prefix-matching for service ps
Upstream-commit: 275c488734
Component: cli
2017-06-13 14:59:37 -07:00
a55a518566 Use scope=swarm for service related network inspect.
This fix use `scope=swarm` for service related network inspect.
The purpose is that, in case multiple networks with the same
name exist in different scopes, it is still possible to obtain
the network for services.

This fix is related to moby/moby#33630 and docker/cli#167

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 657457ee2c
Component: cli
2017-06-13 20:26:12 +00:00
85d6b4b742 Handle case of configs on old daemon
If configs are declared for a service and pointing on an old
daemon, error out properly (instead of "page not found").

If there is no configs declared, don't call convertServiceConfigObjs
to avoid having an error.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: cf5550c426
Component: cli
2017-06-07 17:02:46 +02:00
a920b458df Update vendoring of docker/docker
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 44ac80881f
Component: cli
2017-06-06 00:23:21 +02:00
7e488b89ed Add unit tests for service/ps
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 3718833f2c
Component: cli
2017-06-02 11:29:19 -04:00
67be6e9ac8 Fix complexity of service/ps.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: b5baffde44
Component: cli
2017-06-01 11:49:16 -04:00
e1f6bc3e4f Allow --detach and --quiet flags when using --rollback
Commit 78c204ef79 added
(f9bd8ec8b268581f93095c5a80679f0a8ff498bf in the moby repo)
a validation to prevent `--rollback` from being used
in combination with other flags that update the
service spec.

This validation was not taking into account that
some flags only affect the CLI behavior, and
are okay to be used when rolling back.

This patch updates the validation, and adds
`--quiet` and `--detach` to the list of allowed
flags.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: f10f29df8d
Component: cli
2017-06-01 16:31:07 +02:00
beeb275932 Fix prefix-matching for service ps
The docker CLI matches objects either by ID _prefix_
or a full name match, but not partial name matches.

The correct order of resolution is;

- Full ID match (a name should not be able to mask an ID)
- Full name
- ID-prefix

This patch changes the way services are matched.

Also change to use the first matching service, if there's a
full match (by ID or Name) instead of continue looking for
other possible matches.

Error handling changed;

- Do not error early if multiple services were requested
  and one or more services were not found. Print the
  services that were not found after printing those that
  _were_ found instead
- Print an error if ID-prefix matching is ambiguous

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 6279612443
Component: cli
2017-05-31 21:43:56 +02:00
38cfa2ee6d Spelling fixes
* appropriate
* assumption
* attach
* because
* building
* customized
* mapping
* propagated

Signed-off-by: Josh Soref <jsoref@gmail.com>
Upstream-commit: 70a9905ee5
Component: cli
2017-05-22 01:39:06 +00:00
bc98a48832 Merge pull request #77 from vdemeester/move-duration-opts
Move duration opts into an opts package
Upstream-commit: eea4a38cd6
Component: cli
2017-05-18 11:15:30 +02:00
dd32a4ed8f Adding network options to service create/update
Changes added to accept network specific options in
docker service create/update

Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
Upstream-commit: 40341ae089
Component: cli
2017-05-17 21:07:48 -07:00
d8354ad717 Adding a flag to allow disabling registry lookup
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
Upstream-commit: 39d03bb2bd
Component: cli
2017-05-17 17:55:11 -07:00
fd1d1e23c8 Service create/update set QueryRegistry appropriately
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
Upstream-commit: c61ea6f789
Component: cli
2017-05-17 17:39:35 -07:00
ba46f33bdd Add support for details on service logs
Adds CLI and client support for details on service logs. CLI component
of moby/moby#32996.

Signed-off-by: Drew Erny <drew.erny@docker.com>
Upstream-commit: ebc0eff478
Component: cli
2017-05-16 16:53:58 -07:00
e78b25ca60 Merge pull request #48 from cyli/root-rotation-cli
Synchronous CLI command for root CA rotation
Upstream-commit: c17acee8cf
Component: cli
2017-05-16 14:58:05 -07:00
d92c450866 Avoid loop when discarding contents of progress pipe
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 51f698337d
Component: cli
2017-05-16 14:34:59 -07:00
497edf6960 service: Avoid underflow in logs padding calculation
This command inserts a variable amount of padding in the log line:

    padding := strings.Repeat(" ", f.padding-getMaxLength(task.Slot))

If the service is scaled up, or the slot numbers are noncontiguous, the
subtraction can underflow, causing a crash.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: ab6bc5dce6
Component: cli
2017-05-16 12:27:31 -07:00
829eef48ba Move duration opts into an opts package
They have nothing to do with service and could be used on their own.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: b5182ba17f
Component: cli
2017-05-16 17:49:40 +02:00
242da31a23 Update cli imports to using local package
Also, rename a bunch of variable to not *shadow* the `opts` package
name.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: d7f6563efc
Component: cli
2017-05-15 14:45:19 +02:00
41f722d69f Add support for configs
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: db5620026d
Component: cli
2017-05-11 13:42:49 -07:00
5a1580a2fc Add line length linter
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: c31d25653f
Component: cli
2017-05-08 15:57:56 -04:00