Michael Crosby
6ea3214afa
Merge pull request #62 from shykes/devmapper-unit-tests
...
Devmapper unit tests
Upstream-commit: 437bdeee5901daa9d73db393767b1c5030c15143
Component: engine
2013-11-21 16:54:50 -08:00
Guillaume J. Charmes
26fbc2e027
Forbid syscalls in tests, add 2 new unit tests
...
Upstream-commit: bc82940a575944e4686db203356a8a3fb3a75217
Component: engine
2013-11-21 16:32:16 -08:00
Solomon Hykes
50d7661c9b
Devmapper: test driver initialization and its interaction with libdevmapper
...
Upstream-commit: df258f5861794057c303a33c000bf830bc543631
Component: engine
2013-11-21 02:17:03 +00:00
Solomon Hykes
fe06edbbd1
Devmapper: wrap calls to os/exec for easier mocking
...
Upstream-commit: 60f728b170f550262b22b7905dfb280a405df4a7
Component: engine
2013-11-21 02:16:26 +00:00
Solomon Hykes
840cf279cf
devmapper: skip test which are not unit tests
...
Upstream-commit: 2b7c63b1b5d62515cd876f189dea6e5a5257cd49
Component: engine
2013-11-21 02:12:51 +00:00
Michael Crosby
2cabd3e833
Add more aufs tests and implement Status
...
Upstream-commit: 5306053e21cb2a22884d2d281c2cc855cf22fc69
Component: engine
2013-11-20 15:41:37 -08:00
Solomon Hykes
91acb2bfd6
Devmapper: mock all calls to libdevmapper in the unit tests, and deny them by default
...
Upstream-commit: e2390318bb4cc98886777bdad3fbb860942b8e65
Component: engine
2013-11-20 23:39:02 +00:00
Solomon Hykes
f3353c818b
Devmapper: remove deprecated test helpers
...
Upstream-commit: da514223d1e441e2bab82bf3b30e1a1e0e222ac6
Component: engine
2013-11-20 23:25:27 +00:00
Solomon Hykes
d1d0a44d0f
devmapper: fix typo
...
Upstream-commit: 023ff36704ef5ad8d6fc8d0c07f718fec2ec5ff0
Component: engine
2013-11-20 23:12:19 +00:00
Guillaume J. Charmes
099a15779c
Add devmapper struct doc
...
Upstream-commit: d233894c25e2b1b7124d69bddece94c88fb44452
Component: engine
2013-11-20 14:09:46 -08:00
Guillaume J. Charmes
3bd981cb53
Remove os from devmapper
...
Upstream-commit: a39bd656622c7dbea534fe34710ed6cb21dd5a90
Component: engine
2013-11-20 13:05:17 -08:00
Guillaume J. Charmes
8380e89daf
Remove all syscall calls from devicemapper
...
Upstream-commit: 5690139785fc2bfaa2f233ed41d5f927a8b28dbf
Component: engine
2013-11-20 12:49:01 -08:00
Solomon Hykes
495a0f953c
Mock calls to system functions to facilitate unit testing
...
Upstream-commit: 92f94f06ae2fb4cddace5b817d6a6e326f3c9b33
Component: engine
2013-11-20 20:05:10 +00:00
Michael Crosby
f6524ff456
Handle image metadata when drivers are switched
...
Upstream-commit: 1b28cdc7f977f265d0d8de53e8ec1d773ed54db1
Component: engine
2013-11-20 10:31:51 -08:00
Michael Crosby
127023e5bb
Merge pull request #53 from shykes/improve_cleanup
...
Improve aufs cleanup and debugging
Upstream-commit: d4ef551d654b6b3b91aed68152789fc2869d83fd
Component: engine
2013-11-19 17:16:36 -08:00
Victor Vieux
f762c896a3
Merge pull request #39 from crosbymichael/add-driver-flag
...
Add flag to set default graph driver
Upstream-commit: 76f54f3a28437c445c3ea216d7efd6a9a0ff0d25
Component: engine
2013-11-19 17:16:25 -08:00
Victor Vieux
32bf4b495f
improve aufs cleanup and debugging
...
Upstream-commit: 43899a77bf638d4baa42291c1988bcb2a75e8ef5
Component: engine
2013-11-19 17:12:37 -08:00
Guillaume J. Charmes
cdf4bbcde9
Merge pull request #41 from alexlarsson/dm-plugin-device-tool
...
Update docker-device-tool
Upstream-commit: 3e0a5ac48bfc65950b31bc7311d2662816cbe475
Component: engine
2013-11-19 15:38:47 -08:00
Guillaume J. Charmes
e7eec12a53
Fix unit-tests
...
Upstream-commit: 12e993549df025d072add1a0bcb9bfcc7fe5bdb5
Component: engine
2013-11-19 15:24:14 -08:00
Victor Vieux
58c3812d34
Merge pull request #43 from alexlarsson/dm-plugin-use-root-subdir
...
devmapper: Use a "root" subdirectory in the devmapper volume
Upstream-commit: 5a4113140e4a9f00a2f3d97205fe7e146f955b4b
Component: engine
2013-11-19 13:51:04 -08:00
Victor Vieux
0bc401d12d
Merge pull request #44 from crosbymichael/container-migration
...
Container and Image migration for aufs
Upstream-commit: 85b5062502deed324f3e44ae5c46de1aefe61bbf
Component: engine
2013-11-19 13:47:23 -08:00
Michael Crosby
a68204dea9
Merge pull request #45 from alexlarsson/dm-plugin-diff-size
...
Implement fallback for getting the size of a container
Upstream-commit: 4c2624a277195c9a0d6fabca29cf3a769e1e6482
Component: engine
2013-11-19 10:25:31 -08:00
Michael Crosby
3f203284a9
Merge pull request #47 from alexlarsson/dm-plugin-ummount-when-removing
...
Devicemapper: Unmount when removing device
Upstream-commit: f4b3b7c0553dbd474e258dc1fa01d7b96c900887
Component: engine
2013-11-19 10:24:44 -08:00
Alexander Larsson
f13b8265b6
devicemapper: Unmount when removing device
...
Without this the remove will fail due to a busy device.
Upstream-commit: 0ed762f2d2ff613052b81d06509dac06b13fc0c9
Component: engine
2013-11-19 14:40:15 +01:00
Alexander Larsson
5e0d1fa18e
dummy driver: Use cp --reflink=auto to copy directories
...
On systems that supports reflinking (i.e. btrfs) this means the dummy
backend is much faster at copying files and will be sharing file data in
a CoW fashion.
On my (btrfs) system this makes "docker run ubuntu echo hello world" go
from about 3 seconds to about 1 second. Not instant, but clearly better.
cp --reflink=auto is availible since coreutils 7.5 (around 2009), so this
seems pretty ok to rely on.
cp is also better at preserving file metadata than tar, so for instance
it will copy xattrs.
Upstream-commit: 242fd4b3ef32b5a20135d6031040bcf099b5df4e
Component: engine
2013-11-19 13:09:36 +01:00
Michael Crosby
a07b5796a9
Rename AufsDriver to Driver to be consistent
...
Upstream-commit: 51a972f38d0b6e2e7a4b27509b58fc7a6e92679f
Component: engine
2013-11-19 03:27:59 -08:00
Michael Crosby
2a2c0a4cdc
Check env var for setting driver in tests
...
Upstream-commit: aea6001baf0cd0fb20a607e37e4379bf644b28fd
Component: engine
2013-11-19 03:13:22 -08:00
Michael Crosby
c8cec50adf
Add flag to set default graph driver
...
Remove the env var DOCKER_DRIVER
Upstream-commit: 6dbeed89c061b85551ab638f93282d87de8ab929
Component: engine
2013-11-19 02:37:44 -08:00
Alexander Larsson
99bee9426b
Implement fallback for getting the size of a container
...
This moves Driver.Size() to Differ.DiffSize(), removing the empty
implementations in devmapper and dummy, and renaming the one in aufs.
Then we fall back to a container.Changes() implementation in the non-aufs
case.
Upstream-commit: 5d76681c3d0cbb744205a397420603ce029ce754
Component: engine
2013-11-19 10:36:54 +01:00
Alexander Larsson
339d427535
Move docker-device-tool to contrib
...
Upstream-commit: 9415c2b1f08ecd168ab5a620a80a5bed34df8adb
Component: engine
2013-11-19 10:03:04 +01:00
Alexander Larsson
90396dc0fc
devicemapper tool: Add support for pool resizing
...
Upstream-commit: a0224e61b48e1dd1378cb955596fba1937e99068
Component: engine
2013-11-19 09:59:13 +01:00
Alexander Larsson
08c42330ce
devmapper: Update device-mapper-tool
...
This makes the device mapper tool work again and adds new features
to get pool status, device status and to list all devices.
Upstream-commit: 80aecc70141f3e7b3138752bf3f0c33b9a273714
Component: engine
2013-11-19 09:44:19 +01:00
Alexander Larsson
8ad4e865dc
devmapper: Use a "rootfs" subdirectory in the devmapper volume
...
We place the actual image/containers in the "rootfs" directory, which
allows us to have other data in the toplevel directory in the mount.
For starters, this means the "lost+found" directory from mkfs will
not always be in your container/image.
Secondly, we can create a file "id" in the toplevel dir which is not
visible from the container. This is useful because it allows us to map
back from the device fs to the container if something goes wrong with
the devicemapper metadata.
Upstream-commit: 00401a30b73d897255b7b99996d7c6a53fe2d4af
Component: engine
2013-11-19 09:29:42 +01:00
Michael Crosby
9820e0b026
Retry moving dirs on every daemon startup
...
This will try to move the directories that were
previously symlinked until a full migration is complete.
Upstream-commit: 5ee8e41e43892694f66b4d6d01ed95f4ca2e7cb6
Component: engine
2013-11-18 23:28:45 -08:00
Michael Crosby
2d65b723cd
Add container migration to aufs driver
...
Upstream-commit: 29f07f854497571db570be79c8df878624f5b41c
Component: engine
2013-11-18 18:39:21 -08:00
Michael Crosby
3688213d04
Migrate images with parent relationship
...
Upstream-commit: f88b760809677109a723f25399f738d756f14c13
Component: engine
2013-11-18 16:17:43 -08:00
Michael Crosby
80e02fbc62
Use tryRelocate to fall back to symlink if rename fails
...
Upstream-commit: 94e854823f3549eeddaafa24835093966d9aaeeb
Component: engine
2013-11-18 13:16:28 -08:00
Guillaume J. Charmes
9d193b1c00
WIP
...
Upstream-commit: a518b847511f034d9bfd4166e17f8f0eac61d021
Component: engine
2013-11-15 17:16:30 -08:00
Guillaume J. Charmes
052ebaaf52
Move all drivers to the same subdir graphdriver
...
Upstream-commit: 035c1442424ee502118cdbf2ee2dddafcc0f01cd
Component: engine
2013-11-15 15:48:24 -08:00
Michael Crosby
c579e87812
Merge pull request #33 from alexlarsson/dm-plugin-status
...
Add driver plugin status
Upstream-commit: 7cad77b1e2d0b8af5dcadce0599fc83cbe1970f4
Component: engine
2013-11-15 10:15:59 -08:00
Alexander Larsson
faff941ade
Use dummy driver for volumes
...
It makes no sense to use the aufs or devicemapper drivers for volumes.
The aufs one is perhaps not a big problem, but the devicemapper one
certainly is. It will be unnecessarily using a dm
blockdevice-over-loopback with a limited size base FS.
This just hardcodes the driver to be the dummy, perhaps in the future
we can have other drivers that make sense for the volumes.
Upstream-commit: 10f23a94f6daaf03c684937daea67d10205b4b89
Component: engine
2013-11-15 11:30:28 +01:00
Alexander Larsson
fa730d3073
Print devicemapper status details in docker info
...
This adds a generic Status call in the Driver api and
implements if for the devicemapper backend.
The status is an array of key/value strings rather than a map so that
we can guarantee some static order of the docker info output.
Upstream-commit: 243843c0787ce2b56c8bbf72a2d4bd7604e84b2e
Component: engine
2013-11-15 11:04:02 +01:00
Alexander Larsson
fb91dc2f0c
Show active driver in docker info output
...
Upstream-commit: 062810caedba973e76a3dd7eb9e45b56511eefc6
Component: engine
2013-11-15 10:24:48 +01:00
Michael Crosby
084cb15f1a
Allow drivers to implement ApplyDiff in Differ interface
...
Upstream-commit: 5d9723002bc764e2c768e5184994d7949f55fc49
Component: engine
2013-11-11 19:09:57 -08:00
Michael Crosby
86d455035f
Remove Differ and Changer interfaces
...
Add the methods to the Driver interface
to force the drivers to implement the methods
Upstream-commit: 4d1a537433ede2bbc75b0a4817e8121f9e03fd86
Component: engine
2013-11-11 12:10:53 -08:00
Alexander Larsson
122fd6b9c2
Implement fallback operation for driver.Diff()
...
This moves the Diff() operation to a separate Differ interface and
implements a fallback that uses the Changes() results to encode
a diff tar.
Upstream-commit: e82f8c1661f3fa18e4dc6ca3aebe4dcc46e8961b
Component: engine
2013-11-11 17:46:07 +01:00
Michael Crosby
28000adccb
Allow drivers to export their own diff
...
Upstream-commit: 1eb00e1d5b375cb79d492f1c5cd95d7317bc543c
Component: engine
2013-11-08 15:32:50 -08:00
Michael Crosby
f4f11a5ecb
Allow driver to provide changes if it impl the Changer interface
...
Upstream-commit: 95147675870e9e84deb354f09f0f670a5cb2b1e1
Component: engine
2013-11-08 14:54:20 -08:00
Michael Crosby
d9e6045c49
Name sure drivers are confined into their own dir
...
Upstream-commit: 08a276986c363c5b2e7435fb59935485c53aae59
Component: engine
2013-11-08 11:36:58 -08:00
Michael Crosby
491fee7d48
Fix aufs error at startup
...
Add String methods to other drivers
Upstream-commit: 51c93c0f3318efa95a02d25677a1a4837f1af9f6
Component: engine
2013-11-07 19:02:15 -08:00