Libvirt: SMB volume driver

Currently, there are Libvirt volume drivers that support
network-attached file systems such as Gluster or NFS. This patch
adds a new volume driver in order to support attaching volumes
hosted on SMB shares.

Co-Authored-By: Gabriel Samfira <gsamfira@cloudbasesolutions.com>

DocImpact

Change-Id: I1db3d2a6d8ee94932348c63cc03698fdefff0b5c
Implements: blueprint libvirt-smbfs-volume-support
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
Add cn_get_all_by_host and cn_get_by_host_and_node to ComputeNode

Following the addition of the host field, now we can query by this field.
Here, there are additions for querying N nodes having same host and for
query 1 node having the tuple (host, node)

Here, we also need to provide a compatiblity layer in the ComputeNode
object to make sure that if old compute nodes are still running without
host field, we can still search against them.

Partially-Implements blueprint detach-service-from-computenode

Change-Id: Id23944060fd30da7293f02c31aa71c3150214794
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 "fix pep8 errors that apparently slipped in"
objects: introduce numa pages topology as an object

Introduces object NUMAPagesTopology also remove the one
from hardware.py which will be not used.

Work-Item: Enhance libvirt driver to report available
           large pages per NUMA node in the host state data

Change-Id: I004c87c5c5b2b42fda04b5754b77a83fadd44281
Partial-Implement: blueprint virt-driver-large-pages
Merge "Add host field to ComputeNode"
Merge "objects: introduce numa pages topology as an object"
Merge "Libvirt: SMB volume driver"
Merge "Add cn_get_all_by_host and cn_get_by_host_and_node to ComputeNode"