Merge "Fix disable memballoon device"

This commit is contained in:
Zuul
2025-06-19 22:51:15 +00:00
committed by Gerrit Code Review
2 changed files with 14 additions and 11 deletions

View File

@@ -9251,12 +9251,13 @@ class LibvirtConnTestCase(test.NoDBTestCase,
image_meta) image_meta)
cfg = drvr._get_guest_config(instance_ref, [], cfg = drvr._get_guest_config(instance_ref, [],
image_meta, disk_info) image_meta, disk_info)
no_exist = True mem_balloon = None
for device in cfg.devices: for device in cfg.devices:
if device.root_name == 'memballoon': if device.root_name == 'memballoon':
no_exist = False mem_balloon = device
break break
self.assertTrue(no_exist) self.assertIsNotNone(mem_balloon)
self.assertEqual('none', mem_balloon.model)
def test_get_guest_memory_balloon_config_period_value(self): def test_get_guest_memory_balloon_config_period_value(self):
self.flags(mem_stats_period_seconds=21, group='libvirt') self.flags(mem_stats_period_seconds=21, group='libvirt')

View File

@@ -7761,14 +7761,16 @@ class LibvirtDriver(driver.ComputeDriver):
@staticmethod @staticmethod
def _guest_add_memory_balloon(guest): def _guest_add_memory_balloon(guest):
# Memory balloon device only support 'qemu/kvm' hypervisor # Memory balloon device only support 'qemu/kvm' hypervisor
if ( if CONF.libvirt.virt_type in ('qemu', 'kvm'):
CONF.libvirt.virt_type in ('qemu', 'kvm') and if CONF.libvirt.mem_stats_period_seconds > 0:
CONF.libvirt.mem_stats_period_seconds > 0 balloon = vconfig.LibvirtConfigMemoryBalloon()
): balloon.model = 'virtio'
balloon = vconfig.LibvirtConfigMemoryBalloon() balloon.period = CONF.libvirt.mem_stats_period_seconds
balloon.model = 'virtio' guest.add_device(balloon)
balloon.period = CONF.libvirt.mem_stats_period_seconds else:
guest.add_device(balloon) balloon = vconfig.LibvirtConfigMemoryBalloon()
balloon.model = 'none'
guest.add_device(balloon)
@staticmethod @staticmethod
def _guest_add_watchdog_action(guest, flavor, image_meta): def _guest_add_watchdog_action(guest, flavor, image_meta):