Allow for deleting VMs from  down compute nodes.

Fix bug 872899

If compute node service_is_up returns false, just delete the VM from
the database. If compute node recovers, setting
running_deleted_instance_action=reap will clean up the node.

Change-Id: Ibb5f1e22c2e482d304c59a485a04b882ead0c67d
Fix xml metadata for volumes api in nova-volume.

Fixes bug 1040891

Change-Id: I6295e4084adc33999bfdf66728623b278895b2d6
Signed-off-by: Matthew Treinish <treinish@linux.vnet.ibm.com>
Update SolidFire volume driver

Implements blueprint update-solidfire-driver

* Updates driver to reflect changes in the release version of SF API
* Modify SF naming scheme
* Implement snapshot functionality
* Implement setting qos on create via metadata
* Update/Add tests

(cherry picked from cinder commit df5c4ba)

Change-Id: I08f7aac31e9d95f971d297a19c285dfa7151b931
Fix flavor deletion when there is a deleted flavor

If there is a deleted flavor with the same ID as an undeleted flavor,
the flavormanage delete code attempts to delete it again, which fails.
This patch makes sure to pass read_deleted='no' when the flavor is
retrieved for deletion so we get the undeleted flavor. Includes a
failing test to make sure the value is passed properly.

Fixes bug 1048678

Change-Id: If6a20de2526b7ba90ada4a40317a98f79b2141dc
More specific lxml versions in tools/pip-requires

Changed lxml version in tools/pip-requires from >=2.3,<3 to
>=2.3,<2.3.5.  pip was apparently accepting 3.0alpha as a <3 requirement
but the ordering of elements changes in that version.  Some of the
libvirt tests would pass with lxml 3.0alpha but fail with any 2.3.x
version.  The tests now pass with any version of lxml within the range
specified.

Change-Id: I2d84d32f1bf6fba2c6dbe05799a284a44d4c39d8
Adds API sample test for Flavors Extra Data extension.

Change-Id: I65f8ed10dc5c1d31f848ad3fdc5c63e17fdc518f
Add flag cinder_endpoint_template to volume.cinder

Add optional flag to allow cinder endpoint to be defined by flag rather
than extracted from the request context's service catalog.  No change to
default behavior.

This flag allows deployers to use a seperate management endpoint for
cinder which compute can use exclusively to send messages to cinder, or
just use an auth system that doesn't add/forward the catalog along with
the request (e.g. noauth).

Add python-cinderclient to tools/test-requires

fix lp bug #1048798

Change-Id: Icb416bf4df2a6e37024f1fbc866006d46d30bcf2
fix rpcapi version.

In commit ce4dbbd7, the BASE_RPC_API_VERSION was changed to '2.1' in
nova.compute.rpcapi.  This should remain '2.0' until the API goes to
3.X.  Only specify version '2.1' for the method that requires it
(rebuild_instance).

Add a NOTE above each instance of BASE_RPC_API_VERSION to try to help
clarify this for the future.

Change-Id: I06cef44c905e8966505d5fb5b1046d6a0c75d533
Merge "Fix xml metadata for volumes api in nova-volume."
Reset task state before rescheduling

Reset the task state to SCHEDULING before attempting re-scheduling.
This is a precaution to make sure subsequent calls to update the
task state see an 'expected_task_state'.

bug 1049897

Change-Id: I5667a88487bd7039eb2e0aaebef532199d8b31ef
Add 'detaching' to volume status

Fixes bug #1004382

When attach a volume , the volume status is "available -> attaching ->
in-use", But when detaching a volume , the volume status is "in-use ->
available". So We need 'detaching' volume status, it make the change of
state of the volume more clearly.

Change-Id: I544220c206899307294d50e26679f5351fdc0cd7
Stop fetch_ca from throwing IOError exceptions

Fixes bug #883300

Fixes problem where fetch_ca could throw an IOError exception rather
than a Nova specific exception.
Adds FileError exception.
Fixes other functions in crypto.py that had very similar problems.

Change-Id: Ic2e43c35ad58c67d33156c53d2a41910dfdf8678
Change comment for function _destroy

Change 'the instance if already' to 'the instance is already'

Change-Id: I31bee8d7c3049d14442abffce4b48589af083544
libvirt: Fix live block migration

Current check_can_live_migrate_destination trys to get instance info
by call self._conn.lookupByName(instance_name) on the destination
host before migrating. Because the instance is not on the destination
host yet, it failes with InstanceNotFound.

This fix gets the available disk size of the destination side.
On the source side, checks whether the above space is enough before
migrating.

Fixes bug 1044237

Change-Id: I20f64e1f85828049b697a4b1173bac8e5779d45a
PowerVM: Establish SSH connection at use time

Establish SSH connection at use time in PowerVM compute driver, in order
to work around a paramiko error on slow networks. Patch based on a
proposal by David Peraza.

Fixes bug 1040785.

Change-Id: I1a656981fae2f384c748c077d608018a0aafb681
Rename _unplug_vifs to unplug_vifs

self._vmops is of type VMWareVMOps, which doesn't have unplug_vifs
defined.

Partially fix bug 1037183

Change-Id: I561788fbfea1d221e13850e93593f8b9a96d9f7c
Check flavor id on resize.

Actually it checks for memory size changes so you can't change just cpu or hdd when resizing instances.

Fixes bug 1049195

Change-Id: I793d19dbf5f1d89d365e63ab61b4edb983fdb11c
Merge "libvirt: Fix live block migration"
Merge "PowerVM: Establish SSH connection at use time"
Backport changes from Cinder to Nova-Volume

NetApp C-mode driver.
Generic NFS-based block device driver.
NetApp NFS-based block device driver.

blueprint netapp-volume-driver-cmode
blueprint nfs-files-as-virtual-block-devices
blueprint netapp-nfs-cinder-driver
bug 1037619
bug 1037622

Change-Id: I513c3f88bcb03f3b71a453f92f5912d7730a8bbc