Specify DB URL on command-line for schema_diff.py

The exising schema_diff code had the DB URL format hard-coded which made it
difficult to work with since different environments with have different
user/password configurations.

A more flexible way to handle this, is to have the DB URL specified directly
on the command-line.

Change-Id: I313bb616e439072e007c886a7f131efc6a61f6df
libvirt: Support snapshot creation via libgfapi

Currently, the libvirt driver only handles volume snapshot
creation for file-backed volumes.

This changes allows volume snapshot creation for libgfapi-
attached volumes to work.  (A sufficiently new version of
libvirt is required.)

Implements: blueprint libvirt-volume-snap-network-disk
Closes-Bug: 1288976

Change-Id: Ic6dd861b40b692b25df67c9d5b63fd436c690fde
VMware: virt rescue method now supports objects

Commit a37a96fd13b933123e80ad24e37fc37d73c16059 ensured
that the compute API and manager are now getting objects
for the rescue method.

This patch adds support to the virt driver code.

Change-Id: Id7fca437f8470ee483ec3683211766095b293ebf
VMware: virt unrescue method now supports objects

Commit 65ad230af5ece020822fa963dd30fd641a54ae91 ensured
that the compute API and manager are now getting objects
for the unrescue method.

This patch adds support to the virt driver code.

Change-Id: I42fa532d5b2b1c92121216ac31b56a7b595d59e7
VM diagnostics: add methods to class to update diagnotics

Add the following methods:
    - add_cpu
    - add_nic
    - add_disk

The methods will enable the virt driver to update the object.

Change-Id: Id4ca1f188dc955590cd32c634d9c33572f93a5ef
VM diagnostics: add serializer to Diagnostics object

The serializer will enable the API to return a dictionary to the
user.

Part of the blueprint v3-diagnostics

Change-Id: If86a94cba98745acbc9976fa7354c98ec6716ac0
add comment about why snapshot/backup have no lock check

This comment is intended to reduce further confusion about why a
lock check hasn't been implemented for snapshot and backup.

Change-Id: I8d89ca7b15d6713221af2d0535f9ed338ca70612
Related-Bug: #1314741
libvirt: speed up get_all_block_devices method

Switch the get_all_block_devices method to use the new
list_instance_domains method.

Blueprint: libvirt-domain-listing-speedup
Change-Id: I8d3fdcbbe5539370583ace6abaffa62fec457d7b
libvirt: speed up get_vcpus method

Switch the get_vcpus method method to use the new
list_instance_domains method.

Blueprint: libvirt-domain-listing-speedup
Change-Id: I474d6db502d19f2296252f4f3ae2ef740a2188e8
Use pool/volume_name notation when deleting RBD volumes

the rbd command supports two methods for specifying a pool name:
the "-p" flag, and using the volume name notation "pool_name/volume_name"
The latter method supercedes the former, so to guard against slashes
in the volume name confusing things, always use the path notation

Change-Id: Ie79ae10b0fafefd85dea8e38cd24da0941b38bee
Closes-Bug: 1306285
Remove cell api overrides for lock and unlock

This isn't actually needed as these methods handle objects and is
triggered when the instance object is saved.
It actually caused a race condition with unlock as it triggers 2
instance updates from a compute cell.

Change-Id: I42eea6a2984f70527d4fc37f48ad973a2248721c
Closes-Bug: #1257168
Merge "VM diagnostics: add methods to class to update diagnotics"
Merge "VM diagnostics: add serializer to Diagnostics object"
Merge "VMware: virt unrescue method now supports objects"
Merge "VMware: virt rescue method now supports objects"
Merge "libvirt: speed up get_all_block_devices method"
Merge "libvirt: Support snapshot creation via libgfapi"
Merge "Remove cell api overrides for lock and unlock"
Merge "libvirt: speed up get_vcpus method"
Merge "add comment about why snapshot/backup have no lock check"