Commit Graph

177 Commits

Author SHA1 Message Date
John Stephens f05cd11ee2
Remove stack configs on stack removal
Signed-off-by: John Stephens <johnstep@docker.com>
2017-05-26 18:17:43 -07:00
Marcus Martins 862649707e
Handle a Docker daemon without registry info
The current implementation of the ElectAuthServer doesn't handle well when the
default Registry server is not included in the response from the daemon Info
endpoint.

That leads to the storage and usage of the credentials for the default registry
(`https://index.docker.io/v1/`) under an empty string on the client config file.

Sample config file after a login via a Docker Daemon without Registry
information:
```json
{
	"auths": {
		"": {
			"auth": "***"
		}
	}
}
```

That can lead to duplication of the password for the default registry and
authentication failures against the default registry if a pull/push is performed
without first authenticating via the misbehaving daemon.

Also, changes the output of the warning message from stdout to sdterr as
per dnephin suggestion.

Signed-off-by: Marcus Martins <marcus@docker.com>
2017-05-26 14:46:39 -07:00
Daniel Nephin 341703d21e Add tests for verifyExternalNetwork
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-26 12:21:04 -04:00
Madhu Venugopal 123f0bfd98 With the introduction of node-local network support, docker services can
be attached to special networks such as host and bridge. This fix brings
in the required changes to make sure the stack file accepts these
networks as well.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2017-05-25 19:50:08 -07:00
Sebastiaan van Stijn 61c0b9f78d Merge pull request #102 from keloyang/attach-block
Recheck the container's state to avoid attach block.
2017-05-24 12:09:38 +01:00
Josh Soref 70a9905ee5 Spelling fixes
* appropriate
* assumption
* attach
* because
* building
* customized
* mapping
* propagated

Signed-off-by: Josh Soref <jsoref@gmail.com>
2017-05-22 01:39:06 +00:00
Shukui Yang f9dc3337f9 Recheck the container's state to avoid attach block.
If use docker attach command to attach to a stop container, it will return
"You cannot attach to a stopped container" error, it's ok, but when
attach to a running container, it(docker attach) use inspect to check
the container's state, if it pass the state check on the client side,
and then the container is stopped, docker attach command still attach to
the container and not exit.

