Skip to content

Commit

Permalink
Merge "VMware: refactor unit tests to use _get_info"
Browse files Browse the repository at this point in the history
  • Loading branch information
Jenkins authored and openstack-gerrit committed Jan 8, 2015
2 parents 9b4f36c + 2b89c3b commit f795f04
Showing 1 changed file with 45 additions and 76 deletions.
121 changes: 45 additions & 76 deletions nova/tests/unit/virt/vmwareapi/test_driver_api.py
Expand Up @@ -423,6 +423,14 @@ def _get_vm_record(self):
return vm
self.fail('Unable to find VM backing!')

def _get_info(self, uuid=None, node=None, name=None):
uuid = uuid if uuid else self.uuid
node = node if node else self.instance_node
name = name if node else '1'
return self.conn.get_info({'uuid': uuid,
'name': name,
'node': node})

def _check_vm_record(self, num_instances=1, powered_on=True):
"""Check if the spawned VM's properties correspond to the instance in
the db.
Expand All @@ -431,10 +439,7 @@ def _check_vm_record(self, num_instances=1, powered_on=True):
self.assertEqual(len(instances), num_instances)

# Get Nova record for VM
vm_info = self.conn.get_info({'uuid': self.uuid,
'name': 1,
'node': self.instance_node})

vm_info = self._get_info()
vm = self._get_vm_record()

# Check that m1.large above turned into the right thing.
Expand Down Expand Up @@ -678,8 +683,7 @@ def fake_attach_cdrom(vm_ref, instance, data_store_ref,

def test_spawn(self):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)

def test_spawn_vm_ref_cached(self):
Expand All @@ -706,8 +710,7 @@ def _fake_spawn(context, instance, image_meta, injected_files,
mock.patch.object(self.conn._vmops, 'spawn', _fake_spawn)
):
self._create_vm(powered_on=power_on)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
if power_on:
self._check_vm_info(info, power_state.RUNNING)
else:
Expand All @@ -721,8 +724,7 @@ def test_spawn_power_on(self):

def test_spawn_root_size_0(self):
self._create_vm(instance_type='m1.micro')
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
cache = ('[%s] vmware_base/%s/%s.vmdk' %
(self.ds, self.fake_image_uuid, self.fake_image_uuid))
Expand All @@ -748,8 +750,7 @@ def fake_call_method(module, method, *args, **kwargs):
):
if fault:
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
else:
self.assertRaises(vexc.VMwareDriverException, self._create_vm)
Expand Down Expand Up @@ -777,8 +778,7 @@ def test_spawn_disk_extend(self):
requested_size, mox.IgnoreArg(), mox.IgnoreArg())
self.mox.ReplayAll()
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)

def test_spawn_disk_extend_exists(self):
Expand All @@ -793,8 +793,7 @@ def _fake_extend(instance, requested_size, name, dc_ref):
_fake_extend)

self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.assertTrue(vmwareapi_fake.get_file(str(root)))

Expand Down Expand Up @@ -1018,8 +1017,7 @@ def fake_call_method(module, method, *args, **kwargs):
fake_call_method)
) as (_wait_for_task, _call_method):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.assertTrue(self.exception)

Expand Down Expand Up @@ -1091,8 +1089,7 @@ def fake_call_method(module, method, *args, **kwargs):
fake_call_method)
):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.assertTrue(self.exception)

Expand Down Expand Up @@ -1210,15 +1207,13 @@ def _test_snapshot(self):
{'task_state': task_states.IMAGE_UPLOADING,
'expected_state': task_states.IMAGE_PENDING_UPLOAD}}]
func_call_matcher = matchers.FunctionCallMatcher(expected_calls)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
with mock.patch.object(images, 'upload_image',
self.mock_upload_image):
self.conn.snapshot(self.context, self.instance, "Test-Snapshot",
func_call_matcher.call)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.assertIsNone(func_call_matcher.match())

Expand Down Expand Up @@ -1291,27 +1286,23 @@ def test_snapshot_delete_vm_snapshot_exception_retry(self):

def test_reboot(self):
self._create_vm()
info = self.conn.get_info({'name': 1, 'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
reboot_type = "SOFT"
self.conn.reboot(self.context, self.instance, self.network_info,
reboot_type)
info = self.conn.get_info({'name': 1, 'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)

def test_reboot_with_uuid(self):
"""Test fall back to use name when can't find by uuid."""
self._create_vm()
info = self.conn.get_info({'name': 'fake-name', 'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
reboot_type = "SOFT"
self.conn.reboot(self.context, self.instance, self.network_info,
reboot_type)
info = self.conn.get_info({'name': 'fake-name', 'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)

def test_reboot_non_existent(self):
Expand All @@ -1331,25 +1322,21 @@ def test_poll_rebooting_instances(self):

def test_reboot_not_poweredon(self):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.conn.suspend(self.instance)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.SUSPENDED)
self.assertRaises(exception.InstanceRebootFailure, self.conn.reboot,
self.context, self.instance, self.network_info,
'SOFT')

def test_suspend(self):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.conn.suspend(self.instance)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.SUSPENDED)

def test_suspend_non_existent(self):
Expand All @@ -1359,16 +1346,13 @@ def test_suspend_non_existent(self):

def test_resume(self):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.conn.suspend(self.instance)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.SUSPENDED)
self.conn.resume(self.context, self.instance, self.network_info)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)

