cleanup power state (partially implements bp task-management)

Removed duplicate and invalid state in power_state:
FAILED, SHUTOFF, BLOCKED
This is the first step in cleaning up nova state machine
and do better task management (bp/task-management)

http://wiki.openstack.org/VMState

Change-Id: I586b9058fada5efd468870fb187590fc0e37aa8f
Eliminate a race condition on instance deletes.

- Add constraint and equality conditions to nova.db[.sqlalchemy].api
- Use host constraints to ensure the compute api doesn't simply delete
  an instance from the database that a compute manager has already
  started to run.

This race condition is associated with bug #998117

Change-Id: Id74192d3e66bea073327342f57ce0f26987efd2d
XenAPI: Don't hardcode userdevice for VBDs

Cleanup and refactor the way VBDs are allocated so it's clearer what
userdevice each VDI is allocated to. Also, use a dict of VDIs instead
of a list since it's nonsensical to have multiple VDIs of any type
and simplifies the code somewhat.

Change-Id: I46d6215dbd90822970a874af66f22c9a34529a40
Start removing unnecessary classes from XenAPI driver

The XenAPI driver has the concept of helper classes. All methods
have been classmethods and the classes themselves are never
instantiated. As a result, they only add an extra namespace
lookup and provide no value.

The first step is to move some functions from HelperBase to the
session class where it is better suited.

Change-Id: I13d6d49509052d35339a0ef132647bd61179cdd8
Remove vm_utils.VMHelper class

The XenAPI driver has the concept of helper classes. All methods
have been classmethods and the classes themselves are never
instantiated. As a result, they only add an extra namespace
lookup and provide no value.

Change-Id: If8a20501c9a9353359234441580552e41471722b
Remove volume_util.VolumeHelper class

The XenAPI driver has the concept of helper classes. All methods
have been classmethods and the classes themselves are never
instantiated. As a result, they only add an extra namespace
lookup and provide no value.

Change-Id: I26d1adfd378adc0728388185ba81fc4c71a41bdc
Remove network_util.NetworkHelper class

The XenAPI driver has the concept of helper classes. All methods
have been classmethods and the classes themselves are never
instantiated. As a result, they only add an extra namespace
lookup and provide no value.

Change-Id: Ief7d51013d8f313ca8c78cb157599858b156ac3f
Finish removing xenapi.HelperBase class

The XenAPI driver has the concept of helper classes. All methods
have been classmethods and the classes themselves are never
instantiated. As a result, they only add an extra namespace
lookup and provide no value.

This is the last patch in this series

Change-Id: I314dfa6555d38be9b0988270b3367c4ae86b19bb
Fix libvirt rescue to work with whole disk images

 * fixes bug 1007266
 * passes rescue image data to get_config so it only adds
   the kernel and ramdisk if necessary
 * adds tests to make sure that the kernel and ramdisk
   only appear if they are needed

Change-Id: I32e0369a066ce2b6189b4a015b30ffd8b6d3ec66
Implements resume_state_on_host_boot for libvirt.

Adds a new virt driver function to help resume guest states
on host boot. This fixes a couple issue with using a reboot
(like we did previously):

 * Using reboot would clear some task states (VERIFY_RESIZE for example)
 * Provides a mechanism for hypervisor specific guest restarts.
   Reboot would not have worked for XenServer for example...
 * Updates libvirt to use a hard reboot (instead of soft)

Fixes LP Bug #985162.

Change-Id: Iaf5aad75ec9b91f44710a18ddaf3a93378573a62
Add remove_volume_connection to the compute rpcapi.

Part of bug 1006467.

Add the remove_volume_connection method to the compute rpcapi.  This is
used by the compute manager.

Change-Id: I307d85782baa371a16c80bd9ecabf449a60a0876
Add get_instance_disk_info to the compute rpcapi.

Part of bug 1006467.

This patch adds get_instance_disk_info to the compute rpcapi, which is
used by the scheduler.

Change-Id: Ibb4a86d92ef402a3cc993212dfb8ce073c1c542d
Add shared_storage_test methods to compute rpcapi.

Part of bug 1006467.

This patch adds 3 methods used to check if shared storage works between
two compute hosts to the compute rpcapi.  These methods are used by the
scheduler.

This also cuts down on some duplicated code in test_scheduler.

Change-Id: If0bf7f7fdd2beb0e5280ae52daf049372f8bc9e2
Unused imports cleanup (folsom-2)

Fixes bug #1008023

Change-Id: Ifb8ecbb7430fdabd7b5d81ab23df66942abd9cb7
Use openstack.common.cfg.CONF.

Part of blueprint common-rpc.

This patch makes the rpc code use the global config object from
openstack-common.  Based on some recent discussions on the mailing list,
this may not be the final way configuration handling is done here, but
it is certainly better than the register_opts() hack that is removed by
this patch.

Change-Id: Id128126e0bc064a2a1c710c6bd32fb3d137dc7f6
Use openstack-common's policy module

Reworks nova to use the new policy module in openstack-common.

Change-Id: Iea8651bad85f26804285616330107d9d5f23e6cb
Merge "Eliminate a race condition on instance deletes."
Revert "blueprint <multi-process-api-service>"

This reverts commit e599636d09755f635604f64f17e9f56cac14575e

The nova test runner is leaking processes after this change.

Change-Id: Id74463d53f3b7cd749cba293619abef01499b90d
Finally ack consumed message

To avoid bad messages fill up the queue.

Change-Id: Id57ff33cfcacf698f89fa7f1020c0c887ebe14ed
Merge "Use openstack.common.cfg.CONF."