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
workaround lack of quantum/nova floatingip integration

bug 1040956

The Nova/Quantum integration in Folsom does not yet proxy Nova
floating IP calls to Quantum.  However, Horizon automatically
makes calls to Nova to list floating IPs, which prior to this
patch resulted in a Horizon error message due to the fact that
the Quantum integration code in Nova would raise an Unimplemented
error.  This patch changes that behavior to instead return an
empty list.

This is a workaround for Folsom.  The correct long-term behavior
is either to:
1) have Nova proxy all floating-ip calls to Quantum when quantum
is enabled.
2) have Horizon use the Quantum floating-ip API when Quantum
is enabled.

Change-Id: I5414d935e872a9da108511b50e70545d82b73347
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
Fix FLAGS.volumes_dir help message

And other nova/volume/iscsi.py typos

Change-Id: I08e7d4379f6a455273df999b621f8a89e73e0aef
Return 400 if create volume snapshot force parameter is invalid

Fixes bug #1014689

* Add is_valid_boolstr function in utils.py
* Add force parameter check in SnapshotsController.create()
* Add unittest for invalid force parameter.

Change-Id: Ie6a07a2ac589da76f52a82b126a6d66e5987edc4
Add reservations parameter when cast "create_volume" to volume manager

Fixes bug #1050192

Add reservations parameter when _cast_create_volume cast
"create_volume" to volume manager. So VolumeManager.create_volume() can
commit the reservations in volume quota.

Change-Id: I8f3104d53bde55d4d83f39253869cc78a8511750
Merge "Fix FLAGS.volumes_dir help message"
Merge "Add reservations parameter when cast "create_volume" to volume manager"
Validate keypair create request body

Check if keypair create request body has manditory keys like keypair, name
and raise HTTPBadRequest if the required keys are missing.

Fixes bug 1049619

Change-Id: Ia6129e1b04e910fbea81b62b921a228aafa32f64
Merge "Backport changes from Cinder to Nova-Volume"
Merge "Return 400 if create volume snapshot force parameter is invalid"
Merge "Validate keypair create request body"
Overload comment in generated SSH keys

Overload comment in generated SSH keys in order not to leak information
about the user and host that actually generated them. Patch based on a
suggestion by Pedro Perez.

Fixes bug 1050347.

Change-Id: I73bbdba1f6c9e83a5e7e70564959b9d7abaa5e29
Fixes import issue on Windows

Fixes Bug #1034043

The crypt module is not available on Windows.
Since this is a blocking issue on Hyper-V and since the only
function using it is _set_passwd (not implemented on Windows),
the import can be safely conditionally avoided.

Change-Id: Iefe97edcfcff3b70593e07628b6a6f85e680cbc7
Includes sec group quota details in limits API response

Added the security groups quota details to
the limit API response so that these details
also get displayed to the user.

Fixes bug 1049578
Change-Id: I45c345141747f99359c8948e959030f8cb99e866
Use tmpdir and avoid leaving test files behind

 We were just creating a file for testing iscsi persist files and
 weren't cleaning up after the test.

 Change this to use a tmpdir and make sure we leave no tracks.

 Fixes bug #1050086

Change-Id: I714177d7789da8b628ab63c163a2c3f1698dd940
Add 422 test unit test for servers API

Add a straightforward test case to check the cases where we're returning
422 from the servers API.

Add a comment to ServersAllExtensionsTestCase which clarifies who it
differs from these new 422 tests.

Change-Id: Idb39e37f4a620199abb986793ae9415a5115dba9
Add entity body validation helper

Add a _valid_body() helper for the servers API to avoid repeating the
same tests in multiple methods. Include a check that the 'server' value
is actually a dict.

Also remove the superfluous checking of req.body which is a leftover
from when the body wasn't a method parameter.

Change-Id: If8114cc76d68567005c85c803f29e30e034db89a
Remove useless _get_key_name() in servers API

This no longer does anything useful. Firstly, we already check that the
body dict has a server key. Secondly, AttributeError will never be
thrown here since we have already checked that the entity is a dict.
Finally, we don't need to set this key to None if it's not supplied
by the client since we later use get() to to look it up.

Change-Id: I4235117cc47e5b5cbdad4425edb3c7059e608d49
Merge "Add 422 test unit test for servers API"