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)
cfg = drvr._get_guest_config(instance_ref, [],
image_meta, disk_info)
no_exist = True
mem_balloon = None
for device in cfg.devices:
if device.root_name == 'memballoon':
no_exist = False
mem_balloon = device
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):
self.flags(mem_stats_period_seconds=21, group='libvirt')

View File

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