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
Make live_migration a first-class compute API.

* Move the trivial implementation from admin_actions to compute.api
* Remove the dependency to scheduler from admin_actions
* Add check_instance_state like all other compute APIs to prevent
undesirable behavior

Change-Id: Ib5176718eae624de982f641bf3ec201fc7b4efcc
Merge "Add remove_volume_connection to the compute rpcapi."
Merge "Add get_instance_disk_info to the compute rpcapi."
Merge "Add shared_storage_test methods to compute rpcapi."
Fix bug 1006664: describe non existent ec2 keypair

Change-Id: I92bfd6b51aa31abb06e21893174101da31baffd8
Merge "Unused imports cleanup (folsom-2)"
Update libvirt imagecache to support resizes.

Updates the libvirt image cache manage so that it accounts
for instances which are resizing.

Also fixes an issue where an exception was thrown when
the image cache manager ran while instances were resizing.
This is because instances which are resizing may have files in the
Nova instances directory which are missing backing files.

Fixes LP Bug #1006616.

Change-Id: I724c6855b68eca24a00893fd96b26b1443f9da5c
Merge "Implements resume_state_on_host_boot for libvirt."
Fix whitespace in sqlite steps

Change-Id: Ieab9c492aa526903c55f17b87b70fe7c25372f5e
Merge "Update libvirt imagecache to support resizes."
Refactor libvirt create calls

 * minimizes duplicated code for create
 * makes wait_for_destroy happen on shutdown instead of undefine
 * allows for destruction of an instance while leaving the domain
 * uses reset for hard reboot instead of create/destroy
 * makes resume_host_state use new methods instead of hard_reboot
 * makes rescue/unrescue not use hard reboot to recreate domain

Change-Id: I2072f93ad6c889d534b04009671147af653048e7
Merge "Make live_migration a first-class compute API."
Merge "Fix libvirt rescue to work with whole disk images"
Merge "Fix whitespace in sqlite steps"