Guillaume J. Charmes
78d2e2dc37
Reduce debugf frequency to avoid terminal freeze
2013-11-25 12:06:16 -08:00
Michael Crosby
8b0b10b6f9
Rename dummy in driver.go to vfs
2013-11-25 10:28:17 -08:00
Michael Crosby
cee0a292d0
Rename dummy driver to vfs
2013-11-25 09:04:04 -08:00
Guillaume J. Charmes
79e2b33ede
Use variable to call functions in devmapper_wrapper + some formatting
2013-11-22 12:25:37 -08:00
Michael Crosby
437bdeee59
Merge pull request #62 from shykes/devmapper-unit-tests
...
Devmapper unit tests
2013-11-21 16:54:50 -08:00
Guillaume J. Charmes
bc82940a57
Forbid syscalls in tests, add 2 new unit tests
2013-11-21 16:32:16 -08:00
Solomon Hykes
df258f5861
Devmapper: test driver initialization and its interaction with libdevmapper
2013-11-21 02:17:03 +00:00
Solomon Hykes
60f728b170
Devmapper: wrap calls to os/exec for easier mocking
2013-11-21 02:16:26 +00:00
Solomon Hykes
2b7c63b1b5
devmapper: skip test which are not unit tests
2013-11-21 02:12:51 +00:00
Michael Crosby
5306053e21
Add more aufs tests and implement Status
2013-11-20 15:41:37 -08:00
Solomon Hykes
e2390318bb
Devmapper: mock all calls to libdevmapper in the unit tests, and deny them by default
2013-11-20 23:39:02 +00:00
Solomon Hykes
da514223d1
Devmapper: remove deprecated test helpers
2013-11-20 23:25:27 +00:00
Solomon Hykes
023ff36704
devmapper: fix typo
2013-11-20 23:12:19 +00:00
Guillaume J. Charmes
d233894c25
Add devmapper struct doc
2013-11-20 14:09:46 -08:00
Guillaume J. Charmes
a39bd65662
Remove os from devmapper
2013-11-20 13:05:17 -08:00
Guillaume J. Charmes
5690139785
Remove all syscall calls from devicemapper
2013-11-20 12:49:01 -08:00
Solomon Hykes
92f94f06ae
Mock calls to system functions to facilitate unit testing
2013-11-20 20:05:10 +00:00
Michael Crosby
1b28cdc7f9
Handle image metadata when drivers are switched
2013-11-20 10:31:51 -08:00
Michael Crosby
d4ef551d65
Merge pull request #53 from shykes/improve_cleanup
...
Improve aufs cleanup and debugging
2013-11-19 17:16:36 -08:00
Victor Vieux
76f54f3a28
Merge pull request #39 from crosbymichael/add-driver-flag
...
Add flag to set default graph driver
2013-11-19 17:16:25 -08:00
Victor Vieux
43899a77bf
improve aufs cleanup and debugging
2013-11-19 17:12:37 -08:00
Guillaume J. Charmes
3e0a5ac48b
Merge pull request #41 from alexlarsson/dm-plugin-device-tool
...
Update docker-device-tool
2013-11-19 15:38:47 -08:00
Guillaume J. Charmes
12e993549d
Fix unit-tests
2013-11-19 15:24:14 -08:00
Victor Vieux
5a4113140e
Merge pull request #43 from alexlarsson/dm-plugin-use-root-subdir
...
devmapper: Use a "root" subdirectory in the devmapper volume
2013-11-19 13:51:04 -08:00
Victor Vieux
85b5062502
Merge pull request #44 from crosbymichael/container-migration
...
Container and Image migration for aufs
2013-11-19 13:47:23 -08:00
Michael Crosby
4c2624a277
Merge pull request #45 from alexlarsson/dm-plugin-diff-size
...
Implement fallback for getting the size of a container
2013-11-19 10:25:31 -08:00
Michael Crosby
f4b3b7c055
Merge pull request #47 from alexlarsson/dm-plugin-ummount-when-removing
...
Devicemapper: Unmount when removing device
2013-11-19 10:24:44 -08:00
Alexander Larsson
0ed762f2d2
devicemapper: Unmount when removing device
...
Without this the remove will fail due to a busy device.
2013-11-19 14:40:15 +01:00
Alexander Larsson
242fd4b3ef
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.
2013-11-19 13:09:36 +01:00
Michael Crosby
51a972f38d
Rename AufsDriver to Driver to be consistent
2013-11-19 03:27:59 -08:00
Michael Crosby
aea6001baf
Check env var for setting driver in tests
2013-11-19 03:13:22 -08:00
Michael Crosby
6dbeed89c0
Add flag to set default graph driver
...
Remove the env var DOCKER_DRIVER
2013-11-19 02:37:44 -08:00
Alexander Larsson
5d76681c3d
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.
2013-11-19 10:36:54 +01:00
Alexander Larsson
9415c2b1f0
Move docker-device-tool to contrib
2013-11-19 10:03:04 +01:00
Alexander Larsson
a0224e61b4
devicemapper tool: Add support for pool resizing
2013-11-19 09:59:13 +01:00
Alexander Larsson
80aecc7014
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.
2013-11-19 09:44:19 +01:00
Alexander Larsson
00401a30b7
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.
2013-11-19 09:29:42 +01:00
Michael Crosby
5ee8e41e43
Retry moving dirs on every daemon startup
...
This will try to move the directories that were
previously symlinked until a full migration is complete.
2013-11-18 23:28:45 -08:00
Michael Crosby
29f07f8544
Add container migration to aufs driver
2013-11-18 18:39:21 -08:00
Michael Crosby
f88b760809
Migrate images with parent relationship
2013-11-18 16:17:43 -08:00
Michael Crosby
94e854823f
Use tryRelocate to fall back to symlink if rename fails
2013-11-18 13:16:28 -08:00
Guillaume J. Charmes
a518b84751
WIP
2013-11-15 17:16:30 -08:00
Guillaume J. Charmes
035c144242
Move all drivers to the same subdir graphdriver
2013-11-15 15:48:24 -08:00
Michael Crosby
7cad77b1e2
Merge pull request #33 from alexlarsson/dm-plugin-status
...
Add driver plugin status
2013-11-15 10:15:59 -08:00
Alexander Larsson
10f23a94f6
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.
2013-11-15 11:30:28 +01:00
Alexander Larsson
243843c078
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.
2013-11-15 11:04:02 +01:00
Alexander Larsson
062810caed
Show active driver in docker info output
2013-11-15 10:24:48 +01:00
Michael Crosby
5d9723002b
Allow drivers to implement ApplyDiff in Differ interface
2013-11-11 19:09:57 -08:00
Michael Crosby
4d1a537433
Remove Differ and Changer interfaces
...
Add the methods to the Driver interface
to force the drivers to implement the methods
2013-11-11 12:10:53 -08:00
Alexander Larsson
e82f8c1661
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.
2013-11-11 17:46:07 +01:00