summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java
diff options
context:
space:
mode:
authorManuel Bentele2021-04-26 13:51:35 +0200
committerManuel Bentele2021-04-26 13:51:35 +0200
commite815ad917e3adeb2be387c7ef6ed2dd74602d69b (patch)
tree6c4cff0860ce981871ef94969ca22d67454af262 /src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java
parentRefactors and abstracts version information in config logic and disk image (diff)
downloadmaster-sync-shared-e815ad917e3adeb2be387c7ef6ed2dd74602d69b.tar.gz
master-sync-shared-e815ad917e3adeb2be387c7ef6ed2dd74602d69b.tar.xz
master-sync-shared-e815ad917e3adeb2be387c7ef6ed2dd74602d69b.zip
Add supported virtualizer versions for Libvirt/QEMU
Diffstat (limited to 'src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java')
-rw-r--r--src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java
index 37186b9..bd25f79 100644
--- a/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java
+++ b/src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java
@@ -611,14 +611,34 @@ public class VirtualizationConfigurationQemu extends
@Override
public void setVirtualizerVersion( Version type )
{
- // NOT supported by the QEMU hypervisor
+ if ( type != null ) {
+ final String osMachine = this.vmConfig.getOsMachine();
+ final String osMachineName = VirtualizationConfigurationQemuUtils.getOsMachineName( osMachine );
+
+ if ( osMachineName != null && !osMachineName.isEmpty() ) {
+ final String modifiedOsMachineVersion = VirtualizationConfigurationQemuUtils.getOsMachineVersion( type );
+ final String modifiedOsMachine = VirtualizationConfigurationQemuUtils.getOsMachine( osMachineName,
+ modifiedOsMachineVersion );
+ this.vmConfig.setOsMachine( modifiedOsMachine );
+ }
+ }
}
@Override
public Version getVirtualizerVersion()
{
- // NOT supported by the QEMU hypervisor
- return null;
+ final String osMachine = this.vmConfig.getOsMachine();
+ final Version uncheckedVersion = VirtualizationConfigurationQemuUtils.getOsMachineVersion( osMachine );
+ final Version checkedVersion;
+
+ if ( uncheckedVersion == null ) {
+ checkedVersion = null;
+ } else {
+ checkedVersion = Version.getInstanceByMajorMinorFromVersions( uncheckedVersion.getMajor(),
+ uncheckedVersion.getMinor(), this.getVirtualizer().getSupportedVersions() );
+ }
+
+ return checkedVersion;
}
@Override