diff options
author | Manuel Bentele | 2021-04-26 13:51:35 +0200 |
---|---|---|
committer | Manuel Bentele | 2021-04-26 13:51:35 +0200 |
commit | e815ad917e3adeb2be387c7ef6ed2dd74602d69b (patch) | |
tree | 6c4cff0860ce981871ef94969ca22d67454af262 /src/main/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemu.java | |
parent | Refactors and abstracts version information in config logic and disk image (diff) | |
download | master-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.java | 26 |
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 |