Don't allow empty or 0 volume size for images

When specifying the block device that has source_type 'image' and
destination_type 'volume', we should confirm that the volume size is
specified, as Cinder won't be able to guess it, and will reject the
request, thus erroring out the instance.

Closes-bug:#1224469
Change-Id: I87ece3be1a5e9d6b229717f8025ce542707007c4
VMware: fix exception when no objects are returned

get_object_properties may return data that does not contain any
objects. The patch validates that the returned data is accessible.

Change-Id: I9432582bf5bc841aea705a84f939e9482465ff70
Closes-bug: #1294102
Merge "Don't refresh network cache for instances building or deleting"
InvalidCPUInfo exception added to except block

When a live migration between two nodes with different
CPU info features is launched, an InvalidCPUInfo exception
is raised and not captured. That lets the vm in an
unusable state because the task_state rollback is not
executed.

Change-Id: Ib418fa324964cabd5f342d1b764f9ac7608b7ade
Closes-Bug: #1294210
Merge "Support IPv6 when booting instances"
Merge "Don't allow empty or 0 volume size for images"
Merge "VMware: fix exception when no objects are returned"
Remove unnecessary stubbing in test_services

Stubs are already set in the setUp method. self.controller also does
not need to be recreated after updating the extensions list.

Change-Id: I372842bba3e4286da922e7d814137cefe4583bf5
Fix service API and cells

The move to the object model broke the service API when used together
with cells. The underlying problem is how cells will overload the id
field with a cell path to uniquely identify each service in each cell.

Changing the id to a string would defeat the purpose of the object model
so this patch uses a proxy to modify the id on access to make the
difference transparent to the API.

Change-Id: I165b5d64b0c1556511eb02d179ca9fc6f101c008
Closes-bug: 1251043
Merge "Wait till message handling is done on service stop"
Merge "Add doc update for 4 filters which is missing in filter_scheduler.rst"
Merge "Accurate comment in compute layer"
Merge "xenapi: boot from volume without image_ref"
Handling unlimited values when updating quota

Changes:
- Adding a general approach to handle unlimited values when performing
calculations with quota values.
- New test that fails without the fix.
- Updated test cases to support the fix.

Change-Id: I762a8e67261c0e0286307832cd13ad12e6d96504
Closes-Bug: #1292494
Merge "VMware: ensure that the task completed for resize operation"
Merge "Remove unnecessary stubbing in test_services"
Merge "Check if nfs/glusterfs export is already mounted"
Merge "Fix the rpc module import in the service module"
Merge "Don't allow reboot when instance in rebooting_hard"
Merge "vmwareapi: simple refactor of config drive tests"