Commit Graph

705 Commits

Author SHA1 Message Date
545fff51d9 Fix formatter unit test (moving to testify)
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: e5b7b7e87b
Component: cli
2017-04-17 17:32:52 +02:00
337700e350 Merge pull request #32614 from aaronlehmann/testify
Remove pkg/testutil/assert in favor of testify
Upstream-commit: 31639e04ce
Component: cli
2017-04-17 11:07:08 -04:00
17e2d9cef6 Merge pull request #30962 from TheHipbot/30431-implement-format-for-history-with-docs
30431 implement format for history with docs
Upstream-commit: 1d73df5fc2
Component: cli
2017-04-16 10:34:41 -07:00
38854e0b6a Remove pkg/testutil/assert in favor of testify
I noticed that we're using a homegrown package for assertions. The
functions are extremely similar to testify, but with enough slight
differences to be confusing (for example, Equal takes its arguments in a
different order). We already vendor testify, and it's used in a few
places by tests.

I also found some problems with pkg/testutil/assert. For example, the
NotNil function seems to be broken. It checks the argument against
"nil", which only works for an interface. If you pass in a nil map or
slice, the equality check will fail.

In the interest of avoiding NIH, I'm proposing replacing
pkg/testutil/assert with testify. The test code looks almost the same,
but we avoid the confusion of having two similar but slightly different
assertion packages, and having to maintain our own package instead of
using a commonly-used one.

In the process, I found a few places where the tests should halt if an
assertion fails, so I've made those cases (that I noticed) use "require"
instead of "assert", and I've vendored the "require" package from
testify alongside the already-present "assert" package.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 7059a96e2e
Component: cli
2017-04-14 12:03:21 -07:00
f3e8b77596 Hide zero-valued timestamps from service JSON
It was possible to see output like this:

        "UpdateStatus": {
            "State": "updating",
            "StartedAt": "2017-04-14T17:10:03.226607162Z",
            "CompletedAt": "1970-01-01T00:00:00Z",
            "Message": "update in progress"
        }

The timestamp fields were already changed to pointers, and left nil if
the timestamp value was zero. However the zero-value of a timestamp from
gRPC is different from the value Go considers to be zero. gRPC uses the
Unix epoch instead of Go's epoch. Therefore, check that the timestamp
does not match the Unix epoch.

Also, add " ago" to the timestamps as shown in "docker service inspect
--pretty", as they are shown as relative times.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 5b855515e4
Component: cli
2017-04-14 10:44:24 -07:00
0c623e5079 Merge pull request #31482 from ripcurld0/add_format_to_system_df
Add format to the docker system df command
Upstream-commit: 1601dbe620
Component: cli
2017-04-13 10:08:11 -07:00
829a4940fd Merge pull request #28923 from erikh/fix-copy
Fix copy API (`docker cp`, etc) uid/gid handling
Upstream-commit: 384e8e39e1
Component: cli
2017-04-12 08:21:17 -07:00
d224015064 daemon/archive.go: Fix copy routines to preserve UID.
This changes the long-standing bug of copy operations not preserving the
UID/GID information after the files arrive to the container.

Signed-off-by: Erik Hollensbe <github@hollensbe.org>
Upstream-commit: 7a767a1a7e
Component: cli
2017-04-12 10:33:19 +00:00
c367f0aed1 updates for review comments
- runtimeUrl -> type_url
- runtimes -> runtime

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
Upstream-commit: 58e69bfd5a
Component: cli
2017-04-11 14:02:01 -04:00
eac52ae0bb filter services by runtime; default to container
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
Upstream-commit: 06a91d315c
Component: cli
2017-04-11 14:02:01 -04:00
e51ef4acbb Merge pull request #32284 from aaronlehmann/fix-service-defaults
Improve default handling for "service create"
Upstream-commit: 35fc4e4ef3
Component: cli
2017-04-11 13:06:53 +02:00
876db3d882 Merge pull request #32496 from tonistiigi/build-target
builder: add an option for specifying build target
Upstream-commit: f2b5c1e4c6
Component: cli
2017-04-10 19:02:21 -07:00
1bd853679b Merge pull request #32462 from dperny/service-logs-general-availability
Remove experimental from service logs
Upstream-commit: 7a0d2dbcc2
Component: cli
2017-04-10 18:30:20 -07:00
d8b8669d05 Merge pull request #32110 from adshmh/30977-stack-rm-should-accept-multiple-labels
stack rm should accept multiple arguments
Upstream-commit: 988d88530b
Component: cli
2017-04-10 18:19:59 -07:00
16c13bab18 builder: add an option for specifying build target
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: ae43081d1d
Component: cli
2017-04-10 16:21:43 -07:00
33114e5cf5 Merge pull request #32116 from mkumatag/inspect_template
Adopt text/template in node inspect
Upstream-commit: d8dee941c1
Component: cli
2017-04-10 23:02:26 +02:00
90352966e3 Make the CLI show defaults from the swarmkit defaults package
If no fields related to an update config or restart policy are
specified, these structs should not be created as part of the service,
to avoid hardcoding the current defaults.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: d0e8fe18fc
Component: cli
2017-04-10 13:41:18 -07:00
0a65a7c11d Change "service inspect" to show defaults in place of empty fields
This adds a new parameter insertDefaults to /services/{id}. When this is
set, an empty field (such as UpdateConfig) will be populated with
default values in the API response. Make "service inspect" use this, so
that empty fields do not result in missing information when inspecting a
service.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: e62ea2e54d
Component: cli
2017-04-10 13:41:16 -07:00
b75841303e Remove experimental from service logs
Service logs API is now stable. Service logs now support all features,
except retrieving details provided to the log driver.

