Commit Graph

365 Commits

Author SHA1 Message Date
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
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
a8d6119113 Finish linting opts and trust package.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 0bd016b1c31f807169019d10a496144c34698431
Component: engine
2015-08-27 17:36:11 +02:00
20b02657f2 Merge pull request #15865 from Microsoft/10662-isabs
Windows: Fix use of IsAbs check
Upstream-commit: 47cdae243a7e0108d487e88cab966ff09e8d94c0
Component: engine
2015-08-26 13:29:24 -07:00
05f2bb7d8b Merge pull request #14242 from cpuguy83/add_volume_api
Add volume api
Upstream-commit: fa13f7cde81d1d92c17740efb05823e7f9cc5468
Component: engine
2015-08-26 21:57:12 +02:00
799fa64220 Windows: Fix use of IsAbs check
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: f11ba3135b19006a47cf80861f3c291a3211eb1e
Component: engine
2015-08-26 12:38:28 -07: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
34f99e4291 Merge pull request #15848 from calavera/revert_ipc_mounts
DO NOT MERGE: Check if these commits broke the builds.
Upstream-commit: 5dadfa8b697f83619f4782eb2421c161a779b859
Component: engine
2015-08-26 10:29:25 -07:00
c1608c666a Merge pull request #13304 from coolljt0725/restart_daemon_with_paused_containers
Fix restart docker daemon with paused containers
Upstream-commit: 2cec06fbcd0b4cb6107ae432d92c3997075a4035
Component: engine
2015-08-26 09:04:14 -04:00
8c106c9224 Revert "Add support for sharing /dev/shm/ and /dev/mqueue between containers"
This reverts commit d88fe447df0e87b3a57f9d08b108b141dd72678c.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 688dd8477e907ca1899c6c2863775b3af2c30174
Component: engine
2015-08-26 05:23:00 -04:00
ef9b8937c0 Fix docker daemon restart with paused container.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 9a9724ad5616dc1a29efabe8082bde043c1a2bc9
Component: engine
2015-08-25 09:42:58 +08:00
322a07231d Merge pull request #12159 from mrunalp/feature/ipc_share_dev
ipc: Share /dev/shm and /dev/mqueue when --ipc container:<id/name> is used
Upstream-commit: 903cd2b9e3e2cea8b5ee7c0b74d52ff4a3beafb5
Component: engine
2015-08-24 17:55:03 -07:00
83ec490c79 Merge pull request #15348 from tonistiigi/11008-always-unless-stopped-restart-policy
Add always-unless-stopped restart policy
Upstream-commit: fd8b25c802780683cc5776e6d3aaca9536e7370b
Component: engine
2015-08-24 13:48:56 -04:00
0313208649 Fix docker daemon start with old running container which user volume plugin. Fixes #15720
Signed-off-by: Lei Jitang <leijitang@huawei>
Upstream-commit: c8a46cb0b2793bb7d742a3d221ec733d1bbaae2c
Component: engine
2015-08-21 11:29:53 +08:00
58ef88608a Add support for sharing /dev/shm/ and /dev/mqueue between containers
This changeset creates /dev/shm and /dev/mqueue mounts for each container under
/var/lib/containers/<id>/ and bind mounts them into the container. When --ipc:container<id/name>
is used, then the /dev/shm and /dev/mqueue of the ipc container are used instead of creating
new ones for the container.

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: d88fe447df0e87b3a57f9d08b108b141dd72678c
Component: engine
2015-08-19 12:36:52 -04:00
2bf42179ec Add unless-stopped restart policy
Fixes #11008

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 10305dc5e8cc7e2e1560ce2abe93c17e923a1c47
Component: engine
2015-08-18 11:39:06 -07:00
39fa3c5eb8 Merge pull request #15632 from mountkin/fix-15626
a quick fix to #15626
Upstream-commit: 1c916dbd8359beb9db14f2688879977db86b2c1d
Component: engine
2015-08-17 20:26:47 -04:00
e353ad2a0e a quick fix to #15626
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
Upstream-commit: 3977f30869fad2c679d7913ce968add7c7987282
Component: engine
2015-08-17 21:35:57 +08:00
73f39654a9 Windows: Graph remove custom interface and add central store
Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>

Windows: add support for images stored in alternate location.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
Upstream-commit: dfbb5520e3b35030f3eef38d5a2d86ad20ea0a2f
Component: engine
2015-08-14 23:45:53 -07:00
2781bd4bd9 Add platformSupported flag to enable daemon mode by platform.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 10d30c64579639f30aa857a881cd813a75193887
Component: engine
2015-08-07 09:45:24 -07:00
0655529aa6 Move sysinfo out of daemon struct
sysinfo struct was initialized at daemon startup to make sure
kernel configs such as device cgroup are present and error out if not.
The struct was embedded in daemon struct making impossible to detect
if some system config is changed at daemon runtime (i.e. someone
umount the memory cgroup). This leads to container's starts failure if
some config is changed at daemon runtime.
This patch moves sysinfo out of daemon and initilize and check it when
needed (daemon startup, containers creation, contaienrs startup for
now).

