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"