Forcibly set libvirt uri in baremetal virtual power driver

To ensure the baremetal virtual power driver is able to control
all the available libvirt domains when connecting to the remote
libvirtd host, we enforce virsh to use the 'qemu:///system' uri.

Enforcing it to 'qemu:///system' should not break existing
deployments while also fixing issues appearing when it is not
set, see tripleo bug 1226310.

Finally, while the uri is an actual config parameter for the Ironic ssh
driver, Nova baremetal is in soft freeze so it seemed more appropriate to
just avoid polluting the config file with deprecated, obscure settings.

Change-Id: I1c956bb9fa6fd365ebeea42d374c800455293e2b
Related-Bug: #1226310
VMware: optimize VM spawn by caching the vm_ref after creating VM

Commit cebcb28357131a2bf4761bbddebbedf2a7951a11 ensured that the
vm_ref was returned when the VM was created. We now cache this value
to save remote calls to the VC.

Change-Id: Ife2e64703f72a5b4f9b6f5b3cdfb63c2df5cadf7
Handle InstanceUserDataTooLarge at api layer

compute layer might raise InstanceUserDataTooLarge exception,
this patch catches the exception at API layer and handle it.

Closes-Bug: #1338473

Change-Id: I881e526eaa51ab28316f643430d904f620123d56
VMware: consolidate common constants into one file

These constants will be used in patches that are related to the
blueprint vmware-hot-plug and the blueprint vmware-spawn-refactor.

Change-Id: I5f9cf11f77f3365487e12b96318514114b90aeff
virt: move get_cpuset_ids into nova.virt.hardware

The nova.virt.cpu module has a single helper method for
getting the instance vCPU pin list. The new module
nova.virt.hardware is intended to be a single place for
all helpers related to guest hardware configuration, so
it is a natural place for the get_cpuset_ids method.
Rename it to 'get_vcpu_pin_set' to slightly clarify its
purpose too.

Blueprint: virt-driver-numa-placement
Blueprint: virt-driver-cpu-pinning
Change-Id: Id106737dc40471e8d31fbc002256b70e0b6ad5f6
virt: split CPU spec parsing code out into helper method

The get_vcpu_pin_set method in nova.virt.hardware will
parse the value of the CONF.vcpu_pin_set parameter. The
code for parsing CPU specs is needed in a number of other
contexts, so split it into a separate parse_cpu_spec
method that accepts a string, instead of hardcoding the
CONF.vcpu_pin_set string.

Blueprint: virt-driver-numa-placement
Blueprint: virt-driver-cpu-pinning
Change-Id: Ia9df3a7bebd691efc2143e141b2c6eef2f1c326c
vmwareapi: make method signatures match parent class

Fix any inconsistencies in method signatures between the
vmwareapi driver impl and the ComputeDriver parent class.
Add a test case to prevent future regressions

Closes-bug: #1333219
Change-Id: Ic361a922a1aefa5b5a3470c0547e694d073d2d58
Merge "VMware: consolidate common constants into one file"
Merge "virt: move get_cpuset_ids into nova.virt.hardware"
Merge "vmwareapi: make method signatures match parent class"
Merge "virt: split CPU spec parsing code out into helper method"
Merge "VMware: optimize VM spawn by caching the vm_ref after creating VM"
Merge "Handle InstanceUserDataTooLarge at api layer"
Merge "Forcibly set libvirt uri in baremetal virtual power driver"