Commit Graph

22 Commits

Author SHA1 Message Date
c12ca2de3a Allocate resources for server API before daemon creation
It prevents occupying of those resources (ports, unix-sockets) by
containers.
Also fixed false-positive test for that case.

Fix #15912

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 5eda566f937dddef9d4267dd8b8b1d8c3e47b290
Component: engine
2015-10-05 09:32:08 -07:00
1fb74bb17c Separate API router from server.
Implement basic interfaces to write custom routers that can be plugged
to the server. Remove server coupling with the daemon.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: da982cf5511814b6897244ecaa9c016f8800340a
Component: engine
2015-09-29 19:43:03 -04:00
8cec2a263a Define a context per request.
Avoid creating a global context object that will be used while the daemon is running.

Not only this object won't ever be garbage collected, but it won't ever be used for anything else than creating other contexts in each request. I think it's a bad practive to have something like this sprawling aroud the code.

This change removes that global object and initializes a context in the cases we don't have already one, like shutting down the server.
This also removes a bunch of context arguments from functions that did nothing with it.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 27c76522dea91ec585f0b5f0ae1fec8c255b7b22
Component: engine
2015-09-24 18:44:53 -04:00
bf44c732da Add context.RequestID to event stream
This PR adds a "request ID" to each event generated, the 'docker events'
stream now looks like this:

```
2015-09-10T15:02:50.000000000-07:00 [reqid: c01e3534ddca] de7c5d4ca927253cf4e978ee9c4545161e406e9b5a14617efb52c658b249174a: (from ubuntu) create
```
Note the `[reqID: c01e3534ddca]` part, that's new.

Each HTTP request will generate its own unique ID. So, if you do a
`docker build` you'll see a series of events all with the same reqID.
This allow for log processing tools to determine which events are all related
to the same http request.

I didn't propigate the context to all possible funcs in the daemon,
I decided to just do the ones that needed it in order to get the reqID
into the events. I'd like to have people review this direction first, and
if we're ok with it then I'll make sure we're consistent about when
we pass around the context - IOW, make sure that all funcs at the same level
have a context passed in even if they don't call the log funcs - this will
ensure we're consistent w/o passing it around for all calls unnecessarily.

ping @icecrime @calavera @crosbymichael

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 26b1064967d9fcefd4c35f60e96bf6d7c9a3b5f8
Component: engine
2015-09-24 11:56:37 -07: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
3ec8bc1fa3 Cleanup: Merge adjustCPUShares to adoptContainerSettings
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: e0af23dc18eac17633ab1f2541f26b56c303a18c
Component: engine
2015-08-06 08:15:14 +08:00
9abcd15501 Windows: Daemon build is broken
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: b43dc0d93c3678c3fe5e6247aa19a2bf71ef35d6
Component: engine
2015-07-29 20:08:51 -07:00
dcda9483a8 api/server fix golint errors/warnings.
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
Upstream-commit: 351f6b8ec011983d894951769c2116c9feaf81d2
Component: engine
2015-07-28 22:44:39 +00:00
5acbf86531 Windows: Factoring out unused fields
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 47c56e4353792e16f994a35ea4063768bee6590e
Component: engine
2015-07-27 17:44:18 -07:00
4c8d2626b0 register libnetwork API and UI with docker parent chain
This commit also brings in the ability to specify a default network and its
corresponding driver as daemon flags. This helps in existing clients to
make use of newer networking features provided by libnetwork.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: da5a3e6dee80f1f5d4059851e4762ffb0484f7e9
Component: engine
2015-06-18 12:07:58 -07:00
7f7a52e645 Windows: Patch up compile after adjustCpuShares
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: d2c5fcc8d5ada5e2f33562ca9f7a9b05d0b01676
Component: engine
2015-06-12 13:00:59 -07:00
9252f9c26a Adjust disallowed CpuShares in /containers/create
Previous versions of libcontainer allowed CpuShares that were greater
than the maximum or less than the minimum supported by the kernel, and
relied on the kernel to do the right thing. Newer libcontainer fails
after creating the container if the requested CpuShares is different
from what was actually created by the kernel, which breaks compatibility
with earlier Docker Remote API versions. This change explicitly adjusts
the requested CpuShares in API versions < 1.20.

Signed-off-by: Samuel Karp <skarp@amazon.com>
Upstream-commit: ed39fbeb2ad3959f37cf6c16aaf30aacb3292817
Component: engine
2015-06-04 17:19:39 -07:00
0b80863b93 Windows: Refix server_windows to match linux
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 2b7569ccc359a1925dbf48f88a2f2a61c277bc32
Component: engine
2015-05-29 21:25:27 -07:00
08d07187fd Windows: factor out bridge server+config
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: ead2f80073623cb53ade435811b155fe69f2774e
Component: engine
2015-05-23 19:22:06 -07:00
7811ce8b6f Extract sockets initialization to a package.
Because I just used it somewhere else and it would be nice if I didn't have to copy and paste the code.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 0bfbc6e78823fc2f455b01a02721f17bcbcaecff
Component: engine
2015-05-20 16:48:39 -07:00
2e27fa9e39 Make API server datastructure
Added daemon field to it, will use it later for acces to daemon from
handlers

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: d9ed3165228b60cb89c31d0d66b99e01ab83eb3e
Component: engine
2015-04-20 08:13:39 -07:00
6488f10044 Remove builtins
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: a0bf80fe0372196812a9cb295f209c08f8037601
Component: engine
2015-04-17 14:27:38 +02:00
9ae8147d1a Change log severity for non-tlsverify bind
closes #12459

Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: b052f7a87cb73aa2b0d4827f6cf23b9eb0fdfa2e
Component: engine
2015-04-17 21:27:58 +08:00
82a7741d14 Make server_windows.go consistent with server_linux.go
Signed-off-by: Darren Shepherd <darren@rancher.com>
Upstream-commit: 7433c9c92a9d2b53331f729249ddbbfa70cb76de
Component: engine
2015-04-01 17:31:15 -07:00
358cb6ec63 Refactor API socket handling
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 62806cc85e7faee56acc454b67b8f36786472759
Component: engine
2015-03-31 13:37:49 -07:00
806995e9fe Factor out ServeFD & systemd in server for Linux only (Not Windows)
Signed-off-by: John Howard <John.Howard@microsoft.com>
Upstream-commit: 081c6c76e2e9924159e1d320525048e4657a9e74
Component: engine
2015-03-10 15:06:16 -07:00
d7d038bd8a api\server: Factored out UnixHttp on Windows, supported on Linux only.
Signed-off-by: John Howard <John.Howard@microsoft.com>
Upstream-commit: 69246e15276d7010c00269be140b9fb1a5c11ae5
Component: engine
2015-02-25 09:24:34 -08:00