VMware: allow selection of vSAN datastores

With support for handling of stream-optimized disk images added, the
vmware driver is now able to deploy to vSAN datastores, so add support
for the the 'vsan' datastore type, and update the datastore selection
logic to take this type into account when when spawning a
stream-optimized image.

Implements: blueprint vmware-vsan-support
Co-authored-by: Radoslav Gerganov <rgerganov@vmware.com>

Change-Id: Id43ad4adcad212a8e0d8ab3830af62d4afda1442
Compute Add build_instance hook in compute manager

The build_instance hook provides a hook close to the actual spawn
of an instance. It distinguishes itself from the create_instance
hook because, in the case of a successful build, the instance will
exist on the hypervisor when the build_instance post hook is
called, instead of simply just being scheduled as is the case with
the create_instance post hook. This is useful as some details may
not be available until after scheduling.

Co-Authored-By: Corey Wright <corey.wright@rackspace.com>
Change-Id: Ic12abf6315bbc6b010b8222ef296ec65cb4b4f95
rename oslo.concurrency to oslo_concurrency

oslo.concurrency-0.3.0 has moved its path to oslo_concurrency,
the old path oslo.concurrency can still work but is deprecated now.

Change-Id: I1538dad5cbacf1e6041c571d5bc55994689c08b0
Closes-Bug: #1398656
Update LVM lockfile name identical to RAW and Qcow

Currently Raw and Qcow2 use filename as lock file identity
while LVM use whole path. This patch change the lockfile
name of LVM to identical to the others.
It will be helpful to allow driver layer code to remove
those files when the life cycle of an instance ends.

Related-Bug: #1256306

Change-Id: I07aa54032026ca479fe8de08308dae51527a6b13
Add host field to ComputeNode

In order to remove the Service dependency, we need to add
the host field to ComputeNode when creating an entry

Partially-Implements blueprint detach-service-from-computenode

Change-Id: I353eb87f915a5ab7d492c2dbd028a839aa5041a6
Hyper-V: attach volumes via SMB

Currently, the Hyper-V driver supports attaching volumes only via
iSCSI. This patch adds support for attaching volumes using VHD or
VHDX images hosted on SMB shares.

Note that the according Cinder drivers which allow exporting
images through SMB shares have been already merged.

The workflow is simple: using the connection info, the driver
chooses the right volume driver, mounts the according SMB share
using the according credentials. The only thing that needs to be
done next is actually attach the volume to an instance using its
UNC path.

Change-Id: Id5de0e6843c1035235598a4d72a00b7555187fb4
Implements: blueprint hyper-v-smbfs-volume-support
Updated from global requirements

Change-Id: I95110cf334ad9e88e9bbfceafdad4f839e1bbcbe
Libvirt: Fsfreeze during live-snapshot of qemu/kvm instances

Currently it is required to execute fsfreeze command manually before
taking snapshots of active instances, otherwise the snapshot may be
inconsistent. When qemu-guest-agent is installed in a kvm instance,
we can request the instance to fsfreeze via libvirt's fsFreeze API
which is introduced in libvirt 1.2.5. To utilize this feature,
the image metadata must have 'os_require_quiesce=yes' property.
'hw_qemu_guest_agent=yes' is also needed to enable qemu-guest-agent.

Implements: blueprint quiesced-image-snapshots-with-qemu-guest-agent
Change-Id: I137efe00839ae0cb35e142b0c8f8d75ae61cfb64
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@hds.com>
Merge "Hyper-V: attach volumes via SMB"
Merge "Update LVM lockfile name identical to RAW and Qcow"
Merge "Updated from global requirements"
Merge "Libvirt: Fsfreeze during live-snapshot of qemu/kvm instances"
Merge "Compute Add build_instance hook in compute manager"
Merge "rename oslo.concurrency to oslo_concurrency"
fix pep8 errors that apparently slipped in

Apparently, a couple of H302 issues have slipped into Nova, possibly
due to hacking releases or a bad merge commit. Fix these as they are
blocking some other patches.

Change-Id: Icc42e060492bc74febc9414b63970ee71fb9c27c
Merge "VMware: allow selection of vSAN datastores"
Merge "fix pep8 errors that apparently slipped in"
Merge "Add host field to ComputeNode"