Commit Graph

1129 Commits

Author SHA1 Message Date
700bfcfe4a Merge pull request #15069 from duglin/UseErrorPackage
Use the new error package
Upstream-commit: e91f2c26ce38787e159162d2c4a43744396e3308
Component: engine
2015-09-15 09:28:53 -04:00
1f4f6c3414 Merge pull request #15931 from vdemeester/api-client-ps-coverage
Add more unit tests on api/client/ps package
Upstream-commit: 7ce270d4ea17d5ec01fe00581fbabf4c5274f0e1
Component: engine
2015-09-14 14:02:49 -07:00
bb8ff26c08 Use the new error package
This is the first step in converting out static strings into well-defined
error types.  This shows just a few examples of it to get a feel for how things
will look. Once we agree on the basic outline we can then work on converting
the rest of the code over.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 628b9a41b09fde3ce1493f7d4f1495b9afaa506c
Component: engine
2015-09-14 13:11:01 -07:00
862065b3b2 Add log reading to the journald log driver
If a logdriver doesn't register a callback function to validate log
options, it won't be usable.  Fix the journald driver by adding a dummy
validator.

Teach the client and the daemon's "logs" logic that the server can also
supply "logs" data via the "journald" driver.  Update documentation and
tests that depend on error messages.

Add support for reading log data from the systemd journal to the
journald log driver.  The internal logic uses a goroutine to scan the
journal for matching entries after any specified cutoff time, formats
the messages from those entries as JSONLog messages, and stuffs the
results down a pipe whose reading end we hand back to the caller.

If we are missing any of the 'linux', 'cgo', or 'journald' build tags,
however, we don't implement a reader, so the 'logs' endpoint will still
return an error.

Make the necessary changes to the build setup to ensure that support for
reading container logs from the systemd journal is built.

Rename the Jmap member of the journald logdriver's struct to "vars" to
make it non-public, and to make it easier to tell that it's just there
to hold additional variable values that we want journald to record along
with log data that we're sending to it.

In the client, don't assume that we know which logdrivers the server
implements, and remove the check that looks at the server.  It's
redundant because the server already knows, and the check also makes
using older clients with newer servers (which may have new logdrivers in
them) unnecessarily hard.

When we try to "logs" and have to report that the container's logdriver
doesn't support reading, send the error message through the
might-be-a-multiplexer so that clients which are expecting multiplexed
data will be able to properly display the error, instead of tripping
over the data and printing a less helpful "Unrecognized input header"
error.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
Upstream-commit: e611a189cb3147cd79ccabfe8ba61ae3e3e28459
Component: engine
2015-09-11 16:50:03 -04:00
c3a694b001 Merge pull request #16215 from HuKeping/save
Refactor CLI docker save
Upstream-commit: bc48194ded4892d277345e45defee66a24f36399
Component: engine
2015-09-11 13:52:59 -04:00
b7b1e671cd Refactor CLI docker save
Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: 22be1e443fa49bafd6aa3ab6c1eb0595fd9fb2b1
Component: engine
2015-09-11 15:31:55 +08:00
d563cc164c Signal to stop a container.
Allow to set the signal to stop a container in `docker run`:
- Use `--stop-signal` with docker-run to set the default signal the container will use to exit.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 0e50d946a25beb134bce2aaf4a209b5cfcbacf8f
Component: engine
2015-09-10 19:56:05 -04:00
9f56a7069d Added tags list to /images/:id/json api.
It closes #10139.

