summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Bentele2021-08-06 10:23:02 +0200
committerManuel Bentele2021-08-06 10:23:02 +0200
commitbedfade7ecc961d47e0533f6d1bef50d5329257f (patch)
treeb2f6c080f4ad0a97aa3d670378732b7d587a80bc
parent[dbus] remove pointless code (diff)
downloadmltk-bedfade7ecc961d47e0533f6d1bef50d5329257f.tar.gz
mltk-bedfade7ecc961d47e0533f6d1bef50d5329257f.tar.xz
mltk-bedfade7ecc961d47e0533f6d1bef50d5329257f.zip
[qemu] Downgrade QEMU HW-version if HW-version is too new
-rw-r--r--core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitecture.java5
-rw-r--r--core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitectureTest.java9
2 files changed, 11 insertions, 3 deletions
diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitecture.java b/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitecture.java
index a51c829d..bea6e14f 100644
--- a/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitecture.java
+++ b/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitecture.java
@@ -12,6 +12,7 @@ import org.openslx.libvirt.domain.Domain.Type;
import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs;
import org.openslx.runvirt.plugin.qemu.virtualization.LibvirtHypervisorQemu;
import org.openslx.runvirt.virtualization.LibvirtHypervisorException;
+import org.openslx.virtualization.configuration.VirtualizationConfigurationQemuUtils;
import org.openslx.virtualization.configuration.transformation.TransformationException;
import org.openslx.virtualization.configuration.transformation.TransformationSpecific;
@@ -198,7 +199,9 @@ public class TransformationSpecificQemuArchitecture
// retrieve overwrite chipset name from canonical machine names
String sourceMachineOverwrite = null;
for ( String targetMachineCanonicalName : targetMachineCanonicalNames ) {
- if ( sourceMachine.contains( targetMachineCanonicalName ) ) {
+ final String targetMachineName = VirtualizationConfigurationQemuUtils
+ .getOsMachineName( targetMachineCanonicalName );
+ if ( sourceMachine.contains( targetMachineName ) ) {
sourceMachineOverwrite = targetMachineCanonicalName;
break;
}
diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitectureTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitectureTest.java
index 86186247..935c7a17 100644
--- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitectureTest.java
+++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitectureTest.java
@@ -88,7 +88,7 @@ public class TransformationSpecificQemuArchitectureTest
}
@Test
- @DisplayName( "Test transformation of VM architecture configuration if version is not supported (machine version too new)" )
+ @DisplayName( "Test transformation of VM architecture configuration if version is not supported (machine version too new) and conversion required" )
public void testTransformationSpecificQemuArchitectureMachineVersionDowngrade() throws TransformationException
{
final TransformationSpecificQemuArchitectureStub transformation;
@@ -100,6 +100,11 @@ public class TransformationSpecificQemuArchitectureTest
assertEquals( "pc-q35-5.1", config.getOsMachine() );
assertEquals( OsType.HVM, config.getOsType() );
- assertThrows( TransformationException.class, () -> transformation.transform( config, null ) );
+ assertDoesNotThrow( () -> transformation.transform( config, null ) );
+
+ assertEquals( Type.KVM, config.getType() );
+ assertEquals( "x86_64", config.getOsArch() );
+ assertEquals( "pc-q35-4.2", config.getOsMachine() );
+ assertEquals( OsType.HVM, config.getOsType() );
}
}