Commit Graph

344 Commits

Author SHA1 Message Date
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
5390ec6e1b Cleanup driver and graph db after stopping containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 0964a664e85c88568863df30f43b0e3974093348
Component: engine
2015-06-10 16:11:50 -07:00
a180cd8538 Windows: Refactor daemon
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 8fb0ca2c35c0df38a79c4eac62fd7d04e3688240
Component: engine
2015-06-10 12:42:43 -07:00
438dab23c9 Merge pull request #13699 from calavera/volume_backwards
Allow to downgrade local volumes from > 1.7 to 1.6.
Upstream-commit: 55bdb51659b3982ae78cd24ed0823f6b8d0bb9b2
Component: engine
2015-06-09 19:51:06 -07:00
416f8a0f5b Allow to downgrade local volumes from > 1.7 to 1.6.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: bd9814f0db9c8a087e42b66eabb8413bf1b2ab66
Component: engine
2015-06-09 18:04:59 -07:00
0ae1820eeb Merge pull request #13784 from mrjana/cnm_integ
libnetwork: Add garbage collection trigger
Upstream-commit: 4750e1f77ef1f42f8b826f7314ec4c2b3f7a4f34
Component: engine
2015-06-09 17:24:30 -07:00
58ce17869e daemon: cleanup getting container logic
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Upstream-commit: 73bc885b23fb06b6d9d6cb554fde93fe0e6bcb98
Component: engine
2015-06-09 14:47:07 +08:00
2ee4e129d1 libnetwork: Add garbage collection trigger
When the daemon is going down trigger immediate
garbage collection of libnetwork resources deleted
like namespace path since there will be no way to
remove them when the daemon restarts.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Upstream-commit: c68e7f96f9636a9b2ab0c2c0dbf753161fa73fc2
Component: engine
2015-06-07 21:33:51 -07:00
4d366ead20 Cleanup: remove some useless code and change verifyHostConfig to verifyContainerSetting
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 67552fb22d254ba5e515aa899b1da3173f474a14
Component: engine
2015-06-08 09:06:58 +08:00
9644714f56 Restore --default-gateway{,-v6} daemon options.
This was added before the libnetwork merge, and then lost. Fixes #13755.

Signed-off-by: Eric-Olivier Lamey <eo@lamey.me>
Upstream-commit: 5fa60149e27a8d8e50e6fc6210a2d2bea93c8ab2
Component: engine
2015-06-05 06:21:22 +00:00
4610cc7a2b Merge pull request #12400 from coolljt0725/kill_all_containers_on_daemon_shutdown
Ensure all the running containers are killed on daemon shutdown
Upstream-commit: 04c6f09fbdf60c7765cc4cb78883faaa9d971fa5
Component: engine
2015-05-29 16:45:57 -07:00
6226136075 Remove PortSpecs from Config
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: 15134a3320fbacee36e86a0342e7ffb49285f297
Component: engine
2015-05-29 22:38:09 +02:00
744dbdd6f9 Mount bind volumes coming from the old volumes configuration.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 53d9609de472f2fc9e6aaef2b713f526605f4ab8
Component: engine
2015-05-28 14:06:17 -07:00
c59e5318a9 Use SELinux labels for volumes
Fixes a regression from the volumes refactor where the vfs graphdriver
was setting labels for volumes to `s0` so that they can both be written
to by the container and shared with other containers.
When moving away from vfs this was never re-introduced.
Since this needs to happen regardless of volume driver, this is
implemented outside of the driver.

Fixes issue where `z` and `Z` labels are not set for bind-mounts.

Don't lock while creating volumes

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: b2a43baf2e2cc68c83383a7524441f81bc4c4725
Component: engine
2015-05-27 13:43:38 -07:00
6aa7cf16be Ensure all the running containers are killed on daemon shutdown
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: bdb77078b5b93c3075aa258e1c04a5a5c893430f
Component: engine
2015-05-27 09:09:25 +08:00
c2098b0ab5 Preinitialize MountPoints to avoid assigning to a nil map
Fixes #13435

Signed-off-by: Darren Shepherd <darren@rancher.com>
Upstream-commit: 59214a0737560a8a2386884dc438b4b003d407ba
Component: engine
2015-05-25 19:37:57 -07:00
778241cd3a Make API volume-driver dependent on 'experimental'
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: 2653c7c16cf87029c7e2e35427fbd1c83a0c96ba
Component: engine
2015-05-21 20:34:17 -07:00
89782c55eb Volumes refactor and external plugin implementation.
Signed by all authors:

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Signed-off-by: David Calavera <david.calavera@gmail.com>
Signed-off-by: Jeff Lindsay <progrium@gmail.com>
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Signed-off-by: Luke Marsden <luke@clusterhq.com>
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 81fa9feb0cdc0773eff99d7393c16271e84aac08
Component: engine
2015-05-21 20:34:17 -07:00
13426de5e6 Docker integration with libnetwork
- Updated Dockerfile to satisfy libnetwork GOPATH requirements.
    - Reworked daemon to allocate network resources using libnetwork.
    - Reworked remove link code to also update network resources in libnetwork.
    - Adjusted the exec driver command population to reflect libnetwork design.
    - Adjusted the exec driver create command steps.
    - Updated a few test cases to reflect the change in design.
    - Removed the dns setup code from docker as resolv.conf is entirely managed
      in libnetwork.
    - Integrated with lxc exec driver.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Upstream-commit: d18919e304c240df84502cdcc5ed655d92d12d4f
Component: engine
2015-05-19 22:40:19 +00:00
249d122d71 Merge pull request #12884 from Microsoft/10662-startcontainerrefactor
Windows: Refactor container
Upstream-commit: 0cc5da0635880245420333d6ec43cea75f2f3afd
Component: engine
2015-05-19 10:44:23 -07:00
c4f071bd48 Windows: Refactor container
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: b9e4b95788e0d8eae5363b82f301dafb9ea687f7
Component: engine
2015-05-16 12:38:20 -07:00
0dbe0e42c5 Add RestartPolicy methods instead of using strings checking
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: 624bf81fdb980638c422d746bfb82623e9d8bbd1
Component: engine
2015-05-16 14:15:28 +02:00