Signed-off-by: Rozhnov Alexandr <nox73@ya.ru>
Upstream-commit: e9e68fa2d29a5e3053fb876b19b5ac5bc6d1c222
Component: engine
2015-09-10 11:55:01 +03:00
da795b0534 Merge pull request #15953 from duglin/DaemonContext
Add a "context" to the api/server/* code
Upstream-commit: 6efe45990d7d50940b8c070be7b45b7a7399d327
Component: engine
2015-09-09 17:28:38 -07:00
9ec0a0380f Move context stuff to its own package
Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: f790496d8bd0930d7b1bc4adf120ae5ef169a958
Component: engine
2015-09-09 14:23:25 -07:00
5e00b6c763 Merge pull request #14626 from kunalkushwaha/add-network-cli-help
"docker network" missing from docker --help
Upstream-commit: a796ac53185c2827017843fec21e02aba88f6ace
Component: engine
2015-09-09 13:36:43 -07:00
8f5d65caff Add a "context" to the api/server/* code
This defines a 'context' object that is passed to each API handler.
Right now the context just has a unique 'requestID' for each API call.
The next steps would be:
- use this 'requestID' in our logging.
- determine the best way to format the logging to include this info.

In particular for log events that generate multiple entries in the log
we can use the requestID to help correlate the log entries.

Adding the requestID to the logging will be a challenge since it could mean
changing every single logrus.XXX() call to pass in the 'context' object.

But first step is to agree on a format, which we can discus in a subsequent
PR, but my initial thoughts are to add it right after the timestamp:

current format:
INFO[0039] POST /v1.21/build?buildargs=%7B%22foo%22%3A%22xxx%22%7D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&memory=0&memswap=0&rm=1&t=&ulimits=null

proposed format:
INFO[0039-83dea1222191] POST /v1.21/build?buildargs=%7B%22foo%22%3A%22xxx%22%7D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&memory=0&memswap=0&rm=1&t=&ulimits=null

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 8b454dd79e6a11c3c881f8a755423713c0491287
Component: engine
2015-09-09 12:51:20 -07:00
b744bb23c3 Use TrimSpace to instead of Trim
String.Trim(string, " ") can only get ride of the blank, but actully we need
to remove all leading and trailing white space include "\t" for example.

Prior to this patch, one can login with "[Tab][Tab]username", and it will
not be consider as the same with "username".

Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: e9602f3561b78313c4d474a8d950f7cc562637e8
Component: engine
2015-09-09 19:37:33 +08:00
154c412ece Merge pull request #15798 from calavera/volume_driver_host_config
Move VolumeDriver to HostConfig to make containers portable.
Upstream-commit: 9ca4aa479788867cd2dce161efa1e43ea5dfc14f
Component: engine
2015-09-08 22:05:40 -04:00
d879adf33b Add --help to "docker volume inspect --help" output
Closes #16146

While in there, modified the testing infrastructure for the help text
so that we can get commands with nested commands - like "volume".

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 87255b6721f4dc02ae34696f2013537fdc967a99
Component: engine
2015-09-08 14:24:00 -07:00
6d655f6a79 Merge pull request #16130 from aboch/vnd
Vendoring libnetwork 3e31cead05cba8ec20241630d051e6d73765b3a2
Upstream-commit: eb5c81e79980dd7fad211724adb27e42a3295a6c
Component: engine
2015-09-08 11:29:34 -07:00
8b42f11b4c Merge pull request #16142 from cpuguy83/stats_pass_container
Don't lookup container 4 times for stats
Upstream-commit: 451f4d0d3b5708108807429d6795248871b175a8
Component: engine
2015-09-08 11:19:33 -07:00
c50d0a0555 Fix usage for docker volume inspect and docker volume rm
For both commands, volume is _not_ optional. Several volumes may
be specified.
Both commands now use the same name (VOLUME) for the command argument.

Signed-off-by: Harald Albers <github@albersweb.de>
Upstream-commit: 00eaa7e1f53d9100e95af80d8a05f8e77e380464
Component: engine
2015-09-08 09:14:57 -07:00
51f6d2a64b Vendoring libnetwork 3e31cead05cba8ec20241630d051e6d73765b3a2
+ Fix a couple of bugs introduced by previous vendoring:
  - in bitseq which prevents to use experimental overlay networking
  - in docker service ls cli o/p
+ Add missing http subrouter for newly introduced sandboxes
+ Fix fragmentation issue on vxlan header addition for overlay network driver
+ Remove libnetwork test code utilities from vendoring

Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: 4d648f924af93b6429d566120a65cb441fee692a
Component: engine
2015-09-08 07:36:35 -07:00
4a380ba714 Don't lookup container 4 times for stats
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: dc8a39036b8c9da4c21c48f492cdbb795170bb21
Component: engine
2015-09-08 10:12:46 -04:00
c805d1d6a5 Merge pull request #14488 from HuKeping/fixstats
Fix connection block when using docker stats API
Upstream-commit: 5f5d73d51591ca0db893e53bddbe3bbd370624e2
Component: engine
2015-09-08 10:01:11 -04:00
f91e0804c7 Make RegistryConfig a typed value in the api.
Remove possible circular dependency that prevented us from using a real
type.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 719886d4352cba3f2cd0092e052bb4cb67d51417
Component: engine
2015-09-07 19:29:33 -04:00
5c5ecbbc35 Complete unit tests on api/client/ps package
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 6baf65d1a69b6e07861c3db5b5f6ed3b8256b4a8
Component: engine
2015-09-06 22:05:57 +02:00
d4738db561 Fix connection block when using docker stats API
For now CLI `docker stats` will not block even if the container was
not running is because there is a 2s timeout setting when waiting for
the response.

I think why we hang there waiting for the container to run is because we
want to get the stats of container immediately when it starts running.
But it will block when use the API directly, for example
- curl
- Google Chrome plugin, Postman
- Firefox plugin, RESTClient

This patch keeps the feature that getting info immediately when container
starts running and in the meantime, it will not block when using the API
directrly.

Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: d9bf8163ad8579cf2ab9f55925f9ea5037e5b525
Component: engine
2015-09-06 17:21:41 +08:00
350911ed1c Move VolumeDriver to HostConfig to make containers portable.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 6549d6517bf9a7c79d21a86cbf36af10fcdbfbe0
Component: engine
2015-09-04 12:42:44 -04:00
b8b3d17b1b "docker network" missing from docker --help
Fixed issues related to network subcommand tests
- "network" in exempted list of short help check
- Condition for exact test modified to meet experimental commands
- Sorting of commands done in flags_experimental

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
Upstream-commit: 44da5c3de2c763c4bc42a74051ad7a37adf1f553
Component: engine
2015-09-04 15:34:17 +09:00
68cefd3677 Fix typo
Signed-off-by: Adrien Gallouët <agallouet@gmail.com>
Upstream-commit: 01059cba78be1796c2152dea53d7f0461aaba1da
Component: engine
2015-09-02 10:43:49 +02:00
d5f4fa7913 Merge pull request #15871 from Microsoft/10662-absolute
Windows: Fix absolute checks
Upstream-commit: 2093616d7f4d74fbdd1a48cfc0fa8219840b2d41
Component: engine
2015-09-01 18:38:36 +02:00
49e7160994 Windows: Fix absolute checks
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 49c1b51ae22e54edc2e13f3195583e47b987fc15
Component: engine
2015-09-01 08:41:37 -07:00
d8058c38dd Remove /containers/ps from the api router.
This route was deprecated more than two years ago in the linked
commit[1]. It's not referenced anywhere in the documentation and it's
time to stop maintaning it.

[1]: 4f9443927e

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: b5cc077864665290456c5ec724427c1f0d7bc96b
Component: engine
2015-09-01 05:17:35 -04:00
cd128eab1d Merge pull request #15606 from jlhawn/img_delete
[daemon] Refactor image_delete.go
Upstream-commit: 96974170f8ca82dedffbfe54e84b6b1b2f5661d2
Component: engine
2015-08-31 18:22:48 +02:00
f57ea43d07 Merge pull request #15873 from cpuguy83/no_args_for_volume_subcmd
Fix `docker volume invalidarg` so it displays usage
Upstream-commit: 754d81bd69801a25e1b0d2d51bb2c20c8771c01b
Component: engine
2015-08-31 10:04:45 +02:00
f6d5f51a76 [daemon] Refactor image_delete.go
This file was not well documented and had very high cyclomatic complexity.
This patch completely rearranges this file and the ImageDelete method to
be easier to follow and more maintainable in the future.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
Upstream-commit: 111d2f348767692a34366ff5cd01f607cf54ad57
Component: engine
2015-08-28 11:01:24 -07:00
d5c2dfe3ee Merge pull request #15310 from MHBauer/demon-lint-squash
golint fixes for daemon/ package
Upstream-commit: 433956cc47c4cf7a52068c0518bd30ad044fa3b7
Component: engine
2015-08-28 17:34:36 +02:00
5950954f43 Merge pull request #15023 from hqhq/hq_add_status_in_inspect
Add status string to State field for inspect
Upstream-commit: 6caaa8a63544c052d757aecee93d3488b7b3d9e2
Component: engine
2015-08-28 08:27:36 -07:00
1870e3919c golint fixes for daemon/ package
- some method names were changed to have a 'Locking' suffix, as the
 downcased versions already existed, and the existing functions simply
 had locks around the already downcased version.
 - deleting unused functions
 - package comment
 - magic numbers replaced by golang constants
 - comments all over

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: abd72d4008dde7ee8249170d49eb4bc963c51e24
Component: engine
2015-08-27 22:07:42 -07:00
062cf19d08 Fix docker volume invalid so it displays usage
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 38da43184d9353d1924ff8cd5bcedcf82ca6b008
Component: engine
2015-08-27 09:46:05 -04:00
bfe1bbc7d2 Add volume API/CLI
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: b3b7eb2723461b1eb4be692f4bced0ae8ea9cb58
Component: engine
2015-08-26 13:37:52 -04:00
1a3f9a1f39 api/client/restart.go:Fix a typo in comment
Signed-off-by: Yingqian Hu <choleraehyq@gmail.com>
Upstream-commit: d30990d7b1468488768847521a3a7ce66a081015
Component: engine
2015-08-26 18:59:56 +08:00
6dd2b74345 Merge pull request #15711 from monitorjbl/import-commit-message
adding message option to the import subcommand
Upstream-commit: b857dadb334fe0660abce4ae73a8b5b5c7f92c33
Component: engine
2015-08-26 11:42:10 +02:00
434547ed08 Merge pull request #14978 from gesellix/websocket-disable-check-origin
skip checkOrigin during websocket handshake
Upstream-commit: e134ccada7fae12271c4169e592b8bf09aff923d
Component: engine
2015-08-25 12:56:30 -04:00
b498641d47 Merge pull request #14665 from coolljt0725/fix_build_with_resource_limit
Fix build with resource limit which system not support.
Upstream-commit: 6f8c4480e4f99b08c84d25f1611d6b12ee646066
Component: engine
2015-08-25 16:42:13 +02:00
15378abfc2 adding message option to the import subcommand
Signed-off-by: Taylor Jones <monitorjbl@gmail.com>
Upstream-commit: 936b2c6afe490b562df4ebea854b116c3b40a9f5
Component: engine
2015-08-25 02:55:04 +00:00
e7fb39d7af Allow HEAD requests to container archives via CORS.
Add HEAD to Access-Control-Allow-Methods.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 354a2e105d26a310501891e6c097eacfd037d8c6
Component: engine
2015-08-24 05:57:22 -04:00
589fca3f48 fix a panic when the exec fails to start
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
Upstream-commit: fcf9daad91d9be24ceddbc4add4d3a8179c9b32c
Component: engine
2015-08-22 00:01:44 +08:00
fc4db8ccd2 Fix docker stats show blkio when there are multiple block devices.
Signed-off-by: Lei Jiang <leijitang@huawei.com>
Upstream-commit: 211449a1cad317e80610e40c9d8c88df35cae60d
Component: engine
2015-08-20 11:46:21 +08:00
6442b64e6e Fix build with resource limit which system is not support.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 770daa15f359ddc7329a2a031332c251e5a53a29
Component: engine
2015-08-18 11:54:00 +08:00
f00550c0b6 Merge pull request #15599 from calavera/ps_format_q
Fix ignore `-q` flag in `docker ps` when there is a default format.
Upstream-commit: 29ced5d0c4d67b3609c95bc039589009086852b3
Component: engine
2015-08-17 15:44:28 -07:00
ff003f32f9 Merge pull request #15356 from Microsoft/10662-uncpathonbuild
Windows: Allow UNC paths on build
Upstream-commit: 436fca704f7cf14b85d1b9324033a1a778d75134
Component: engine
2015-08-17 13:34:27 -07:00
f3a123c54b Windows: Allow UNC paths on build
Signed-off-by: John Howard <jhoward@microsoft.com>
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
Upstream-commit: df7ab6f3dbec85c1cf32b36c4c7dcfdc374f6566
Component: engine
2015-08-17 11:03:54 -07:00