Signed-off-by: Antonio Murdaca <runcom@linux.com>
(cherry picked from commit 472b6f66e03f9a85fe8d23098dac6f55a87456d8)
Upstream-commit: b2d06b6fba307a8972d08477ef8b711e31ace433
Component: engine
2015-08-06 15:46:09 -07:00
53438e8738 Remove daemon check for TEST
Closes #3745

I think DEBUG is still used (might be wrong though) and according to
https://github.com/docker/docker/issues/3745#issuecomment-76035979 there
is now nothing in integration (all has been migrated to integration-cli)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 9af6b57a5d466ab3fdea0db8ba8d9a417519a63e
Component: engine
2015-08-01 15:13:38 +02:00
0514f6080b Merge pull request #15179 from Microsoft/10662-yetmoretodos
Windows: Tidy verifyContainerSettings
Upstream-commit: 500a314713b9c2382c77d1d57cab960ce94f3661
Component: engine
2015-07-30 23:58:16 -04:00
6c86a6f59d Windows: Address more todos
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 3fea79bfd835960e3f6c9972305e350ee2e256b2
Component: engine
2015-07-30 15:28:11 -07:00
3c8e934faf Simplify and fix os.MkdirAll() usage
TL;DR: check for IsExist(err) after a failed MkdirAll() is both
redundant and wrong -- so two reasons to remove it.

Quoting MkdirAll documentation:

> MkdirAll creates a directory named path, along with any necessary
> parents, and returns nil, or else returns an error. If path
> is already a directory, MkdirAll does nothing and returns nil.

This means two things:

1. If a directory to be created already exists, no error is returned.

2. If the error returned is IsExist (EEXIST), it means there exists
a non-directory with the same name as MkdirAll need to use for
directory. Example: we want to MkdirAll("a/b"), but file "a"
(or "a/b") already exists, so MkdirAll fails.

The above is a theory, based on quoted documentation and my UNIX
knowledge.

3. In practice, though, current MkdirAll implementation [1] returns
ENOTDIR in most of cases described in #2, with the exception when
there is a race between MkdirAll and someone else creating the
last component of MkdirAll argument as a file. In this very case
MkdirAll() will indeed return EEXIST.

Because of #1, IsExist check after MkdirAll is not needed.

Because of #2 and #3, ignoring IsExist error is just plain wrong,
as directory we require is not created. It's cleaner to report
the error now.

Note this error is all over the tree, I guess due to copy-paste,
or trying to follow the same usage pattern as for Mkdir(),
or some not quite correct examples on the Internet.

[v2: a separate aufs commit is merged into this one]

[1] https://github.com/golang/go/blob/f9ed2f75/src/os/path.go

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Upstream-commit: a83a76934787a20e96389d33bd56a09369f9b808
Component: engine
2015-07-30 11:48:08 -07:00
67bf5ba305 Replace GenerateRandomID with GenerateNonCryptoID
This allow us to avoid entropy usage in non-crypto critical places.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 6bca8ec3c9ccc169c53b3d7060fe5c8ba8670aac
Component: engine
2015-07-28 22:31:01 -07: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
f26f8b4a2b Clarify error message when container name is already in use. Signed-off-by: Gustav Sinder <gustav.sinder@gmail.com>
Signed-off-by: gs11 <gustav.sinder@gmail.com>
Upstream-commit: 547d6c6656f161c3ad60c85ac0f19cf3d80571c7
Component: engine
2015-07-25 14:08:38 +02:00
c3fd270a2c Merge branch 'master' of github.com:docker/docker into error
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: 4815fdc334c5b479095b3d16657b2321ef76cb0c
Component: engine
2015-07-22 08:06:19 -04:00
81dcb09562 If a user hits this error it would be helpful to know tagstore name.
There are several bug reports on this error happening, and error is
not helpful unless you read the code.  Google brings up removing
the repositories.btrfs file.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: 96a4469835c68e0b9c448344777fbff077b514ea
Component: engine
2015-07-21 09:26:27 -04:00
b70343dc2b Fixing Image struct to no longer use Graph.
Signed-off-by:  John Howard <jhoward@microsoft.com>
Upstream-commit: 9001ea26e7821239207586ad23c78c67d6926bfc
Component: engine
2015-07-20 13:59:53 -07:00
d9e652a366 Update libcontainer
Replaced github.com/docker/libcontainer with
github.com/opencontainers/runc/libcontaier.
Also I moved AppArmor profile generation to docker.

