Merge "VMware: support passing flavor object in spawn"
This commit is contained in:
commit
d6fb908654
|
@ -719,12 +719,13 @@ class VMwareAPIVMTestCase(test.NoDBTestCase):
|
||||||
|
|
||||||
def _fake_spawn(context, instance, image_meta, injected_files,
|
def _fake_spawn(context, instance, image_meta, injected_files,
|
||||||
admin_password, network_info, block_device_info=None,
|
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,
|
return self._spawn(context, instance, image_meta,
|
||||||
injected_files, admin_password, network_info,
|
injected_files, admin_password, network_info,
|
||||||
block_device_info=block_device_info,
|
block_device_info=block_device_info,
|
||||||
instance_name=instance_name,
|
instance_name=instance_name,
|
||||||
power_on=self._power_on)
|
power_on=self._power_on,
|
||||||
|
flavor=flavor)
|
||||||
|
|
||||||
with (
|
with (
|
||||||
mock.patch.object(self.conn._vmops, 'spawn', _fake_spawn)
|
mock.patch.object(self.conn._vmops, 'spawn', _fake_spawn)
|
||||||
|
|
|
@ -485,7 +485,8 @@ class VMwareVCDriver(driver.ComputeDriver):
|
||||||
"""Create VM instance."""
|
"""Create VM instance."""
|
||||||
_vmops = self._get_vmops_for_compute_node(instance['node'])
|
_vmops = self._get_vmops_for_compute_node(instance['node'])
|
||||||
_vmops.spawn(context, instance, image_meta, injected_files,
|
_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,
|
def attach_volume(self, context, connection_info, instance, mountpoint,
|
||||||
disk_bus=None, device_type=None, encryption=None):
|
disk_bus=None, device_type=None, encryption=None):
|
||||||
|
|
|
@ -516,15 +516,17 @@ class VMwareVMOps(object):
|
||||||
|
|
||||||
def spawn(self, context, instance, image_meta, injected_files,
|
def spawn(self, context, instance, image_meta, injected_files,
|
||||||
admin_password, network_info, block_device_info=None,
|
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
|
client_factory = self._session.vim.client.factory
|
||||||
image_info = images.VMwareImage.from_image(instance.image_ref,
|
image_info = images.VMwareImage.from_image(instance.image_ref,
|
||||||
image_meta)
|
image_meta)
|
||||||
# Read flavors for extra_specs
|
# Read flavors for extra_specs
|
||||||
flavor = objects.Flavor.get_by_id(
|
if flavor is None:
|
||||||
nova_context.get_admin_context(read_deleted='yes'),
|
flavor = objects.Flavor.get_by_id(
|
||||||
instance.instance_type_id)
|
nova_context.get_admin_context(read_deleted='yes'),
|
||||||
|
instance.instance_type_id)
|
||||||
|
|
||||||
extra_specs = self._get_extra_specs(flavor)
|
extra_specs = self._get_extra_specs(flavor)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue