Merge "VMware: support passing flavor object in spawn"

This commit is contained in:
Jenkins 2014-12-08 15:51:25 +00:00 committed by Gerrit Code Review
commit d6fb908654
3 changed files with 11 additions and 7 deletions

View File

@ -719,12 +719,13 @@ class VMwareAPIVMTestCase(test.NoDBTestCase):
def _fake_spawn(context, instance, image_meta, injected_files,
admin_password, network_info, block_device_info=None,
instance_name=None, power_on=True):
instance_name=None, power_on=True, flavor=None):
return self._spawn(context, instance, image_meta,
injected_files, admin_password, network_info,
block_device_info=block_device_info,
instance_name=instance_name,
power_on=self._power_on)
power_on=self._power_on,
flavor=flavor)
with (
mock.patch.object(self.conn._vmops, 'spawn', _fake_spawn)

View File

@ -485,7 +485,8 @@ class VMwareVCDriver(driver.ComputeDriver):
"""Create VM instance."""
_vmops = self._get_vmops_for_compute_node(instance['node'])
_vmops.spawn(context, instance, image_meta, injected_files,
admin_password, network_info, block_device_info)
admin_password, network_info, block_device_info,
flavor=flavor)
def attach_volume(self, context, connection_info, instance, mountpoint,
disk_bus=None, device_type=None, encryption=None):

View File

@ -516,15 +516,17 @@ class VMwareVMOps(object):
def spawn(self, context, instance, image_meta, injected_files,
admin_password, network_info, block_device_info=None,
instance_name=None, power_on=True):
instance_name=None, power_on=True,
flavor=None):
client_factory = self._session.vim.client.factory
image_info = images.VMwareImage.from_image(instance.image_ref,
image_meta)
# Read flavors for extra_specs
flavor = objects.Flavor.get_by_id(
nova_context.get_admin_context(read_deleted='yes'),
instance.instance_type_id)
if flavor is None:
flavor = objects.Flavor.get_by_id(
nova_context.get_admin_context(read_deleted='yes'),
instance.instance_type_id)
extra_specs = self._get_extra_specs(flavor)