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
V3 Pause: treat case when driver does not implement the operation

Some virt drivers may not support this operation.

Change-Id: I21a3fbb6e41e4a32810fd8c76f0fabb7aeff9244
Virt: remove unnecesary return code

The methods attach_volume, detach_volume and swap_volume should
not return anything.

The purpose of the patch set is to have a consistent behaviour across
drivers for the aforementioned methods.

Change-Id: I381ede44d71cd5f6ce98804853e4e8f587b46c99
Make resize raise exception when no valid host found

When resize operation starts, it will ask conductor to find a
valid host and try to resize to that host. When there is no valid
host can be found ,current code return directly without error
notification, which will make upper layer code (e.g novaclient)
thinks the execution is succesfully performed and report 'Finished'.
But actually it isn't due to no valid host was found.

Change-Id: I3d66dbfc0a7346762b920e802aa3be92c43d93b7
Closes-Bug: #1297052
Not count disabled compute node for statistics

No server will be scheduled to disabled compute service, thus we
should not count the corresponding compute node information.

It's arguable if we should count for 'down' service, since service
may be marked down because of communication error. If we do want to
exclude the down service, we need passing the information from caller
because the up/down state is not kepts in database, and it means compute
and cell api changes.

Closes-Bug: #1285259

Change-Id: I5e3e71ef30683c5eb5cc4462f58fa5f29d7c3f4b
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 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
Add test cases for 2 block_device functions

This patch adds test cases for
validate_and_default_volume_size and validate_device_name
in block_device.

Change-Id: Ia6c487ce84cbd58c0e5b2e6384789bcc5286e818
Add missing test coverage for MultiplePortsNotApplicable compute/api

Change-Id: I40de9b52452312779187c818afaf9ac03f1aefe3
Closes-bug: 1321902
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
libvirt: speed up get_memory_mb_used method

Switch the get_memory_mb_used method to use the new
list_instance_domains method.

Blueprint: libvirt-domain-listing-speedup
Change-Id: I6f9e9a2ee761b81e8fc06237cfef1b7202effe37
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
Nova-api service throws error when SIGHUP is sent

Added reset method in WSGIService class.

After adding reset method when SIGHUP signal is sent to
wsgi service parent process,then it sends SIGHUP signal
to all of its child processes. Each child process handles
SIGHUP signal by first stopping the service and then calls
service start method again. When it stops the service, it
kills the eventlet thread, which internally closes the wsgi
server socket object. This server socket object is now not
usable again and it throws following error, while restarting
the service:

error: [Errno 9] Bad file descriptor

To resolve 'Bad file descriptor' error, creating duplicate
socket object, every time service starts.

When the wsgi service is stopped, it sets the green pool
size to 0, so resizing the green pool to default value,
on service restart.

Closes-Bug: #1334651

Change-Id: If1035deaf8b31f2712d88f0112fdd2e9e9dc7cb0
Merge "VM diagnostics: add serializer to Diagnostics object"
Merge "VMware: virt unrescue method now supports objects"