Merge "libvirt: always pass image_meta when getting guest XML"

This commit is contained in:
Jenkins 2015-02-03 17:51:55 +00:00 committed by Gerrit Code Review
commit 9b27095a00
2 changed files with 15 additions and 13 deletions

View File

@ -5374,7 +5374,8 @@ class LibvirtConnTestCase(test.NoDBTestCase):
instance_ref,
image_meta)
xml = drvr._get_guest_xml(self.context, instance_ref,
network_info, disk_info)
network_info, disk_info,
image_meta)
tree = etree.fromstring(xml)
interfaces = tree.findall("./devices/interface")
self.assertEqual(len(interfaces), 2)
@ -5448,7 +5449,8 @@ class LibvirtConnTestCase(test.NoDBTestCase):
mock_flavor.return_value = flavor
xml = drvr._get_guest_xml(self.context, instance_ref,
network_info, disk_info)
network_info, disk_info,
image_meta)
tree = etree.fromstring(xml)
check = [
@ -5508,7 +5510,8 @@ class LibvirtConnTestCase(test.NoDBTestCase):
flavor.extra_specs = {}
mock_flavor.return_value = flavor
xml = drvr._get_guest_xml(self.context, instance_ref,
network_info, disk_info)
network_info, disk_info,
image_meta)
tree = etree.fromstring(xml)
for i, (check, expected_result) in enumerate(checks):
@ -5798,6 +5801,7 @@ class LibvirtConnTestCase(test.NoDBTestCase):
mock_flavor.return_value = flavor
xml = drvr._get_guest_xml(self.context, instance_ref,
network_info, disk_info,
image_meta,
rescue=rescue)
tree = etree.fromstring(xml)
for i, (check, expected_result) in enumerate(checks):
@ -8392,8 +8396,7 @@ class LibvirtConnTestCase(test.NoDBTestCase):
instance.system_metadata)
drvr._get_guest_xml(self.context, instance, network_info, disk_info,
image_meta=image_meta,
block_device_info=block_device_info,
image_meta, block_device_info=block_device_info,
write_to_disk=True).AndReturn(dummyxml)
disk_info_json = '[{"virt_disk_size": 2}]'
drvr._get_instance_disk_info(instance["name"], dummyxml,
@ -11969,7 +11972,7 @@ class LibvirtDriverTestCase(test.NoDBTestCase):
def test_finish_revert_migration_preserves_disk_bus(self):
def fake_get_guest_xml(context, instance, network_info, disk_info,
block_device_info=None):
image_meta, block_device_info=None):
self.assertEqual('ide', disk_info['disk_bus'])
image_meta = {"properties": {"hw_disk_bus": "ide"}}

View File

@ -1138,6 +1138,7 @@ class LibvirtDriver(driver.ComputeDriver):
block_device_info)
xml = self._get_guest_xml(nova_context.get_admin_context(),
instance, network_info, disk_info,
image_meta,
block_device_info=block_device_info)
return xml
@ -2059,7 +2060,7 @@ class LibvirtDriver(driver.ComputeDriver):
# does we need to (re)generate the xml after the images
# are in place.
xml = self._get_guest_xml(context, instance, network_info, disk_info,
image_meta=image_meta,
image_meta,
block_device_info=block_device_info,
write_to_disk=True)
@ -4020,14 +4021,9 @@ class LibvirtDriver(driver.ComputeDriver):
return guest
def _get_guest_xml(self, context, instance, network_info, disk_info,
image_meta=None, rescue=None,
image_meta, rescue=None,
block_device_info=None, write_to_disk=False,
flavor=None):
if image_meta is None:
image_ref = instance['image_ref']
image_meta = compute_utils.get_image_metadata(
context, self._image_api, image_ref, instance)
# NOTE(danms): Stringifying a NetworkInfo will take a lock. Do
# this ahead of time so that we don't acquire it while also
# holding the logging lock.
@ -5589,6 +5585,7 @@ class LibvirtDriver(driver.ComputeDriver):
image_meta, block_device_info)
xml = self._get_guest_xml(context, instance,
network_info, disk_info,
image_meta,
block_device_info=block_device_info,
write_to_disk=True)
self._conn.defineXML(xml)
@ -5971,6 +5968,7 @@ class LibvirtDriver(driver.ComputeDriver):
network_info=network_info,
block_device_info=None, inject_files=False)
xml = self._get_guest_xml(context, instance, network_info, disk_info,
image_meta,
block_device_info=block_device_info,
write_to_disk=True)
self._create_domain_and_network(context, xml, instance, network_info,
@ -6021,6 +6019,7 @@ class LibvirtDriver(driver.ComputeDriver):
image_meta,
block_device_info)
xml = self._get_guest_xml(context, instance, network_info, disk_info,
image_meta,
block_device_info=block_device_info)
self._create_domain_and_network(context, xml, instance, network_info,
disk_info,