From d81c695b3a38569a5c9e95f6bc366e34151fa612 Mon Sep 17 00:00:00 2001 From: Brad House Date: Wed, 29 Oct 2025 10:57:27 -0400 Subject: [PATCH 1/4] use Free Page Reporting --- .../com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java | 6 +++++- .../hypervisor/kvm/resource/LibvirtDomainXMLParserTest.java | 4 ++-- .../com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java | 2 +- .../wrapper/LibvirtMigrateVolumeCommandWrapperTest.java | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java index 46a5024bf154..bce0849a1819 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java @@ -1340,7 +1340,11 @@ public String getMemBalloonStatsPeriod() { @Override public String toString() { StringBuilder memBalloonBuilder = new StringBuilder(); - memBalloonBuilder.append("\n"); + memBalloonBuilder.append("\n"); if (StringUtils.isNotBlank(memBalloonStatsPeriod)) { memBalloonBuilder.append("\n"); } diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParserTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParserTest.java index de50cf342024..e73b40798668 100644 --- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParserTest.java +++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParserTest.java @@ -196,7 +196,7 @@ public void testDomainXMLParser() { "" + "
" + "" + - "" + + "" + "" + "" + "
" + @@ -379,7 +379,7 @@ public void testDomainXMLParserWithoutModelName() { " \n" + "
\n" + " \n" + - " \n" + + " \n" + "
\n" + " \n" + " \n" + diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java index 856dc0be9dcf..a429bbf8c3f5 100644 --- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java +++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java @@ -465,7 +465,7 @@ public void memBalloonDefTestNone() { @Test public void memBalloonDefTestVirtio() { - String expectedXml = "\n\n"; + String expectedXml = "\n\n"; MemBalloonDef memBalloonDef = new MemBalloonDef(); memBalloonDef.defVirtioMemBalloon("60"); diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateVolumeCommandWrapperTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateVolumeCommandWrapperTest.java index 4f1eba1a772a..e3d35dfb4d1f 100644 --- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateVolumeCommandWrapperTest.java +++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateVolumeCommandWrapperTest.java @@ -208,7 +208,7 @@ public class LibvirtMigrateVolumeCommandWrapperTest { " \n" + "
\n" + " \n" + - " \n" + + " \n" + " \n" + "
\n" + " \n" + From c57377a08d3b936dca908c9d733d517d2ba0a9ae Mon Sep 17 00:00:00 2001 From: Brad House Date: Wed, 29 Oct 2025 17:56:30 -0400 Subject: [PATCH 2/4] add qemu and libvirt version checks --- .../java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java index bce0849a1819..22d143d87b15 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java @@ -1341,7 +1341,9 @@ public String getMemBalloonStatsPeriod() { public String toString() { StringBuilder memBalloonBuilder = new StringBuilder(); memBalloonBuilder.append("= 5001000 && s_libvirtVersion >= 6009000) { memBalloonBuilder.append(" autodeflate='on' freePageReporting='on'"); } memBalloonBuilder.append(">\n"); From f6a92dac7a6b9410019390a9529218ada78abbb1 Mon Sep 17 00:00:00 2001 From: Brad House Date: Wed, 29 Oct 2025 19:17:27 -0400 Subject: [PATCH 3/4] add test for old and new libvirt/qemu --- .../hypervisor/kvm/resource/LibvirtVMDefTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java index a429bbf8c3f5..f97728d6bbc9 100644 --- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java +++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java @@ -465,6 +465,8 @@ public void memBalloonDefTestNone() { @Test public void memBalloonDefTestVirtio() { + LibvirtVMDef.setGlobalQemuVersion(5001000L); + LibvirtVMDef.setGlobalLibvirtVersion(6009000L); String expectedXml = "\n\n"; MemBalloonDef memBalloonDef = new MemBalloonDef(); memBalloonDef.defVirtioMemBalloon("60"); @@ -474,6 +476,17 @@ public void memBalloonDefTestVirtio() { assertEquals(expectedXml, xmlDef); } + @Test + public void memBalloonDefTestVirtioOld() { + String expectedXml = "\n\n"; + MemBalloonDef memBalloonDef = new MemBalloonDef(); + memBalloonDef.defVirtioMemBalloon("60"); + + String xmlDef = memBalloonDef.toString(); + + assertEquals(expectedXml, xmlDef); + } + @Test public void testHypervEnlightDef() { LibvirtVMDef.FeaturesDef featuresDef = new LibvirtVMDef.FeaturesDef(); From f43cdf9f6d11a88abaf756af08ca9dce3fcebffe Mon Sep 17 00:00:00 2001 From: Brad House Date: Wed, 29 Oct 2025 20:07:53 -0400 Subject: [PATCH 4/4] revert back to older versions --- .../com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java index f97728d6bbc9..56ad267eac7e 100644 --- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java +++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java @@ -478,6 +478,8 @@ public void memBalloonDefTestVirtio() { @Test public void memBalloonDefTestVirtioOld() { + LibvirtVMDef.setGlobalQemuVersion(2006000L); + LibvirtVMDef.setGlobalLibvirtVersion(9008L); String expectedXml = "\n\n"; MemBalloonDef memBalloonDef = new MemBalloonDef(); memBalloonDef.defVirtioMemBalloon("60");