Add supported file system type check at virt layer

Currently nova doesn't check whether the file system type is supported
by virt layer(hypervisor) before use it. This patch adds current
support file system type definition then create a default check
function at virt layer. Following patches will do the real check
in different driver such as libvirt.

Change-Id: Ie4d876a48b36c1a53b171dd521bdeef868a31486
Partial-Bug: #1293880
Add APIv3 support to make host optional on evacuate.

DocImpact: The evacuate target host is now optional. If
'host' field is not sent in the request, the scheduler
will determine the target host. This will include
nova client changes ( on the proper commit ) to support
this new optional parameter.

Implements: blueprint find-host-and-evacuate-instance

Change-Id: I907ea4ef39cfad50a48cb80bceba217fdf482f6e
Co-Authored-By: Juan M. Olle <juan.m.olle@intel.com>
Co-Authored-By: Andres Buraschi <andres.buraschi@intel.com>
Co-Authored-By: Anuj Mathur <anujm@thoughtworks.com>
Co-Authored-By: Navneet Kumar <navneetk@thoughtworks.com>
Co-Authored-By: Claxton Correya <claxton@gmail.com>
Update port binding when unshelve instance

When unshelve instance, it should update the attached port also.
This patch invoke network_api.migrate_instance_finish to update
the port's binding info.

Change-Id: Iaa77163dde5494154d67ef392142669d70c3e643
Closes-Bug: #1306922
VMware: Trivial indentation cleanups in vmops

This change has been split out of
https://review.openstack.org/#/c/87002/, which was written by Shawn
Hartsock.

TrivialFix

Co-authored-by: Shawn Hartsock <hartsocks@acm.org>
Change-Id: I6c3ee19b019668a7509ee9835a53271f98805f8f
VMware: Convert vmops to use instance as an object

This is mostly mechanical, but it does expose what appears to be a bug
in the interaction between object.Instance's config_drive field and
configdrive.required_by(). object.Instance defines config_drive to be
a String, but configdrive.required_by() expects it to be a Boolean. In
assigning a boolean value to config_drive, it is cast to a String,
which evaluates as True when cast back to a Boolean. We therefore
update the tests which use config_drive to set either a String value,
or None, which is what other code does.

Note that Nova does not pass an Instance object to all driver methods,
so not all uses can be updated.

Change-Id: Ifc9ce5d96da30abfa09b608a9c8615ede1485a50
Merge "Update port binding when unshelve instance"
Merge "Add supported file system type check at virt layer"
Merge "VMware: Trivial indentation cleanups in vmops"
Merge "VMware: Convert vmops to use instance as an object"
Merge "Add APIv3 support to make host optional on evacuate."