Fixes the Hyper-V VolumeOpsTestCase base class

The VolumeOpsTestCase base class inherits incorrectly from
HyperVAPITestCase, with the unwanted side effect of executing all
base class tests as well.

This patch generalizes a common base class from HyperVAPITestCase
and fixes the inheritance issue.

Closes-Bug: #1280379

Change-Id: Ic81beb8397138c16c8d2d88a9c9d05d2b76e0e83
VMware: add instance detail to detach log message

Provide extra details when detaching a volume from an instance.

Change-Id: I043bce041f82d18379ffc052ad8868ac425167fe
VMware: support instance objects

Over the course of Icehouse the instance dictionary has been changed
to an instance object. The patch ensures that the driver functions
receive an instance object as input.

Change-Id: I502ab7708f9b3c992ca80d442d794fdd4f5db6d5
xenapi: stop destroy_vdi errors masking real error

We frequently call destroy_vdi in an exception block where we plan to
re-raise the exception.

Should an error occur while destroying the vdi this hides the real error
that caused the problem. To stop this, I have moved those calls to
safe_destroy_vdis and added unit tests to ensure the error from
destroy_vdi does not mask the real issue.

Closes-Bug: #1246276
Change-Id: Ib02f93ab1086f077d3d00e5ca915a26f90552c85
xenapi: changes the debug log formatting

This patch changes the log formatting to use multiple arguments instead
of interpolation.

Note:
It's a matter of performance :
When you do the interpolation in your code, this code will be executed
each time you call the logger (event if the logger or the log level is
not activated).
When you let the logger do the interpolation, it will do the interpolation
only if the logger and log level is activated.

Change-Id: I628000767f41bb0ab1839089a0ba98f6974c4635
Move xenapi/agent.py to new call_xenapi style

At the same time, we used to call get_record to just fetch the domid,
this is very expensive compared to just call get_domid, so I have moved
towards using the cheaper call, particularly because this is called many
times when booting a server.

Part of blueprint xenapi-driver-refactor
Change-Id: If489f41c3d90ba9f738cd56bbc1277d105ab6b8d
Restore get_available_resource method in docker driver

The get_available_resource method, a necessary public
method was marked as private and it snuck through
code review! We caught this with docker-ci, but
only after it was merged.

This patch makes get_available_resource a public
method again, removing the _ prefix.

This is a partial revert for change:
    58d7eeede1e2912ab250fd306c85ca1a05de2fbc

Closes-Bug: 1286457

Change-Id: I07cede8e1ebf606988aeec5bb4d65a9c5ebfe20b
Refactor xenapi/host.py to new call_xenapi pattern

Update all calls to call_xenapi to the new calling pattern.

This code calls out to the "host" object that this change adding into
the collection of session objects.

An expensive call to host.get_record has been changed to the cheaper
call of get_uuid.

Part of blueprint xenapi-driver-refactor
Change-Id: I4bc4e3f990e36d422beee2a7a9f5fa413044052a
regenerate the config file to support 1.3.0a9

osloe.messaging 1.3.0a9 dropped another config option, which is
causing all of nova to fail pep8. Updating config.

Change-Id: I1f7c5f00f32d74a2fd317fc6a3ec52d2a61deda6
Merge "Move xenapi/agent.py to new call_xenapi style"
Merge "Refactor xenapi/host.py to new call_xenapi pattern"
Merge "Restore get_available_resource method in docker driver"
Merge "xenapi: stop destroy_vdi errors masking real error"
Merge "xenapi: changes the debug log formatting"
Merge "VMware: support instance objects"
Merge "VMware: add instance detail to detach log message"
Merge "Fixes the Hyper-V VolumeOpsTestCase base class"