Main idea of this update is to fix mounting cgroups inside containers.
After updating docker on CI we can even remove dind.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: c86189d554ba14aa04b6314970d3699e5ddbf4de
Component: engine
2015-07-16 16:02:26 -07:00
017d6047d5 added ability to iterate over all indexes and use index.Iterate() instead of ReadDir() to walk over the graph
Signed-off-by: Roman Strashkin <roman.strashkin@gmail.com>
Upstream-commit: cc955ae73c8aa234e0c41bdb65f111be79b32b90
Component: engine
2015-07-07 22:13:28 +03:00
975b53b7ee Windows: Move daemon check back centrally
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 62a75fca689d235276a6aeaa91a5230de522a3f1
Component: engine
2015-07-11 12:42:46 -07:00
1296feade8 Windows: Graph driver implementation
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 52f4d09ffb376ffaa6677cb1e0413c6a97f53f24
Component: engine
2015-07-10 14:33:11 -07:00
18d3d40382 Merge pull request #14476 from crosbymichael/execid-growth-fix
Prevent uncontrolled exec config growth
Upstream-commit: 382799a64253a1da46613a2290a2f59d02710df8
Component: engine
2015-07-09 15:36:11 -07:00
48bfe58a0d Check dockerinit only if lxc driver is used
This allow you to run dynamically linked docker without compiling
dockerinit.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 96bc377a8d293cf786722ebb0ff89a81d63e43ed
Component: engine
2015-07-08 14:12:51 -07:00
6d71e61742 Add GC loop to clean exec command refs on daemon
This adds an event loop for running a GC cleanup for exec command
references that are on the daemon.  These cannot be cleaned up
immediately because processes may need to get the exit status of the
exec command but it should not grow out of bounds.  The loop is set to a
default 5 minute interval to perform cleanup.

It should be safe to perform this cleanup because unless the clients are
remembering the exec id of the process they launched they can query for
the status and see that it has exited.  If they don't save the exec id
they will have to do an inspect on the container for all exec instances
and anything that is not live inside that container will not be returned
in the container inspect.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 5f017bba48e5c763157e1b35a5edea64cc41fc6a
Component: engine
2015-07-08 13:47:59 -07:00
800d4df14d Windows: Win32 event for sigusr1 linux equivalence
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: f4b08c7f5eed2eece239086f260eee9e736ee227
Component: engine
2015-07-06 18:58:53 -07:00
2639bef2c5 Show error message when todisk failed
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: af7f81878f561ecdab32936d4bea72f0ab26ce0e
Component: engine
2015-07-02 18:24:35 +08:00
521162c904 fixed incorrect assumption on --bridge=none treated as disable network
libnetwork host, none and bridge driver initialization is incorrectly
disabled if the daemon flag --bridge=none. The expected behavior of
setting --bridge as none is to disable the bridge driver alone and let
all other modes to be operational.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: c9328c6ccf120abda297d11fcfc7e60c7c31ec21
Component: engine
2015-06-30 13:04:28 -07:00
f1c962082a Merge pull request #14133 from Microsoft/10662-netmode
Windows: Refactor network modes
Upstream-commit: 18d5d3ba0332f95a294f09cd8c3ac9aeada0a4a5
Component: engine
2015-06-29 15:02:42 -07:00
0a2b0f80c4 Windows: Refactor network modes
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: c5e6a4b307d93c066c07b7664ffc676708b42391
Component: engine
2015-06-29 13:13:55 -07:00
786eafcf79 Merge pull request #14120 from mdavranche/tempDir
tempDir (in the root dir), must be created after the root dir.
Upstream-commit: 2d15b35f7afaf496ecfbfd61e2c102033255386e
Component: engine
2015-06-26 11:46:55 -07:00
92372b77d4 Set exit code of old running container as 137
Signed-off-by: Chun Chen <chenchun.feed@gmail.com>
Upstream-commit: b0b2f979c7c43e2975d5e39340c168da2da42d1d
Component: engine
2015-06-25 22:30:09 +08:00
c7e221d5e4 tempDir (in the root dir), must be created after the root dir.
Signed-off-by: mikael.davranche <mikael.davranche@corp.ovh.net>
Upstream-commit: 41f69883d25cc62ae2fb1efdf79f2e7df539c56a
Component: engine
2015-06-23 14:53:18 +02:00
e0f70657f2 Windows: Fix cgroup regression
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 9d0ed1dea076219115a6dc34a8c7e906cacf1e1a
Component: engine
2015-06-19 15:29:47 -07:00
73618ddb2e cleanup sysinfo package
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 9b05aa6ee8e628695b3661b2c5a438f61330ba53
Component: engine
2015-06-17 20:41:14 -04:00
1868142b6e Fix circular import for windows vfs graphdriver
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 49834e8d5922f8c256124177b188d89007af03f6
Component: engine
2015-06-16 09:08:10 -04:00
9ac0ec70e6 Get Mtu from default route
If no Mtu value is provided to the docker daemon, get the mtu from the
default route's interface.  If there is no default route, default to a
mtu of 1500.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: ff4e58ff560d864432261a68502a8a5543145fdf
Component: engine
2015-06-15 16:33:02 -07:00