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
Re-attach volumes after instance resize

Fixes bug 1051600.

Update the compute manager to pass block_device_info to three
additional driver entry points and update all virtualization drivers
to accept it as an optional argument.

Within libvirt, migrate_disk_and_power_off() will now iterate and disconnect
any existing connections.  finish_migration() simply updates its use
of to_xml(), passing block_device_info, which returns a libvirt XML
fully populated with volumes.  Finally, finish_revert_migration() no
longer uses the on-disk XML file, instead generating it via to_xml; as
the former lacks volume configuration.

Change-Id: I7dccd03ef9cc7d2848f07764d4def3787e41e202
Fixes snat rules in complex networking configs

There is currently no way to disable nova's snat rule, which causes
problems for some network configurations with an external gateway.
This patch allows the snat to be completely disabled by setting
a blank value for routing_source_ip.

This patch also makes the snat rule a little more specific, only
snatting traffic that is destined for the public interface (or
the floating interface if it is defined). This allows the snat
to work without changing routing_source_ip and also ensures that
an instance assigned multiple ips from different floating pools
will connect from the appropriate address for each pool

Fixes bug 1048765

Change-Id: I18be88a3dbb7a9f4762db7beefc94e07b8310100
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
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"
Add a resume delete on volume manager startup

  Currently if for some reason the volume service was stopped
  during the zero out operation of a volume delete there was
  no way to get the volume removed from the system (it would
  be present in deleting status forever).

  This change adds a simple check of volumes in the DB with status
  of deleting, and if any are found it restarts the delete process
  on them.

  addresses bug #1011150

Change-Id: I6aa26e9eaa94da4b620f01160931cbfcad9dadf7
Make compute/manager.py use self.host instead of FLAGS.host

This prevents the instances returned from getting a different
instance['host'] than was supplied to the manager. This shows up
during integrated testing of 'resize'.

Change-Id: Ifa4316bf7099dc2c60c4e87cfaafa93a4bc2e5b1
Imported Translations from Transifex

Change-Id: Ibcf44205f71393d3663e2479f5e63a8ac54861a1
Add more useful logging around the unmount fail case.

Raise a better message with a more useful message
rather than raising a process execution error, which
although useful is not especially meaningful.

Bug 1050645

Change-Id: Id9817de26fdb16f8fce17ebd093a9550e63be19c
Correct typo in memory_mb_limit filter property

Fixes bug blocking memory oversubscription in builds

bug 1048842

Change-Id: I932d0a7248f231127965331886664bfd9092dad0
Add README for doc folder

In preparation for more more man pages

Change-Id: I55a9d332e5cbba90ff1e2a2cb0c0d24ae35fba5b
Merge "Add more useful logging around the unmount fail case."
Merge "Use tmpdir and avoid leaving test files behind"