nova/nova/virt/libvirt
Mikhail Feoktistov d4aa455d53 libvirt: virtuozzo instance resize support
Adapt "nova resize" code to support Virtuozzo ploop disks.
As far as ploop disks are in fact directories we add '-r' argument
to all utilities that deal with instance' disks such as cp, rsync and scp.
Thus we copy disks universally whether they are folders or files.

Also using "prl_disk_tool" instead of "qemu-img" is better for ploop images
because it resizes guest filesystem as well.

We can't resize disks from guest OS in containers,
because they are not allowed to write directly to block device.
ploop tool can resize partition table and internal filesystem,
but only for container's disks. Such disks must have only one partition
with ext filesystem.

prl_disk_tool can resize disks with internal filesystems
and doesn't require any special layout so it can resize disks
for virtual machines.  So it's better to use this tool instead of ploop.

Also we make compute.filters more strict
We call "ploop" only with "restore-descriptor" argument
And we set disk size in megabytes for prl_disk_tool

Co-Authored-By: Dmitry Guryanov <dguryanov@parallels.com>
Depends-On: I04c4379459c2fc1fd4801ec2aad53d0f6053b6d6
Change-Id: I38dbf73beb01fe1939ddca63fbfedbec1dc3c826
Implements: blueprint virtuozzo-instance-resize-support
2016-06-28 22:13:49 +03:00
..
storage Fixes python 3 urllib quote / unquote usage 2016-05-26 18:06:40 +03:00
volume libvirt: virtuozzo instance resize support 2016-06-28 22:13:49 +03:00
__init__.py Remove vi modelines 2014-02-03 14:19:44 +00:00
blockinfo.py libvirt: fix typos in comments 2016-06-19 06:23:01 -07:00
compat.py Replace deprecated LOG.warn with LOG.warning 2016-03-15 11:57:56 +00:00
config.py Merge "Remove unused LOG" 2016-06-27 16:55:51 +00:00
designer.py Add a vnic type for PF passthrough and a new libvirt vif driver 2016-03-29 13:38:43 +01:00
driver.py Merge "libvirt: attach configdrive after instance XML" 2016-06-28 17:08:17 +00:00
firewall.py Config options: Centralize netconf options 2016-04-24 18:15:05 +00:00
guest.py libvirt: fix typos in comments 2016-06-19 06:23:01 -07:00
host.py libvirt: cleanup baselineCPU return value checking 2016-06-15 17:35:47 +08:00
imagebackend.py libvirt: virtuozzo instance resize support 2016-06-28 22:13:49 +03:00
imagecache.py Fix imagecache.get_cache_fname() to work in python3 2016-06-07 05:36:08 -04:00
instancejobtracker.py Replace deprecated LOG.warn with LOG.warning 2016-03-15 11:57:56 +00:00
migration.py libvirt: split out code for determining if migration should abort 2016-06-24 15:32:35 +01:00
utils.py libvirt: virtuozzo instance resize support 2016-06-28 22:13:49 +03:00
vif.py Check if flavor.vcpus is more than MAX_TAP_QUEUES 2016-06-24 21:46:10 +09:00