RETIRED, Fuel master node upgrade system
Go to file
Alexei Sheplyakov 8712ac1fdf Make sure fuel_agent builds IBP images in a proper directory
Use /var/lib/fuel/ibp as the image build directory. This directory
will be backed by a volume in the mcollective container which reduces
IO overhead and makes image build time reasonable.

fuel_agent (which builds Ubuntu images) runs in the mcollective
container. 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)

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

Note: this patch can be merged before the ones which actually make
/var/lib/fuel/ibp a host volume (obviously there won't be any
performance gain until fuel-library/fuel-main bits get merged).

Merge-After: https://review.openstack.org/201947
Related-Bug: #1457643
Change-Id: Ic4d258523aa13b3879a730edb2d910522ec24c93
2015-07-15 09:53:43 +03:00
fuel_upgrade Make sure fuel_agent builds IBP images in a proper directory 2015-07-15 09:53:43 +03:00
MANIFEST.in Fix fuel_upgrade package 2014-11-11 18:48:56 +03:00
requirements.txt Use docker-py version instead of git 2014-11-06 19:49:37 +03:00
setup.py Fix fuel_upgrade package 2014-11-11 18:48:56 +03:00
test-requirements.txt Pin mock to version supporting Python 2.6 2015-07-10 08:33:07 +02:00
tox.ini Don't install package dependencies for flake8 2014-06-20 20:05:50 +00:00