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..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 @@ -1340,7 +1340,13 @@ public String getMemBalloonStatsPeriod() { @Override public String toString() { StringBuilder memBalloonBuilder = new StringBuilder(); - memBalloonBuilder.append("\n"); + memBalloonBuilder.append("= 5001000 && s_libvirtVersion >= 6009000) { + memBalloonBuilder.append(" autodeflate='on' freePageReporting='on'"); + } + 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..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 @@ -465,6 +465,21 @@ public void memBalloonDefTestNone() { @Test public void memBalloonDefTestVirtio() { + LibvirtVMDef.setGlobalQemuVersion(5001000L); + LibvirtVMDef.setGlobalLibvirtVersion(6009000L); + String expectedXml = "\n\n"; + MemBalloonDef memBalloonDef = new MemBalloonDef(); + memBalloonDef.defVirtioMemBalloon("60"); + + String xmlDef = memBalloonDef.toString(); + + assertEquals(expectedXml, xmlDef); + } + + @Test + public void memBalloonDefTestVirtioOld() { + LibvirtVMDef.setGlobalQemuVersion(2006000L); + LibvirtVMDef.setGlobalLibvirtVersion(9008L); 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" +