VMwareVCDriver Fix sparse disk copy error on spawn

The same approach of calling VirtualDiskManager.CopyVirtualDisk
without destination disk spec in the cluster driver for fixing 1184807
turns out to work for copying a sparse disk as well because vCenter's behavior
for specless copy is to do the reasonable thing of converting a sparse disk to
thin-provisioned, and a flat disk to preallocated.

Tests done:

Verified using tempest that sparse/thin/preallocated image types deploys
properly through the cluster driver. Tempest output to be included in
the review comments.

Fixes bug 1171226

(cherry picked from commit 42e929e990c7d5c4484c05bc92e57f64ca85629e)

Conflicts:

	nova/tests/virt/vmwareapi/test_vmwareapi.py
	nova/virt/vmwareapi/vmops.py

Change-Id: I51627ddb4b9df8cf80f0b9c6efe68ec9eb68cd99
(cherry picked from commit 192f87c6157ff23d4868c11a31328b84c1442e43)
VMware: Fix bug for root disk size

The code would not configure the root disk size to that specified
in the flavor. This was always the size of the glance image.

Fixes bug: 1226052

(cherry picked from commit f0a9b31d90532dd278c12572767c3874648dcaec)

Conflicts:

	nova/tests/virt/vmwareapi/test_vmwareapi.py
	nova/virt/vmwareapi/vmops.py

Change-Id: Ifc41e6f5bf95c17bac6ab26e9c08aa28d0325bcd
(cherry picked from commit 2ba11f1d37332bc49d30a19148a3e5940a62d510)
VMWare: Disabling linked clone doesn't cache images

This fixes an issue when use_linked_clone is false and the image is
already in the cache.  The problem was that the image would be
copied from glance into the instance directory even if it was already
in the cache.  This change checks if the file is in the cache, only
copies from glance if it is not, and copies the image from the cache
into the instance directory if use_linked_clone is false.

Fixes: bug #1207064
(cherry picked from commit c53b0f66802ed82fea8c637f0138c0a01e159efa)

Conflicts:

	nova/tests/virt/vmwareapi/test_vmwareapi.py
	nova/virt/vmwareapi/vmops.py

Change-Id: I635e00448fc014b3841ed43b590d451305e8ff2f
(cherry picked from commit b840430108e53a26f6e65636c0010a8274fe7cf3)
VMware: Config Drive Support

Create the config drive iso, upload it to the correct location,
then create a VirtualMachineConfigSpec with appropriate contents
and run the ReconfigVM_Task to enable the iso.

DocImpact

Fixes LP# 1206584
Fixes BP vmware-config-drive-support

(cherry picked from commit 3c59d998c5e6b80549053b01f919ac318cd31b13)

Conflicts:

	nova/tests/test_vmwareapi_vm_util.py
	nova/tests/vmwareapi/db_fakes.py
	nova/virt/vmwareapi/fake.py
	nova/virt/vmwareapi/vmops.py

Change-Id: Ie39c71cf7b0dccb71340b5bf8871d5e086576f4d
(cherry picked from commit 3f02a3620823af07962637e8734d7a7ba8cdc7e5)

Conflicts:

	nova/virt/vmwareapi/vmops.py
Merge config drive changes