Merge "Fix XenAPI performance issue"
This commit is contained in:
@@ -374,6 +374,19 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
|
||||
instances = self.conn.list_instances()
|
||||
self.assertEquals(instances, [])
|
||||
|
||||
def test_list_instance_uuids_0(self):
|
||||
instance_uuids = self.conn.list_instance_uuids()
|
||||
self.assertEquals(instance_uuids, [])
|
||||
|
||||
def test_list_instance_uuids(self):
|
||||
uuids = []
|
||||
for x in xrange(1, 4):
|
||||
instance = self._create_instance(x)
|
||||
uuids.append(instance['uuid'])
|
||||
instance_uuids = self.conn.list_instance_uuids()
|
||||
self.assertEqual(len(uuids), len(instance_uuids))
|
||||
self.assertEqual(set(uuids), set(instance_uuids))
|
||||
|
||||
def test_get_rrd_server(self):
|
||||
self.flags(xenapi_connection_url='myscheme://myaddress/')
|
||||
server_info = vm_utils._get_rrd_server()
|
||||
|
||||
@@ -164,6 +164,12 @@ class XenAPIDriver(driver.ComputeDriver):
|
||||
"""List VM instances."""
|
||||
return self._vmops.list_instances()
|
||||
|
||||
def list_instance_uuids(self):
|
||||
"""Get the list of nova instance uuids for VMs found on the
|
||||
hypervisor.
|
||||
"""
|
||||
return self._vmops.list_instance_uuids()
|
||||
|
||||
def spawn(self, context, instance, image_meta, injected_files,
|
||||
admin_password, network_info=None, block_device_info=None):
|
||||
"""Create VM instance."""
|
||||
|
||||
@@ -190,6 +190,18 @@ class VMOps(object):
|
||||
|
||||
return name_labels
|
||||
|
||||
def list_instance_uuids(self):
|
||||
"""Get the list of nova instance uuids for VMs found on the
|
||||
hypervisor.
|
||||
"""
|
||||
nova_uuids = []
|
||||
for vm_ref, vm_rec in vm_utils.list_vms(self._session):
|
||||
other_config = vm_rec['other_config']
|
||||
nova_uuid = other_config.get('nova_uuid')
|
||||
if nova_uuid:
|
||||
nova_uuids.append(nova_uuid)
|
||||
return nova_uuids
|
||||
|
||||
def confirm_migration(self, migration, instance, network_info):
|
||||
name_label = self._get_orig_vm_name_label(instance)
|
||||
vm_ref = vm_utils.lookup(self._session, name_label)
|
||||
|
||||
Reference in New Issue
Block a user