Commit Graph
31882 Commits
Author SHA1 Message Date
Victor Vieux 5a2940263e Merge pull request #35064 from LK4D4/replace_timer
Replace NewTimer().C with After
Upstream-commit: b6aa01570cd8d679afd716f648aeaeb35238fa79
Component: engine
2017-10-10 08:47:37 -07:00
Yong Tang b77f073e16 Merge pull request #35136 from ripcurld0/refactor_plugin_store_get
Refactor plugin store to reduce nested if's in Get
Upstream-commit: 34d502eb9e39847b170dc4f9d6598f6bc2627e9b
Component: engine
2017-10-10 08:07:36 -07:00
bingshen.wbs 84fbbffdb4 fix panic on get container pid when live restore containers
Signed-off-by: bingshen.wbs <bingshen.wbs@alibaba-inc.com>
Upstream-commit: db8de0d0da0a5285dfc35d2c81553a1b2d8db24e
Component: engine
2017-10-10 22:45:34 +08:00
Brian Goff 1ec5c9a00f Merge pull request #34758 from ghislainbourgeois/33495-add-tcp-to-gelf-log-driver
Add TCP support for GELF log driver
Upstream-commit: 3437f0f4e57453097c42088fcfc2ac6bf7c59170
Component: engine
2017-10-10 10:26:01 -04:00
Yong Tang 1fb3125256 Add "Lego set" back in README.md
This PR adds the nice concept of "Lego set" back in README.md.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: d3787d1fdabd1c01b1de1aa761d76f888a533a01
Component: engine
2017-10-10 14:10:39 +00:00
Sebastiaan van Stijn 5c3deebf70 Merge pull request #35141 from justincormack/update-readme
Update README for Moby Project
Upstream-commit: 786311be7d011960801d713f0d01ea9d36f63170
Component: engine
2017-10-10 12:51:52 +02:00
Sebastiaan van Stijn efe89988fe Return 400 error if API client is too new
Commit e98e4a71110fd33852bb755a9b8b4ebc9df904db implemented API version
negotiation using the `/_ping` endpoint. In that change, URL validation for the
maximum supported API version was removed from the API server (validation for
the _minimum_ version was kept in place).

With this feature, clients that support version negotiation would negotiate the
maximum version supported by the daemon, and downgrade to an older API version
if the client's default API version is not supported.

However, clients that do _not_ support version negotiation can call API versions
that are higher than the maximum supported version. Due to the missing version
check, this is silently ignored, and the daemon's default API version is used.

This is a problem, because the actual API version in use is non-deterministic;
for example, calling `/v9999.9999/version` on a daemon that runs API v1.34 will
use API v1.34, but calling the same URL on an older daemon may use API version
v1.24.

This patch reverts the removal of the API check for maximum supported versions.
The documentation has been updated accordingly

