@@ -5218,7 +5218,8 @@ def test_check_uefi_support_aarch64(self):
5218
5218
self.mock_uname.return_value = fakelibvirt.os_uname(
5219
5219
'Linux', '', '5.4.0-0-generic', '', fields.Architecture.AARCH64)
5220
5220
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
5221
- self.assertTrue(drvr._check_uefi_support(None))
5221
+ image_meta = objects.ImageMeta.from_dict(self.test_image_meta)
5222
+ self.assertTrue(drvr._check_uefi_support(image_meta))
5222
5223
5223
5224
def test_get_guest_config_with_block_device(self):
5224
5225
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
@@ -5769,6 +5770,7 @@ def test_create_serial_console_devices_based_on_arch(
5769
5770
self.flags(enabled=True, group='serial_console')
5770
5771
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
5771
5772
instance = objects.Instance(**self.test_instance)
5773
+ image_meta = objects.ImageMeta.from_dict(self.test_image_meta)
5772
5774
5773
5775
expected = {
5774
5776
fields.Architecture.X86_64: vconfig.LibvirtConfigGuestSerial,
@@ -5781,7 +5783,10 @@ def test_create_serial_console_devices_based_on_arch(
5781
5783
5782
5784
guest = vconfig.LibvirtConfigGuest()
5783
5785
drvr._create_consoles(
5784
- guest_cfg=guest, instance=instance, flavor={}, image_meta={})
5786
+ guest_cfg=guest,
5787
+ instance=instance,
5788
+ flavor={},
5789
+ image_meta=image_meta)
5785
5790
self.assertEqual(1, len(guest.devices))
5786
5791
console_device = guest.devices[0]
5787
5792
self.assertIsInstance(console_device, device_type)
@@ -5993,9 +5998,13 @@ def _test_consoles(arch_to_mock, serial_enabled,
5993
5998
self.flags(enabled=serial_enabled, group='serial_console')
5994
5999
guest_cfg = vconfig.LibvirtConfigGuest()
5995
6000
instance = objects.Instance(**self.test_instance)
6001
+ image_meta = objects.ImageMeta.from_dict(self.test_image_meta)
5996
6002
5997
6003
drvr._create_consoles(
5998
- guest_cfg, instance=instance, flavor=None, image_meta=None)
6004
+ guest_cfg,
6005
+ instance=instance,
6006
+ flavor=None,
6007
+ image_meta=image_meta)
5999
6008
6000
6009
self.assertEqual(1, len(guest_cfg.devices))
6001
6010
device = guest_cfg.devices[0]
@@ -7975,6 +7984,33 @@ def test_get_guest_cpu_config_qemu_custom_aarch64(self):
7975
7984
self.assertIsInstance(conf.cpu, vconfig.LibvirtConfigGuestCPU)
7976
7985
self.assertEqual(conf.cpu.mode, 'custom')
7977
7986
7987
+ def test_get_x86_64_hw_emulated_architecture_aarch64(self):
7988
+ drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
7989
+ image_meta = objects.ImageMeta.from_dict({
7990
+ "disk_format": "raw",
7991
+ 'properties': {
7992
+ 'hw_architecture': 'x86_64',
7993
+ 'hw_emulation_architecture': 'aarch64',
7994
+ 'hw_machine_type': 'virt',
7995
+ 'hw_firmware_type': 'uefi',
7996
+ }})
7997
+
7998
+ self.assertEqual(drvr._check_emulation_arch(image_meta),
7999
+ 'aarch64')
8000
+
8001
+ def test_get_x86_64_hw_emulated_architecture_ppc64(self):
8002
+ drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
8003
+ image_meta = objects.ImageMeta.from_dict({
8004
+ "disk_format": "raw",
8005
+ 'properties': {
8006
+ 'hw_architecture': 'x86_64',
8007
+ 'hw_emulation_architecture': 'ppc64le',
8008
+ 'hw_machine_type': 'pseries',
8009
+ }})
8010
+
8011
+ self.assertEqual(drvr._check_emulation_arch(image_meta),
8012
+ 'ppc64le')
8013
+
7978
8014
@mock.patch.object(libvirt_driver.LOG, 'warning')
7979
8015
def test_get_guest_cpu_config_custom_with_extra_flags(self,
7980
8016
mock_warn):
0 commit comments