Signed-off-by: Drew Erny <drew.erny@docker.com>
Upstream-commit: a29c0a6418
Component: cli
2017-04-10 13:40:45 -07:00
e2232fefd3 Merge pull request #31236 from tonistiigi/docker-stdin
build: accept -f - to read Dockerfile from stdin
Upstream-commit: eddc5b9d9e
Component: cli
2017-04-10 20:14:54 +02:00
2e6cb8b129 Merge pull request #31148 from yongtang/31032-NanoCPU-update
Add `--cpus` support for `docker update`
Upstream-commit: 3524ac8f76
Component: cli
2017-04-10 20:02:15 +02:00
52dc5ab75d Merge pull request #30740 from yongtang/29999-prune-filter-label
Add `label` filter for `docker system prune`
Upstream-commit: ec9d4dbdc6
Component: cli
2017-04-10 19:38:01 +02:00
91bf27ffd0 Merge pull request #32427 from adshmh/add-unit-tests-to-cli-command-idresolver-package
Added unit tests to the cli/command/idresolver package
Upstream-commit: 22c1cbe611
Component: cli
2017-04-10 12:41:09 -04:00
e50f7bc874 Adopt text/template in node inspect
Signed-off-by: Manjunath A Kumatagi <mkumatag@in.ibm.com>
Upstream-commit: a484e4eb5f
Component: cli
2017-04-10 17:47:15 +05:30
2afc69443a Merge pull request #32062 from aaronlehmann/change-network-attachments
Support service network attachment changes
Upstream-commit: 3757275eee
Component: cli
2017-04-10 12:49:28 +02:00
09025a38f1 Add format to the docker system df command
Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
Upstream-commit: a2273ea372
Component: cli
2017-04-10 13:04:03 +03:00
5c7c44fc53 Merge pull request #31364 from adshmh/30935-use-encrypted-client-certificate-to-connect-to-a-docker-host
use an encrypted client certificate to connect to a docker daemon
Upstream-commit: 666a23aac2
Component: cli
2017-04-10 10:42:01 +02:00
d5e589cf02 Added unit tests to the cli/command/idresolver package
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
Upstream-commit: dea478b851
Component: cli
2017-04-07 23:23:39 -04:00
8c22ac9602 Show network names in "docker service inspect --pretty"
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 008f6d1b3f
Component: cli
2017-04-07 16:46:25 -07:00
d9f91ded10 cli: Allow service's networks to be updated
Resolve networks IDs on the client side.

Avoid filling in deprecated Spec.Networks field.

Sort networks in the TaskSpec for update stability.

Add an integration test for changing service networks.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 808ca15347
Component: cli
2017-04-07 16:46:25 -07:00
94a0b24057 Merge pull request #32339 from aluzzardi/selinux
services: Add support for Credential Spec and SELinux
Upstream-commit: 1b132eb374
Component: cli
2017-04-08 01:37:17 +02:00
e5c62e50ec Merge pull request #32154 from dperny/refactor-logs
Refactor logs and support service logs with TTY 
Upstream-commit: 5cf0c294d4
Component: cli
2017-04-07 18:06:50 -04:00
02ce22cff9 services: Add support for Credential Spec and SELinux
- Defined "normalized" type for Credential Spec and SELinux
- Added --credential-spec to docker service create & update
- SELinux is API only at the time

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Upstream-commit: 032d4098fb
Component: cli
2017-04-07 11:30:54 -07:00
6a97164931 Merge pull request #32289 from adshmh/add-unit-tests-for-cli-command-secret-package
add unit tests for package cli/command/secret
Upstream-commit: bac1c4a2dd
Component: cli
2017-04-07 15:26:40 +02:00
0af49729ec use an encrypted client certificate to connect to a docker daemon
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
Upstream-commit: 1d17d42f8f
Component: cli
2017-04-07 01:50:51 -04:00
7ca54a3979 refactor logs and support service logs /w tty
Refactor container logs system to make communicating log messages
internally much simpler. Move responsibility for marshalling log
messages into the REST server. Support TTY logs. Pave the way for fixing
the ambiguous bytestream format. Pave the way for fixing details.

