diff options
author | Manuel Bentele | 2021-08-06 10:23:02 +0200 |
---|---|---|
committer | Manuel Bentele | 2021-08-06 10:23:02 +0200 |
commit | bedfade7ecc961d47e0533f6d1bef50d5329257f (patch) | |
tree | b2f6c080f4ad0a97aa3d670378732b7d587a80bc | |
parent | [dbus] remove pointless code (diff) | |
download | mltk-bedfade7ecc961d47e0533f6d1bef50d5329257f.tar.gz mltk-bedfade7ecc961d47e0533f6d1bef50d5329257f.tar.xz mltk-bedfade7ecc961d47e0533f6d1bef50d5329257f.zip |
[qemu] Downgrade QEMU HW-version if HW-version is too new
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() ); } } |