summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorDmitry Guryanov <dguryanov@parallels.com>2015-02-02 20:12:04 +0300
committerAlexander Burluka <aburluka@parallels.com>2015-02-05 12:12:01 -0500
commit105c78efbe6e483c3d781adab52cd6bb0cb4a4f0 (patch)
tree5e1b3d0930ec6748ef56707d4f9c1660d74b1b0a /etc
parent5e1d37489d5d936f3222d6f122672b1dcbf5c1fb (diff)
downloadnova-105c78efbe6e483c3d781adab52cd6bb0cb4a4f0.tar.gz
libvirt: add ploop disks format support
The way how PCS works with disks slightly differs from how qemu does. In PCS each disk has metadata, stored in a separate xml file. The most important thing in this metadata is paths and types of base image and deltas. The name of xml file is fixed (DiskDescriptor.xml) and usually all images are stored in the same directory. Images are being downloaded from glance to cache in a form of files. So imagecache will work in the same way as with Raw image type. Here is and example of libvirt's disk config: <disk type='file' device='disk'> <driver type='ploop'/> <source file='/path/to/dir/with/xml'/> <target dev='sda' bus='sata'/> </disk> Since you need to provide a directory with xml file to libvirt, separate class is needed imagebackend.py for working with such images. This patch introduces class Ploop which are similar to Raw, it copies base image to the instance's dir and prepares it for starting VM or container from this image. If force_raw_images is false, then only raw and ploop image types allowed. If force_raw_images is true, then all image types, which are supported by qemu-img can be used. Partially implements blueprint pcs-support Change-Id: I9c2a0da52dbda7d45f749f9d42b2760a0d2e790f
Diffstat (limited to 'etc')
-rw-r--r--etc/nova/rootwrap.d/compute.filters2
1 files changed, 2 insertions, 0 deletions
diff --git a/etc/nova/rootwrap.d/compute.filters b/etc/nova/rootwrap.d/compute.filters
index 1e0c029af2..4d35d4fb03 100644
--- a/etc/nova/rootwrap.d/compute.filters
+++ b/etc/nova/rootwrap.d/compute.filters
@@ -227,3 +227,5 @@ cp: CommandFilter, cp, root
# nova/virt/xenapi/vm_utils.py:
sync: CommandFilter, sync, root
+# nova/virt/libvirt/imagebackend.py:
+ploop: CommandFilter, ploop, root