Volume backed live migration w/o shared storage

This patch allows live migration of volume backed instances without
the need for shared storage (For Libvirt only).

Fixes LP Bug #1074054
DocImpact

Change-Id: If7abd63a610a44720cec2d4021cc4ee737ea301d
Allows an instance to post encrypted password

Exposes a new url in openstack metadata with two methods:

GET 169.254.169.254/openstack/latest/password # get password
POST 169.254.169.254/openstack/latest/password # post password

The password can only be set once and will be stored in an
instance_system_metadata value with the key 'password'

Part of blueprint get-password

Change-Id: I4bbee8326a09fe38d6393e9e70f009daae0c6ece
Remove the deprecated quantum v1 code and directory.

The code in this directory is the v1 to integrate quantum with nova. at
that time, quantum hasn't a client and keystone support. At the nova side
, there is a quantum manager that connect to quantum server. now, all code
has been removed execept the nova_ipam_lib which is unused too. this patch
removes the nova_ipam_lib.py.

Change-Id: I05146d47fb57f215f8d010dbde8fdc0b2de55301
Move link_prefix options into api.openstack.common

Add new update_link_prefix() helper methods which will contrain the
usage of the osapi_{compute,glance}_link_prefix options to the
nova.api.openstack.common module and move the options there.

blueprint: scope-config-opts
Change-Id: Idff76e16635b061f317f65d0b94bb300694833dc
Move osapi_max_limit into api.openstack.common

blueprint: scope-config-opts
Change-Id: I15e4f58be07ad4aff09ff30c021b1d86a6f15d53
Move API extension opts to api.openstack.compute

The osapi_compute_extension and osapi_compute_ext_list options are only
used within individual modules under nova.api.openstack.compute.

blueprint: scope-config-opts
Change-Id: I682fa491dd1435814b73404d91df3387504c3e39
Move metadata_{host,port} to network.linux_net

These options are only used within nova.network.linux_net.

blueprint: scope-config-opts
Change-Id: Id8a64a83b6c6e069a5594c128792d8abf1d81180
Add VirtAPI tests

So far, VirtAPI has only been tested indirectly through the
other tests and modules that use it.

This adds a dedicated set of tests for the VirtAPI abstract class,
the virt/fake.py::FakeVirtAPI implementation, as well as the one
in compute/manager.py::ComputeVirtAPI. This test helps to ensure
that they all have the same method signatures and exhibit the
general behavior we expect. At the very least, this should help
them from getting out of sync in terms of their API. It also ensures
that methods can't be added to VirtAPI without a corresponding test.

Note the slight change in the FakeVirtAPI class to fix passing the
keyword arguments explicitly, which makes Mock happy.

Related (vaguely) to blueprint no-db-compute

Change-Id: Ib44379e17fae4df506b0108e20eb66b19195b1ca
Fixes KeyError: 'sr_uuid' when booting from volume on xenapi

This change fixes the capability for a XenServer/XCP hypervisor
to boot instances from an iscsi volume running on Cinder.

This patch takes into account that Cinder can be configured
with an iscsi back-end, instead of a xensm one, where keys like
sr_uuid are not being specified. It works through the magic of
determining the SR, and the vdi associated with the iscsi target
and lun.

This patch also does a bit of clean-up of code/comments that no
longer apply.

Addresses bug #1087308

Change-Id: Ie7d65eeb965b3468e4407981788725e2b43bff5e
Stop nbd leaks, remove pid race.

With the previous implementation, if a nbd device was found to be in
use by something other than nova it was removed from the class scoped
list of devices, but never re-added. This meant we "leaked" devices
away over time if we were competing with other nbd users on the
machine.

Instead of tracking our use at all, we should rely on the presence of
a user pid in /sys.

Resolves bug 1088083.

Change-Id: If777e270a0dda12034ea7ef1bc7fd688cadde8a9
Ensure that sql_dbpool_enable is a boolean value

Fixes bug 1089232

Change-Id: Ida46aaf6b41422590ce1c04a606cd24c70891ed9
Add syslogging to nova-rootwrap

Add syslogging capabilities to nova-rootwrap, if you set parameter
use_syslog to True. You can specify a facility (syslog_log_facility)
and level (syslog_log_level) to use. Finalizes bp nova-rootwrap-options.

In doing so, it moves rootwrap config parsing to a nova.rootwrap.wrapper
object (and adds unit testing for it). It also improves log messages
content (including the name of the matching filter and the escalation
path used). Incidentally fixes bug 1084766.

Change-Id: Idb8cd9c9febd6263dafab4bc2bff817f00c53dc0
Fix poll_rescued_instances periodic task

The poll_rescued_instances periodic task now checks the amount of time
that an instance has been in the RESCUED stated before timing out the
rescue.  It also now performs the unrescue through the compute api in
order to make sure the database is left in a consistent state.

The poll_rescued_instances method is no longer necessary in the virt
driver interface and has been removed.  And also removed from the
different virt drivers, since it was just doing a 'pass' in each of
them.

bug 1088625
bug 1088627

Change-Id: I75f7dc188cc49e5f6e5c8a3cb256d1c42ff7d882
Merge "Move link_prefix options into api.openstack.common"
Merge "Move osapi_max_limit into api.openstack.common"
Merge "Move API extension opts to api.openstack.compute"
Merge "Move metadata_{host,port} to network.linux_net"
Fix errors in used_limits extension

Fixes bug #1062049

There was a typo mapping the security groups resource to floating IPs.

Volumes usage isn't tracked by Nova any more since delete-nova-volume.

Key pairs don't work with the extension because of bug #1089877.

Change-Id: Ifd694b21fef1dc95e67c07dcef0cd6ea3daa8d53
Remove sleep in test_consoleauth.

test_consoleauth:ConsoleauthTestCase.test_tokens_expire called
time.sleep(1.1) in order to test that tokens with a TTL of 1 second
expire after one second. Problem is time.sleep() may return before the
entire sleep period is complete. Remove the sleep and instead use Oslo's
timeutils to override the time and advance it by one second to check
that expired tokens do expire.

Part of blueprint grizzly-testtools

Change-Id: Iae0e678fb12a76757523dc7dbccb4da98cef85e6
Merge "Add VirtAPI tests"