Merge "libvirt: 'video.vram' property must be an integer" into stable/train

This commit is contained in:
Zuul 2021-04-28 21:24:43 +00:00 committed by Gerrit Code Review
commit 10df17638a
2 changed files with 11 additions and 7 deletions

View File

@ -6100,7 +6100,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self.assertEqual(cfg.devices[4].type, "spice") self.assertEqual(cfg.devices[4].type, "spice")
self.assertEqual(cfg.devices[5].type, "qxl") self.assertEqual(cfg.devices[5].type, "qxl")
self.assertEqual(cfg.devices[5].vram, 64 * units.Mi / units.Ki) self.assertEqual(cfg.devices[5].vram, 65536)
def _test_add_video_driver(self, model): def _test_add_video_driver(self, model):
self.flags(virt_type='kvm', group='libvirt') self.flags(virt_type='kvm', group='libvirt')
@ -6111,15 +6111,19 @@ class LibvirtConnTestCase(test.NoDBTestCase,
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True) drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
guest = vconfig.LibvirtConfigGuest() guest = vconfig.LibvirtConfigGuest()
instance_ref = objects.Instance(**self.test_instance) flavor = objects.Flavor(
flavor = instance_ref.get_flavor() extra_specs={'hw_video:ram_max_mb': '512'})
image_meta = objects.ImageMeta.from_dict({ image_meta = objects.ImageMeta.from_dict({
'properties': {'hw_video_model': model}}) 'properties': {
'hw_video_model': model,
'hw_video_ram': 8,
},
})
self.assertTrue(drvr._guest_add_video_device(guest)) self.assertTrue(drvr._guest_add_video_device(guest))
video = drvr._add_video_driver(guest, image_meta, video = drvr._add_video_driver(guest, image_meta, flavor)
flavor)
self.assertEqual(model, video.type) self.assertEqual(model, video.type)
self.assertEqual(8192, video.vram) # should be in bytes
def test__add_video_driver(self): def test__add_video_driver(self):
self._test_add_video_driver('qxl') self._test_add_video_driver('qxl')

View File

@ -5236,7 +5236,7 @@ class LibvirtDriver(driver.ComputeDriver):
raise exception.RequestedVRamTooHigh(req_vram=video_ram, raise exception.RequestedVRamTooHigh(req_vram=video_ram,
max_vram=max_vram) max_vram=max_vram)
if max_vram and video_ram: if max_vram and video_ram:
video.vram = video_ram * units.Mi / units.Ki video.vram = video_ram * units.Mi // units.Ki
guest.add_device(video) guest.add_device(video)
# NOTE(sean-k-mooney): return the video device we added # NOTE(sean-k-mooney): return the video device we added