def test_resume_non_existent(self):
Expand All @@ -1378,24 +1362,20 @@ def test_resume_non_existent(self):

def test_resume_not_suspended(self):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.assertRaises(exception.InstanceResumeFailure, self.conn.resume,
self.context, self.instance, self.network_info)

def test_power_on(self):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.conn.power_off(self.instance)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.SHUTDOWN)
self.conn.power_on(self.context, self.instance, self.network_info)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)

def test_power_on_non_existent(self):
Expand All @@ -1405,12 +1385,10 @@ def test_power_on_non_existent(self):

def test_power_off(self):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.conn.power_off(self.instance)
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.SHUTDOWN)

def test_power_off_non_existent(self):
Expand Down Expand Up @@ -1482,8 +1460,7 @@ def fake_detach_disk_from_vm(*args, **kwargs):

def test_destroy(self):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
instances = self.conn.list_instances()
self.assertEqual(len(instances), 1)
Expand All @@ -1494,8 +1471,7 @@ def test_destroy(self):

def test_destroy_no_datastore(self):
self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
instances = self.conn.list_instances()
self.assertEqual(len(instances), 1)
Expand Down Expand Up @@ -1596,8 +1572,7 @@ def fake_power_on_instance(session, instance, vm_ref=None):
self._power_on_called += 1
return self._power_on(session, instance, vm_ref=vm_ref)

info = self.conn.get_info({'name': 1, 'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)
self.stubs.Set(vm_util, "power_on_instance",
fake_power_on_instance)
Expand All @@ -1606,13 +1581,10 @@ def fake_power_on_instance(session, instance, vm_ref=None):

self.conn.rescue(self.context, self.instance, self.network_info,
self.image, 'fake-password')

info = self.conn.get_info({'name': '1-rescue',
'uuid': '%s-rescue' % self.uuid,
'node': self.instance_node})
info = self._get_info(name='1-rescue',
uuid='%s-rescue' % self.uuid)
self._check_vm_info(info, power_state.RUNNING)
info = self.conn.get_info({'name': 1, 'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.SHUTDOWN)
self.assertIsNotNone(vm_util.vm_ref_cache_get('%s-rescue' % self.uuid))
self.assertEqual(1, self._power_on_called)
Expand Down Expand Up @@ -2191,14 +2163,12 @@ def fake_is_neutron():
uuid2 = uuidutils.generate_uuid()
self._create_vm(node=self.node_name, num_instances=1,
uuid=uuid1)
info = self.conn.get_info({'uuid': uuid1,
'node': self.instance_node})
info = self._get_info(uuid=uuid1)
self._check_vm_info(info, power_state.RUNNING)
self.conn.destroy(self.context, self.instance, self.network_info)
self._create_vm(node=self.node_name2, num_instances=1,
uuid=uuid2)
info = self.conn.get_info({'uuid': uuid2,
'node': self.instance_node})
info = self._get_info(uuid=uuid2)
self._check_vm_info(info, power_state.RUNNING)

def test_snapshot_using_file_manager(self):
Expand Down Expand Up @@ -2243,8 +2213,7 @@ def test_spawn_with_sparse_image(self, mock_from_image):
mock_from_image.return_value = img_info

self._create_vm()
info = self.conn.get_info({'uuid': self.uuid,
'node': self.instance_node})
info = self._get_info()
self._check_vm_info(info, power_state.RUNNING)

def test_plug_vifs(self):
Expand Down

0 comments on commit f795f04

Please sign in to comment.