libvirt: volume snapshot delete for network-attached disks

Add support for performing a volume snapshot delete for
a network/(libgfapi)-attached disk based on the proposal
at:

http://www.redhat.com/archives/libvir-list/2014-February/msg01226.html

Uses a new VIR_DOMAIN_BLOCK_COMMIT_RELATIVE flag for blockCommit
calls which keeps qcow2 backing file entries as relative filenames
rather than prepending them with path information when blockCommit
operations are performed.

Support for this flag is required and heuristically detected rather
than based on version number.

Selection of disk for blockCommit/blockRebase is handled by
searching the snapshot hierarchy and using an identifier such as
vda[2] meaning the second item in the snapshot chain for disk
'vda'.

Implements: blueprint libvirt-volume-snap-network-disk

Change-Id: I31710b787c39d23870fb45a460f460663ecb261c
Revert "Deallocate the network if rescheduling for

Revert "Deallocate the network if rescheduling for Ironic"

This reverts commit 963ad71af4750e28745b6de262da11816b403801.

The original fix, targeted towards Nova BM and Ironic tests
is actually making us have more test failures. Lets go
back to the original race... and then we can have a bit
more time to test a proper fix.

Closes-bug #1346424

Change-Id: Icbbe16ffef69132177165d21c727d791b62a232f
Merge "Updated from global requirements"
Merge "Revert "Deallocate the network if rescheduling for"
Merge "EndpointNotFound deleting volume backend instance"
libvirt: make guestfs methods always return list of tuples

guestfs.GuestFS supports parameter python_return_dict with default
False in 1.22 (backported in 1.20). This indicates that your program
wants to receive Python dicts for methods in the API that return list
of tuples. See http://libguestfs.org/guestfs-release-notes.1.html
In a future version of libguestfs, its default value will be True,
then that will break the code, to avoid this, we'd better force
python_return_dict as False. See http://libguestfs.org/guestfs-python.3.html

This commit makes method inspect_get_mountpoints always return list
of tuples.

Change-Id: I8211cb31a7a890f86cdd818767b3d5e8cfd5bbed
Merge "docs - Add an index for the command line utilities"
Merge "docs - Prevent eventlet exception during docs generation"
Merge "Remove useless check in _add_retry_host"
Rename rbd.py to rbd_utils.py in libvirt driver directory

In libvirt driver directory, rbd.py confict with global rbd library
which is imported in rbd.py, so we rename rbd.py to rbd_utils.py.

Change-Id: Ib62e430e678fe09c4a8475a636a8ecc11a194f5c
Closes-Bug: #1352595
Add missed discoverable policy rules for flavor-manage v3

Add discoverable policy rule for v3 extension flavor-manage,
Although without this patch, it also works. But that's used to
indicate to user there is option for flavor-manager discoverable.

Change-Id: I23f8bbaccfa104a12e4a4c9eea8bf04107b57d43
Merge "Handle MacAddressInUseClient exception from Neutron when creating port"
Merge "docs - Fix indentation for RPC API's"
Merge "Remove instance_info_cache_delete() from conductor"
Merge "Commit quota when deallocate floating ip"
Merge "Add support for user_id based authentication with Neutron"
Merge "Baremetal driver: remove unused states"
Merge "Handle NetworkAmbiguous error when booting a new instance with v3 api"
Diagnostics: add validation for types

When creating diagnostics the calling application is able to pass
cpu, nic and disk diagnostics. This patch validates that those are of
the correct type.

TrivialFix

Change-Id: Id76c37e2f3ff50b0029bb1fa26348e43aee432f1
Merge "Live migration is broken for NFS shared storage"