VMware:Support for create disk and disk descriptor

This change adds utility methods for creating a virtual disk and virtual
disk descriptor. Currently volume creation from preallocated image doesn't
honour the disk type in the volume extra spec and adapter type in the image
meta-data. The workflow to address these issues require support for the
above mentioned methods.

Change-Id: If8ec1fd6c60d26552e5fb58b8bb16a8cc87d9d28
Partial-Bug: #1284284
Partial-Bug: #1287185
Add storageHost content to volume messages.

Implements: Volume notification Storage Host entry in the payload

Closes-Bug: 1333273
Change-Id: I370eaeaafd8fd4a8888f8250b49dffcbffb3a876
Remove Hyper-V dependency in the Windows Cinder Volume Driver

Currently, the Windows Cinder Volume driver depends on the Hyper-V
feature in order to be able to access the WMI namespaces that
are used for some of the volume related operations.

Those WMI calls must be urgently replaced with Win32 calls in order
to provide CI tests performed on Windows Storage Server edition.

Change-Id: Ib4b8bccee3c7ee86e6cc44e1b16d20d455e61612
Closes-Bug: #1346496
HP 3PAR retype implementation

Add retype support to the HP 3PAR driver. The driver will modify the
volume's current userCPG, snapCPG provisioningType, and QOS settings, as
needed, to make the volume behave appropriately for the new type. The
existing retype framework handles what to do if the driver cannot retype
(when it returns False or raises an exception).

The combination of optional type-specified VV set, old-style scoped
extra-specs and QOS-specs will be resolved using existing code. So no
new interpretation of a mixed-up type specifications will be introduced
(no need to re-document these driver caveats).

Other than the usual validity checking, the 3PAR retype will have one
limitation. Retype will not be allowed if the volume has snapshots and
the retype would require modifying/tuning the snapCPG or userCPG.

Change-Id: I6c7816233635e369dd7ff349c2a437b22a849a84
Implements: blueprint retype-hp-3par
Remove cinder-rpc-zmq-receiver

cinder-rpc-zmq-receiver should be removed as part of the switch to
oslo.messaging. It is now replaced with oslo-messaging-zmq-receiver.

Change-Id: I1fd7d7571bb5660bf77e7664f35052db29ebea57
Closes-Bug: #1348856
Add hacking check for vim headers

We have a number of commits that have removed the vim
headers from openstack/common components as well as
commits to remove the headers from drivers.  We, however,
haven't put a hacking check in to make sure that they don't
sneak back into the code as is evidenced by the fact that some
files failed the check.

This commit adds in the check, the associated test cases and
fixes the couple of files that had a vim header again.

Change-Id: I727bd2aff7ac7b909c9e7cd4f3639f5873793e97
Fix glance metadata SQL query performance

The query built to retrieve glance metadata associated to a volume
was sub-optimal: all rows of volume_glance_metadata were returned.

Fix it by properly joining the 2 tables with volume_id field.

Closes-bug: #1349936
Change-Id: Ic09414de769e71f8b8f99113838af48d8520e187
Merge "Remove Hyper-V dependency in the Windows Cinder Volume Driver"
Merge "Add hacking check for vim headers"
Merge "VMware:Support for create disk and disk descriptor"
Merge "HP 3PAR retype implementation"
Merge "Add storageHost content to volume messages."
Merge "Remove cinder-rpc-zmq-receiver"
Merge "Fix glance metadata SQL query performance"