Checking existence of index before dropping

Migrations modifying indexes drop and recreate the index.
If an index does not exist dropping would fail the migration.
As part of this fix, checking if index exists before dropping it.

Fixes bug 1243553

Change-Id: Ic75744bdccfbc516d36a9711ad6997fd86c7a722
Shrink the exception handling range

On evacuate action API, the exception handling for getting API
parameters is wide. This patch shrinks it to necessary range for
code cleanup.
In addition, this patch adds some negative tests for the lack of
"onSharedStorage" parameter.

Change-Id: Iccfa9d455758af432b5bcbb33842034f07e8fdc3
Add V2 rpc api for console

Add support for the 2.0 console rpc API.  This commit retains compatibility
with the older 1.X API to allow continuous deployment without any downtime.

The v2 rev of this API is really simple.  It removes the
get_backdoor_port() method, which was moved to the base rpc API common
to all services in havana.  It also removes some unused parameters.

UpgradeImpact - Deployments doing continuous deployment should follow this
process to upgrade without any downtime with the consoleauth service:

1) Set [upgrade_levels] console=havana in your config.

2) Upgrade to this commit.

3) Once everything has been upgraded, remove the entry in
[upgrade_levels] so that all rpc clients to the nova-console service
start sending the new 2.0 messages.

Part of blueprint rpc-major-version-updates-icehouse

Change-Id: If05d041c5104b7f4e2e6b035de33cdd695c7a1ae
Fix for reading the xenapi_device_id from image metadata

The xenapi_device_id is set on the image metadata.
This is used to set the device_id on the vm record
before the vm is created. Currently, when we read
the device id from the metadata we are looking at
the key image_meta["xenapi_device_id"].
But the device id is set as
image_meta["properties"]["xenapi_device_id"].

Fixes bug 1253564

Change-Id: Ide174b50db4e440401b5e6389844e7dcfc8a1c76
Imported Translations from Transifex

Change-Id: I467fbd376b2dd6b11b41e0528eeaf02f21eaa819
Merge "Imported Translations from Transifex"
xenapi: workaround vbd.plug race

XenServer 6.1 and above has issues where multiple calls to VBD.plug can
cause tapdisk to hang during the unplug.

Currently this causes issues when attaching the virtual disk to the
nova-compute VM. This happens during spawn and resize. Should any of
those operations happen at the same time, we run the risk of hitting the
above bug.

This change works around this issue by ensuring there is only ever one
VBD plug at once, per VM.

Fixes bug 1251716
Change-Id: Ie7a64c481a9e3874df9d5924fbb050ac7ab117db
xenapi: stop key_init timeout failing set password

When key-init timeout occurs, it returns None, which causes the
set-password to fail with an error casting None to int.

This code ensures it fails silently as intended.

Fixes bug 1241738
Change-Id: I080807c5728f94a6b36957efd6f2bbc44a76b1cd
Merge "xenapi: stop key_init timeout failing set password"
Merge "Add V2 rpc api for console"
Merge "Shrink the exception handling range"
Merge "Fix for reading the xenapi_device_id from image metadata"
Merge "Checking existence of index before dropping"