Signed-off-by: Drew Erny <drew.erny@docker.com>
Upstream-commit: 938bf846e3
Component: cli
2017-04-06 17:54:11 -07:00
cb9af8f804 Add support for update order
This parameter controls the order of operations when rolling out an
update task. Either the old task is stopped before starting the new one,
or the new task is started first, and the running tasks will briefly
overlap.

This commit adds Rollout to the API, and --update-order / --rollback-order
flags to the CLI.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 2805c2e929
Component: cli
2017-04-06 17:23:36 -07:00
31d840ff9e Add --cpus support for docker update
This fix tries to address the issue raised in 31032 where it was
not possible to specify `--cpus` for `docker update`.

This fix adds `--cpus` support for `docker update`. In case both
`--cpus` and `--cpu-period/--cpu-quota` have been specified,
an error will be returned.

Related docs has been updated.

Integration tests have been added.

This fix fixes 31032.

This fix is related to 27921, 27958.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: f21ec0b4d1
Component: cli
2017-04-06 15:40:12 -07:00
22b017b20d Upadte archive.ReplaceFileTarWrapper() to not expect a sorted archive
Improve test coverage of ReplaceFileTarWrapper()

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: b30ad6dc6e
Component: cli
2017-04-06 13:36:34 -04:00
832db1aaae Merge pull request #28938 from elifa/master
Grace period option to health checks.
Upstream-commit: cd315197e3
Component: cli
2017-04-06 19:23:56 +02:00
da58db9db7 Add label filter for docker system prune
This fix tries to address the issue raised in 29999 where it was not
possible to mask these items (like important non-removable stuff)
from `docker system prune`.

This fix adds `label` and `label!` field for `--filter` in `system prune`,
so that it is possible to selectively prune items like:
```
$ docker container prune --filter label=foo

$ docker container prune --filter label!=bar
```

Additional unit tests and integration tests have been added.

This fix fixes 29999.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 41471dfe1c
Component: cli
2017-04-06 09:11:25 -07:00
c2301d4a13 Merge pull request #32364 from aaronlehmann/preserve-env-order
cli: Preserve order of environment variables
Upstream-commit: fbddea6cac
Component: cli
2017-04-06 14:25:29 +02:00
1a49893201 Added start period option to health check.
Signed-off-by: Elias Faxö <elias.faxo@gmail.com>
Upstream-commit: a58f798fdf
Component: cli
2017-04-06 12:35:34 +02:00
a78cb013ca Factor out adding dockerfile from stdin.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 596cd38a6e
Component: cli
2017-04-05 19:42:31 -04:00
2da2221b17 build: accept -f - to read Dockerfile from stdin
Heavily based on implementation by David Sheets

Signed-off-by: David Sheets <sheets@alum.mit.edu>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 924af54d98
Component: cli
2017-04-05 19:42:31 -04:00
5a8dfda9c4 Merge pull request #32251 from AkihiroSuda/run-mount
cli: add `--mount` to `docker run`
Upstream-commit: 738ac9e797
Component: cli
2017-04-05 22:34:47 +02:00
260f839d34 stack rm should accept multiple arguments
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
Upstream-commit: 585e5a0001
Component: cli
2017-04-05 01:08:37 -04:00
32f6be8e3e cli: add --mount to docker run
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: 02b904588a
Component: cli
2017-04-05 04:52:08 +00:00
9696fa517f cli: Preserve order of environment variables
Unless we are adding or removing environment variables, their order
shouldn't be changed. This makes it look like the service's TaskSpec has
changed relative to the old version of the service, and containers need
to be redeployed.

The existing code always rebuilds the list of environment variables by
converting them to a map and back, but there's no reason to do this if
no environment variables are being added.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 71d1b0507e
Component: cli
2017-04-04 18:16:57 -07:00
5cb6ccf571 Add hidden placeholder of .Self for docker node ls --format
This commit adds a hidden placeholder of `.Self` for
`docker node ls --format` so that if the node is the same
as the current docker daemon, then a `*` is outputed.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: b807d24e56
Component: cli
2017-04-04 12:46:44 -07:00