e1c00fb8d8
Makes IBP images build time reasonable, especially if the master node runs in a VM. fuel_agent (which builds Ubuntu images) runs in the mcollective container. In general OS setup generates quite a lot of IO. fuel_agent builds the OS image in a loopback filesystem, which results in an extra overhead. A container filesystem is backed by dm-snapshot which is known to have a poor write performance, especially for large files (like OS images). By default docker storage is a loopback file residing in /var/lib/docker. Thus the data written to the OS image being built goes through a number of layers: ext4 -> loop -> dm-snapshot (/var/lib/docker-> loop -> -> ext4 (/var/lib/docker) -> dm-linear (os-varlibdocker) -> -> hard drive If the master node runs on a VM rather than a physcial hardware the above chain gets even more complicated: ext4 -> loop -> dm-snapshot (/var/lib/docker-> loop -> -> ext4 (/var/lib/docker) -> dm-linear (os-varlibdocker) -> -> virtual hard drive (qemu) -> qcow2 -> ext4 (host) The write performance of such a setup is awful, as a result making the basic Ubuntu installation takes more than 15 minutes. Using the volume makes it possible to eliminate the extra layers, so the written data goes through ext4 -> loop -> ext4 -> dm-linear (os-var) -> hard drive Related-Bug: #1457643 Change-Id: Id50bbea95aced153aedf831deea15025bd69c406 |
||
---|---|---|
.. | ||
dockerctl | ||
dockerctl_config | ||
dockerctl-alias.sh | ||
functions.sh | ||
get_service_credentials.py |