The HostInfo object reports information about all plugins
installed on the host and which vif types they support.
When configuring a port for a particular instance though,
the service host may only support a subset of vif types.
For example, if the VM does not have shared memory, or
is not using virtio-net, then it is not possible to use
the vhostuser VIF type. Thus users of os-vif need to be
able to filter the HostInfo data to restrict to to the
subset of vif types that are actually usable in the
particular usage scenario.
Rather than having the compute node pass across an
arbitary set of information to os-vif, to have it do
filtering in the os_vif.host_info() method, add an API
that lets Nova filter the host info explicitly.
For example, when configuring a instance's port Nova
would do
supported_vif_types = ["VIFBridge", "VIFOpenVSwitch"]
if ...instance has shared memory and QEMU > 2.1.0...
supported_vif_types.append("VIFVHostUser")
host_info = os_vif.host_info(supported_vif_types)
Change-Id: I1f8c8ae49b767b7684f60cd9cac153fc9ab42088