Before this patch is applied, the daemon returns a 200 (success):

    $ curl -v --unix-socket /var/run/docker.sock http://localhost/v9999.9999/version
    *   Trying /var/run/docker.sock...
    * Connected to localhost (/Users/sebastiaan/Library/Containers/com.dock) port 80 (#0)
    > GET /v9999.9999/version HTTP/1.1
    > Host: localhost
    > User-Agent: curl/7.54.0
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < Api-Version: 1.32
    < Content-Length: 240
    < Content-Type: application/json
    < Date: Tue, 10 Oct 2017 09:11:29 GMT
    < Docker-Experimental: true
    < Ostype: linux
    < Server: Docker/17.09.0-ce (linux)
    <
    {"Version":"17.09.0-ce","ApiVersion":"1.32","MinAPIVersion":"1.12","GitCommit":"afdb6d4","GoVersion":"go1.8.3","Os":"linux","Arch":"amd64","KernelVersion":"4.9.49-moby","Experimental":true,"BuildTime":"2017-09-26T22:45:38.000000000+00:00"}
    * Connection #0 to host localhost left intact

After this patch is applied, a 400 (Bad Request) is returned:

    $ curl -v --unix-socket /var/run/docker.sock http://localhost/v9999.9999/version
    *   Trying /var/run/docker.sock...
    * Connected to localhost (/var/run/docker.sock) port 80 (#0)
    > GET /v9999.9999/info HTTP/1.1
    > Host: localhost
    > User-Agent: curl/7.52.1
    > Accept: */*
    >
    < HTTP/1.1 400 Bad Request
    < Content-Type: application/json
    < Date: Tue, 10 Oct 2017 08:08:34 GMT
    < Content-Length: 89
    <
    {"message":"client version 9999.9999 is too new. Maximim supported API version is 1.34"}
    * Curl_http_done: called premature == 0
    * Connection #0 to host localhost left intact

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 01f9227ec9116b3969cb0725787e43a5fa26aac2
Component: engine
2017-10-10 11:17:48 +02:00
John Howard c4c23db3b4 Merge pull request #35117 from johnstep/fix-windows-manifest-lists
Stop filtering Windows manifest lists by version
Upstream-commit: 9ed0922683779a65bf729bcc2efef73d7536e543
Component: engine
2017-10-09 20:46:01 -07:00
Yong Tang 388f100559 Merge pull request #35103 from abhi/master
Modifying integration test due to new ipam options in swarmkit
Upstream-commit: 9b8203c09678fd06aebb97e9418ca7f8ea0805ba
Component: engine
2017-10-09 19:32:41 -07:00
John Howard 3730192eec Fix downlevel regression
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: f9b2a20819e7b29ce4dee46d87e8c32ae7ca9899
Component: engine
2017-10-09 13:47:28 -07:00
Abhinandan Prativadi 6cafcfb61b Vendoring libnetwork and swarmkit
Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
Upstream-commit: 2083121b0923dd084fc92873648b7ce74f725da5
Component: engine
2017-10-09 13:08:03 -07:00
Boaz Shuster 3547a4b45b Refactor plugin store to reduce nested if's in Get
This patch removes the nested if's  in the Get function
and makes the code more readable.

Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
Upstream-commit: 36ebf9489c3c6c8422d8ff9bb6e2cb65a9a66698
Component: engine
2017-10-09 22:21:27 +03:00
Yong Tang 0772688cf2 Merge pull request #35138 from vdemeester/foo
Carry 35078 : Fix TestErrorCases to run all tests
Upstream-commit: 513f0e6c26cfac31d41a1eb249758907950cb7be
Component: engine
2017-10-09 12:16:16 -07:00
Nicolas Sterchele f174f34034 Fix #34953 how volumes are pruned from daemon
- Call the function that create an event entry while volumes are
pruning.
- Pass volume.Volume type on volumeRm instead of a name. Volume lookup is done
on the exported VolumeRm function.
- Skip volume deletion when force option used and it does not exists.

Signed-off-by: Nicolas Sterchele <sterchele.nicolas@gmail.com>
Upstream-commit: 63864ad8c17f0119a38af3cb9b1bc64a8afd0584
Component: engine
2017-10-09 21:15:26 +02:00
Justin Cormack db22136d30 Update README for Moby Project
As described in #35115 Completing the Moby Transition, we would like to complete the transition
stage that we began a while back. This tries to clarify what and who this project is for.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: 737410d3f5f8579a26cfa009f4a654bbdf9ce485
Component: engine
2017-10-09 15:25:21 +01:00
John Howard 4d1cde4541 Fix TestErrorCases to run all tests
Signed-off-by: John Howard <jhoward@microsoft.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: d2c41f06c36dc24b2170fef365563d64cc5bd8ec
Component: engine
2017-10-09 15:15:58 +02:00
Sebastiaan van Stijn 9b23ae7d55 API docs: add information about Content-Length header
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: a249ec36dd75df0fffa5d22f98422f778c60126e
Component: engine
2017-10-09 01:43:10 +02:00
Sebastiaan van Stijn 016304f346 Use correct type for ContainerExecAttach
ContainerExecAttach used `types.ExecConfig` instead of `types.ExecStartCheck`,
which is the type that's expected by the `/exec/execid/start` API endpoint.

Investigating when this inconsistency was introduced, I found that the client has
sent the additional properties since its first imlpementation in
c786a8ee5e9db8f5f609cf8721bd1e1513fb0043.

The `postContainerExecStart()` at that time used the "jobs" package, which
only took the information from the body that was needed (`Detach` and `Tty`).

Commit 24425021d26f29a475702064181e6c99fb6bd1c5 refactored the Exec commands
to remove the "jobs", and introduced the `ExecStartCheck` type, but failed to
update the `cli.hijack()` call with the new type.

The change in this patch should not affect compatibility with older clients,
as the additional information from the `ExecConfig` type is not used (the
API server already decodes to the `ExecStartCheck` type).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 5fee8bddfeb9b268f3e0b3c91e0932ee9a5eff83
Component: engine
2017-10-09 01:25:46 +02:00
Sebastiaan van Stijn 0fea1e1271 Merge pull request #35086 from friederbluemle/fix-github-spelling
Fix GitHub spelling
Upstream-commit: 97575ecda9bce64b12ead7b588da7acebb01fa22
Component: engine
2017-10-08 23:21:26 +02:00
He Xiaoxi a7e36cfccc Fix returned error code for network creation from 500 to 409
Signed-off-by: He Xiaoxi <tossmilestone@gmail.com>
Upstream-commit: ab1871872d547e01f78a8a6c7af96c6cf05f793d
Component: engine
2017-10-08 16:00:00 +08:00
John Stephens 5fecfe49b1 Stop filtering Windows manifest lists by version
Signed-off-by: John Stephens <johnstep@docker.com>
Upstream-commit: 8ed8f4a71d7e1a936fa077b4348b7375c81746a6
Component: engine
2017-10-06 22:37:31 -07:00
John Howard 3d973055bf LCOW: API change JSON header to string POST parameter
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: d98ecf2d6cdad7dae65868398440cfdc855e5263
Component: engine
2017-10-06 15:26:48 -07:00
John Howard 35db73fa01 LCOW: API: Add platform to /images/create and /build
Signed-off-by: John Howard <jhoward@microsoft.com>

This PR has the API changes described in https://github.com/moby/moby/issues/34617.
Specifically, it adds an HTTP header "X-Requested-Platform" which is a JSON-encoded
OCI Image-spec `Platform` structure.

In addition, it renames (almost all) uses of a string variable platform (and associated)
methods/functions to os. This makes it much clearer to disambiguate with the swarm
"platform" which is really os/arch. This is a stepping stone to getting the daemon towards
fully multi-platform/arch-aware, and makes it clear when "operating system" is being
referred to rather than "platform" which is misleadingly used - sometimes in the swarm
meaning, but more often as just the operating system.
Upstream-commit: 0380fbff37922cadf294851b1546f4c212c7f364
Component: engine
2017-10-06 11:44:18 -07:00
Frieder Bluemle 1bfeb65ddc Fix GitHub spelling
Signed-off-by: Frieder Bluemle <frieder.bluemle@gmail.com>
Upstream-commit: b80472cef449d900ca9496d97e1527556ff6a04f
Component: engine
2017-10-07 00:10:24 +08:00
Tycho Andersen 70ad19f2e6 drop useless apparmor denies
These files don't exist under proc so this rule does nothing.

They are protected against by docker's default cgroup devices since they're
both character devices and not explicitly allowed.

Signed-off-by: Tycho Andersen <tycho@docker.com>
Upstream-commit: b4a6ccbc5fe695062111cad5a20bb3d0ac5a94db
Component: engine
2017-10-06 09:11:59 -06:00
Abhinandan Prativadi f7a982fdaa Modifying swarm integration test
Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
Upstream-commit: 7e6b2165ef58e68ad4eafd457e8de89dd4c2c6b1
Component: engine
2017-10-05 18:20:00 -07:00
Yong Tang 318e1046f2 Merge pull request #35090 from dmcgowan/windows-support-os-version
Add support for Windows version filtering on pull
Upstream-commit: b8571fd81c7d2223c9ecbf799c693e3ef1daaea9
Component: engine
2017-10-05 17:31:23 -07:00
Derek McGowan dace19a103 Add support for Windows version filtering on pull
Update logic to choose manifest from manifest list to check
for os version on Windows. Separate the logic for windows
and unix to keep unix logic the same.


Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Upstream-commit: 38aef56e1fcb8ea318df98c89cf002267b88a136
Component: engine
2017-10-05 13:31:58 -07:00
Sebastiaan van Stijn 8a57c20de6 Merge pull request #35088 from thaJeztah/bump-golang-to-1.8.4
Bump Go to 1.8.4
Upstream-commit: 2bc9bff86707737ff5df5f23b613d16281f9d223
Component: engine
2017-10-05 21:46:55 +02:00
Yong Tang 6464eb5e89 Merge pull request #35022 from thaJeztah/fix-conflict-status-code
Fix conflicting container name producing 400 error instead of 409
Upstream-commit: f8806b18b4b92c5e1980f6e11c917fad201cd73c
Component: engine
2017-10-05 11:18:06 -07:00
Yong Tang aba7eac9a8 Merge pull request #35085 from thaJeztah/update-portconfig-swagger
Add PortConfig.PublishMode to API documentation
Upstream-commit: f0e393bd0a3064aa72e7aebe2308d518c8fce676
Component: engine
2017-10-05 11:15:17 -07:00
Sebastiaan van Stijn 87d82fc493 Merge pull request #35087 from corbin-coleman/fix-integration-stats-test
Fix One of the Docker Stats Tests in /integration-cli
Upstream-commit: ed082152f6e7c6c7c7fbf2bc777ba1ae88cb9073
Component: engine
2017-10-05 17:59:53 +02:00
Sebastiaan van Stijn bf9a49688b Merge pull request #35084 from thaJeztah/update-authors
Update mailmap and authors
Upstream-commit: a437b078d33bc4284de80be842d0ee9e5c8a18af
Component: engine
2017-10-05 12:21:34 +02:00
Sebastiaan van Stijn b69e823a30 Merge pull request #35056 from tklauser/win-console-mode-consts
Use windows console mode constants from Azure/go-ansiterm
Upstream-commit: 1c4fad8135b52a8a6405aef897712c4ca7a6d168
Component: engine
2017-10-05 00:41:22 +02:00
Alexander Morozov 8d9cd6c880 Replace NewTimer().C with After
It is the same thing

Signed-off-by: Alexander Morozov <lk4d4math@gmail.com>
Upstream-commit: 1a517a4a429d2b4db15383fc9d514fc8db66f8d3
Component: engine
2017-10-04 14:24:19 -07:00
Sebastiaan van Stijn 9aa7f4c8ce Bump Go to 1.8.4
Bumps the Go version used to 1.8.4, which contains
security fixes; https://groups.google.com/forum/#!topic/golang-announce/1hZYiemnkdE

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 33e8141f63ccc1a660529cd0d3581bd908bc8c1b
Component: engine
2017-10-04 23:22:23 +02:00
Corbin d29f681cdb Use the first 12 characters of the ID to match the output of docker stats command
Signed-off-by: Corbin <corbin.coleman@docker.com>
Upstream-commit: 8c10098ea51017fb514bef5c31a310a3f2d0d411
Component: engine
2017-10-04 13:43:00 -07:00
Sebastiaan van Stijn 9da01454db Fix conflicting container name producint 400 error instead of 409
Commit ebcb7d6b406fe50ea9a237c73004d75884184c33 removed string checking
for error messages, in favor of typed errors.

In this change, the status code for conflicting container  names
changed from 409 to 400 (validationError).

This patch add a `nameConflictError`, changing the status code to
409 as it was in older versions.

With this change applied, the correct 409 status is returned:

```bash
$ docker create --name c1 busybox
```

```bash
$ curl --unix-socket /var/run/docker.sock -v -XPOST -H"Content-Type: application/json" -d'{"Image":"busybox"}' http://localhost/containers/create?name=c1
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying /var/run/docker.sock...
* Connected to localhost (/var/run/docker.sock) port 80 (#0)
> POST /containers/create?name=c1 HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 19
>
* upload completely sent off: 19 out of 19 bytes
< HTTP/1.1 409 Conflict
< Api-Version: 1.33
< Content-Type: application/json
< Docker-Experimental: false
< Ostype: linux
< Server: Docker/17.06.0-dev (linux)
< Date: Thu, 28 Sep 2017 15:07:23 GMT
< Content-Length: 229
<
{"message":"Conflict. The container name \"/c1\" is already in use by container \"ed2efdc806c1883954e677eb9ab8cbc7e286c9c5934ef6724fd5d93c56744923\". You have to remove (or rename) that container to be able to reuse that name."}
* Curl_http_done: called premature == 0
* Connection #0 to host localhost left intact
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: e424343b4348f994d5c2922e7556629a620b4b3b
Component: engine
2017-10-04 20:39:45 +02:00
Sebastiaan van Stijn c1d495468d Add PortConfig.PublishMode to API documentation
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: fd90733972c6e78a0871b068e01e29ae1ac97fd7
Component: engine
2017-10-04 15:34:08 +02:00
Sebastiaan van Stijn 27685bd51b Update mailmap and authors
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 4309d3cf6b12fb7e9c5f23b756aed33f6dd74d1e
Component: engine
2017-10-04 14:44:24 +02:00
Christopher Jones c75056fadb [integration-cli] fix s390x flaky test
s390x node-1 has kernel 4.6.0, kernel.CompareKernelVersion()
returns 0 if the kernels are equal, so include that.

Full logic for CompareKernelVersion() is
a > b ret 1,
a == b ret 0,
a < b ret -1

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
Upstream-commit: aa5ea652c8864f014e1fa480d7e504f0d742c170
Component: engine
2017-10-03 12:13:29 -04:00
Yong Tang b11186b8f9 Merge pull request #34342 from coolljt0725/fallback_to_naive_diff
Fallback to use naive diff driver if enable CONFIG_OVERLAY_FS_REDIRECT_DIR
Upstream-commit: 595b929c573236dd95111429039f7f0788c1a7e5
Component: engine
2017-10-03 06:45:17 -07:00
Sebastiaan van Stijn 72747182f4 Remove deprecated IsErr...NotFound() functions
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 7553fc4bcd80d103096f2e8f662b7fb3c65b5249
Component: engine
2017-10-03 12:07:49 +02:00
Sebastiaan van Stijn 886e433681 Replace uses of deprecated IsErr...Notfound()
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 919726b5dbf7f063f82eac2f5384966fc7271710
Component: engine
2017-10-03 12:05:03 +02:00
Daniel Nephin 63ac4b5569 Skip all testdata in integration
Also skip.IfCondition directly from the test, so that the skip message is correct

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 104c1c68438c5c59ab0e7a5fb2da6bae4ce6d080
Component: engine
2017-10-02 17:02:52 -04:00
Alexander Morozov d35ee25d03 pkg/locker: add benchmarks
Signed-off-by: Alexander Morozov <lk4d4math@gmail.com>
Upstream-commit: 889cfd1b441e8039bb6b78e8c54276b8eb03cdef
Component: engine
2017-10-02 11:20:21 -07:00
David Sheets 4b75060b8c integration/plugin/authz: inline CLI work-alike library
I strongly disagree with the design of this pull request.

Signed-off-by: David Sheets <dsheets@docker.com>
Upstream-commit: 1574d91463efd4741c2f6620718abdb624967584
Component: engine
2017-10-02 14:20:59 +01:00
David Sheets 8ebec737fa integration/plugin/authz: port tests from integration-cli
Signed-off-by: David Sheets <dsheets@docker.com>
Upstream-commit: 928b0631c96ae5cb0105b3bf42d43ba529a14aa1
Component: engine
2017-10-02 14:20:59 +01:00
Tobias Klauser 46c885c3e3 Use all console mode constants from go-ansiterm
The missing console mode constants were added to go-ansiterm in
Azure/go-ansiterm#23. Use these constants instead of defining them
locally.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: 9335683fa50c4863ada4bf00a30e7dfbfef3c783
Component: engine
2017-10-02 09:49:20 +02:00
Tobias Klauser 81273ccd92 vendor: re-vendor github.com/Azure/go-ansiterm
Re-vendor go-ansiterm to d6e3b3328b783f23731bc4d058875b0371ff8109 in
order to get the newly added console mode constants.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: 2b946fbc7012eff745e23aa43672f4ce4c5208a6
Component: engine
2017-10-02 09:47:38 +02:00