Signed-off-by: Shukui Yang <yangshukui@huawei.com>
2017-05-20 08:02:06 +08:00
Sebastiaan van Stijn eea4a38cd6 Merge pull request #77 from vdemeester/move-duration-opts
Move duration opts into an opts package
2017-05-18 11:15:30 +02:00
Abhinandan Prativadi 40341ae089 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>
2017-05-17 21:07:48 -07:00
Madhu Venugopal d156151ba1 Merge pull request #49 from aboch/nlo2
Add network create flags --scope, --config-only, --config-from
2017-05-17 20:08:23 -07:00
Sebastiaan van Stijn 74cc280521 Merge pull request #30 from nishanttotla/rename-trust-function
Moving docker service digest pinning to client side
2017-05-18 03:05:48 +02:00
Nishant Totla 39d03bb2bd
Adding a flag to allow disabling registry lookup
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2017-05-17 17:55:11 -07:00
Nishant Totla c61ea6f789
Service create/update set QueryRegistry appropriately
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2017-05-17 17:39:35 -07:00
Alessandro Boch b5e43fb5ec Add support for config-only, config-from and scope options
- To promote a network to swarm mode

Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-05-17 17:17:50 -07:00
Sebastiaan van Stijn 85c2330dfa Merge pull request #80 from AkihiroSuda/adjust-docker-stats
[Carry moby/moby#32777] Adjusted docker stats memory output
2017-05-18 01:55:52 +02:00
Sebastiaan van Stijn b3e7e1ff74 Merge pull request #101 from jlhawn/update_container_wait
Update `run` and `start` to use container wait API
2017-05-18 01:31:40 +02:00
Josh Hawn 6eca53c7ae Refactor holdHijackedConnection
It has been refactored to a hijackedIOStreamer type which has several
methods which are used to prepare input and handle streaming the input
and output separately.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2017-05-17 15:18:01 -07:00
Gaetan de Villele 1cc1f54d90 make system prune “--filter” flag available only for docker 17.04 (api v1.28) and newer
Signed-off-by: Gaetan de Villele <gdevillele@gmail.com>
2017-05-17 12:36:09 -07:00
Josh Hawn 38591f20d0 Update CLI package with containerWait changes
The docker/client package was updated to support the updated Container
Wait API functionality. The run and start commands have been updated to
use the new wait features.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2017-05-17 11:44:54 -07:00
Brian Goff ae1124abad Merge pull request #42 from dperny/service-logs-support-details
Add support for details on service logs
2017-05-17 10:15:55 -04:00
Vincent Demeester dee8e6ab2d Merge pull request #95 from dnephin/use-check-redirect
Use CheckRedirect so that client behaves the same way with GO 1.8
2017-05-17 10:13:42 +02:00
Drew Erny ebc0eff478 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>
2017-05-16 16:53:58 -07:00
Sebastiaan van Stijn 5b19f39017 Merge pull request #89 from aaronlehmann/pretty
Add --pretty option to "secret inspect" and "config inspect"
2017-05-17 01:38:10 +02:00
Aaron Lehmann 62567078ff Add --pretty option to "secret inspect" and "config inspect"
This adds a pretty template for both inspect subcommands. For configs,
it's particularly useful because it's a way to expose the config payload
in the CLI in a non-base64-encoded way.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-05-16 15:12:20 -07:00
Aaron Lehmann c17acee8cf Merge pull request #48 from cyli/root-rotation-cli
Synchronous CLI command for root CA rotation
2017-05-16 14:58:05 -07:00
Sebastiaan van Stijn ebbab14224 Merge pull request #98 from aaronlehmann/logs-padding-underflow
service: Avoid underflow in logs padding calculation
2017-05-16 23:36:25 +02:00
Aaron Lehmann 51f698337d Avoid loop when discarding contents of progress pipe
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-05-16 14:34:59 -07:00
Ying Li 3fe8321d0c Provide command line tool to view and rotate swarm's currently CA root certificate.
Signed-off-by: Ying Li <ying.li@docker.com>
2017-05-16 14:31:15 -07:00
Brian Goff e574286ba2 Add support for configs to compose format
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2017-05-16 17:10:14 -04:00
Aaron Lehmann ab6bc5dce6 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>
2017-05-16 12:27:31 -07:00
Vincent Demeester b5182ba17f
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>
2017-05-16 17:49:40 +02:00
Daniel Nephin f9ab6a77b0 Use CheckRedirect so that client behaves the same way with GO 1.8
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-16 11:48:00 -04:00
Akihiro Suda 3c78bc775c Fix float64 comparison in stats_helpers_test.go
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-05-16 02:13:00 +00:00
Sergey Tryuber 82600b7021 Adjusted docker stats memory output
Signed-off-by: Sergey Tryuber <Sergeant007@users.noreply.github.com>
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-05-16 02:00:47 +00:00
Vincent Demeester d7f6563efc
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>
2017-05-15 14:45:19 +02:00
Aaron Lehmann 35c8732dc9 Merge pull request #44 from cyli/root-ca-info-in-cli
Swarm cluster and node TLS info in CLI
2017-05-12 17:19:23 -07:00
Aaron Lehmann db5620026d Add support for configs
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-05-11 13:42:49 -07:00
cyli b75858eb09 Propagate the swarm cluster and node TLS info provided by the REST API
responses to the CLI. In `node ls`, display only whether the nodes' TLS
info matches the cluster's TLS info, or whether the node needs cert rotation.

Signed-off-by: Ying Li <ying.li@docker.com>
2017-05-10 17:49:25 -07:00
Stephen J Day 9a892f1bbc
cli/command/system: remove ioutils dependency
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-05-10 13:38:06 -07:00
Kenfe-Mickael Laventure cf51bde7d9 Display proper version information
- The cli version defaults to "unknown-version" unless set via the VERSION env var
- The commit version can be overridden via GITCOMMIT env var
- The build time can be overridden via BUILDTIME env var

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-05-09 14:22:51 -07:00
Aleksa Sarai ee7a956c54
client: check tty before creating exec job
This is necessary in order to avoid execId leaks in the case where a
`docker exec -it` is run without a terminal available for the client.
You can reproduce this issue by running the following command many
times.

  % nohup docker exec -it some_container true

The container `some_container` will have execIDs that will never
normally be cleaned up (because the client died before they were
started).

In addition, this patch adds a docker-inspect step to ensure that we
give "container does not exist" errors consistently.

Signed-off-by: Valentin Rothberg <vrothberg@suse.com>
Signed-off-by: Aleksa Sarai <asarai@suse.de>
2017-05-09 21:07:40 +10:00
Daniel Nephin c31d25653f Add line length linter
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-08 15:57:56 -04:00
Daniel Nephin 37ccc00d0e Add interfacer linter
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-08 15:57:50 -04:00
Derek McGowan 515d0fd842 Remove unused trust key
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-05-08 11:49:40 -07:00
Gaetan de Villele 295140edf2 cli: gofmt + goimports
Signed-off-by: Gaetan de Villele <gdevillele@gmail.com>
2017-05-08 10:51:30 -07:00
Tibor Vass 57230a7212 rm client and vendor it instead
Signed-off-by: Tibor Vass <tibor@docker.com>
2017-05-08 10:33:56 -07:00
Ian Campbell c3648a9c94 Add `docker build --iidfile=FILE`
This is synonymous with `docker run --cidfile=FILE` and writes the digest of
the newly built image to the named file. This is intended to be used by build
systems which want to avoid tagging (perhaps because they are in CI or
otherwise want to avoid fixed names which can clash) by enabling e.g. Makefile
constructs like:

    image.id: Dockerfile
    	docker build --iidfile=image.id .

    do-some-more-stuff: image.id
    	do-stuff-with <image.id

Currently the only way to achieve this is to use `docker build -q` and capture
the stdout, but at the expense of losing the build output.

In non-silent mode (without `-q`) with API >= v1.29 the caller will now see a
`JSONMessage` with the `Aux` field containing a `types.BuildResult` in the
output stream for each image/layer produced during the build, with the final
one being the end product.  Having all of the intermediate images might be
interesting in some cases.

In silent mode (with `-q`) there is no change, on success the only output will
be the resulting image digest as it was previosuly.

There was no wrapper to just output an Aux section without enclosing it in a
Progress, so add one here.

Added some tests to integration cli tests.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-05 12:12:36 -07:00
Tibor Vass 03a36f9d50 Fix expected output in test due to linter-induced change on error string
Signed-off-by: Tibor Vass <tibor@docker.com>
2017-05-03 19:26:45 -07:00
Daniel Nephin 779012af69 Refacator pkg/streamformatter
StreamFormatter suffered was two distinct structs mixed into a single struct
without any overlap.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-03 18:49:14 -07:00
yupengzte 9ca78094b5 delete ineffectual assignment
Signed-off-by: yupengzte <yu.peng36@zte.com.cn>
2017-05-03 18:49:14 -07:00
Flavio Crisciani 169160ba63 Inroduce SWARM --data-path-addr flag
This new flag will allow the configuration of an interface that
can be used for data path traffic to be isolated from control
plane traffic. This flag is simply percolated down to libnetwork
and will be used by all the global scope drivers (today overlay)

Negative test added for invalid flag arguments

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2017-05-03 18:45:48 -07:00
Ying Li 81f87595fe Add the CACert parameter to the ExternalCA object in order to match
swarmkit's API type.  Make sure this parameter gets propagated to
swarmkit, and also add an extra option to the CLI when providing
external CAs to parse the CA cert from a file.

Signed-off-by: Ying Li <ying.li@docker.com>
2017-05-03 18:45:48 -07:00
Evan Hazlett 6665c9c747 remove service runtime filter in stack command
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2017-05-03 18:45:48 -07:00
Aaron Lehmann 6f94ab98f5 cli: Correct command/image tests for testify
These tests were caught in the crossfire of the transition to testify.
testify has a few subtle differences from the similar custom framework
it replaced:

- Error behaves differently
- Equal takes its arguments in a different order

This PR also takes the opportunity to use a few shorthands from testify,
such as Len, True, and False.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-05-03 18:45:48 -07:00
Evan Hazlett 25809f8991 move service runtime filter to server
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2017-05-03 18:44:11 -07:00
Vincent Demeester c67589a52c Fix docker run -it on windows
Signed-off-by: Vincent Demeester <vincent@demeester.fr>
2017-05-03 18:41:19 -07:00
Boaz Shuster 5b6bd92862 Add format to docker stack ls
Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
2017-05-03 18:41:19 -07:00
Ignacio Capurro e7793092a2 Unit tests for cli/commands/image (except build and tag)
Signed-off-by: Ignacio Capurro <icapurrofagian@gmail.com>
2017-05-03 18:40:22 -07:00
Dave Henderson 2b31a4bf8d Output `docker swarm join` on a single line
This avoids issues when copy/pasting between different shells on
different OSes, which may not all support `\` as a continuation
character.

Fixes #32725

Signed-off-by: Dave Henderson <dhenderson@gmail.com>
2017-05-03 17:46:41 -07:00
Daniel Nephin a1b7969bce Set Composefile WorkingDir to dirname of the composefile.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-03 17:46:40 -07:00
Dong Chen a316b380e7 do not allow duration less than 1 ms in healthcheck parameters
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
2017-05-03 17:46:40 -07:00
Brian Goff c44e74e676 Add logdrivers to /info
This is required for swarmkit to be able to filter based on log driver.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2017-05-03 17:46:39 -07:00
Antonio Murdaca dea809813e remove --init-path from client
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2017-05-03 17:46:39 -07:00
Daniel Nephin 36a7842089 Fix goimports failure on master.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-03 15:58:39 -04:00
Daniel Nephin c202b4b987 Merge pull request #13 from dnephin/cleanup-post-docker-stin
Small build client cleanup handling dockerfile from stdin
2017-05-03 15:45:41 -04:00
Daniel Nephin b86533c479 Add ineffassign linter.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-02 17:57:46 -04:00
Daniel Nephin 08af0f28c5 Add gocycle lint
Whitelist some existing offenders, and use a high limit for now.
This limit should decrese over time.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-02 17:57:46 -04:00
Daniel Nephin 8f73a12f9b Add deadcode linter.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-02 17:57:46 -04:00
Daniel Nephin 1378bf3dbe Add goimports to linting
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-02 17:57:46 -04:00
Daniel Nephin 690ef8af79 Enable golint
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-02 17:57:46 -04:00
Daniel Nephin e3f677794a Add gometalinter to CI
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-02 17:15:56 -04:00
Daniel Nephin a5044b4982 Move addDockerfileToBuildContext to the build package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-04-28 15:11:36 -04:00
Daniel Nephin b98e03d3b0 Extract dockerfile handling functions.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-04-28 15:11:36 -04:00
Daniel Nephin 59983759c2 Cleanup handling of the - for stdin
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-04-28 15:11:36 -04:00
Gaetan de Villele 5aa70d68b3 remove service runtime filter from client
it’s moving to the server.

Signed-off-by: Gaetan de Villele <gdevillele@gmail.com>
2017-04-27 15:07:20 -07:00
Daniel Nephin 10641c2aae Update imports.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-04-17 18:07:56 -04:00
Daniel Nephin 1630fc40f8 Import docker/docker/cli
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-04-17 17:40:59 -04:00