summaryrefslogtreecommitdiffstats
path: root/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitecture.java
diff options
context:
space:
mode:
authorManuel Bentele2021-06-10 10:47:03 +0200
committerManuel Bentele2021-06-10 11:14:27 +0200
commitf7d38bc10b11abadbcd9b12b1784d7108f0a5d7e (patch)
treef2a2e0d3b022d0de5af13b89ccf0cb254d91f108 /core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitecture.java
parent[qemu] Add unit tests for Libvirt configuration transformations (diff)
downloadmltk-f7d38bc10b11abadbcd9b12b1784d7108f0a5d7e.tar.gz
mltk-f7d38bc10b11abadbcd9b12b1784d7108f0a5d7e.tar.xz
mltk-f7d38bc10b11abadbcd9b12b1784d7108f0a5d7e.zip
[qemu] Implement passthrough of NVIDIA GPUs
The implementation adds specified PCI devics of a NVIDIA GPU on the host system to the final Libvirt domain XML configuration for a NVIDIA GPU passthrough. In addition to that, the implementation adds support for the Looking Glass Client to display the framebuffer of the NVIDIA GPU on the host system through a shared memory device.
Diffstat (limited to 'core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitecture.java')
-rw-r--r--core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationSpecificQemuArchitecture.java27
1 files changed, 9 insertions, 18 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 f507237d..a51c829d 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
@@ -30,14 +30,6 @@ public class TransformationSpecificQemuArchitecture
private static final String NAME = "QEMU Architecture [CPU architecture, machine type, ...]";
/**
- * Capabilities of the Libvirt/QEMU hypervisor.
- *
- * @implNote This field is used as an instance of a singelton. Please always use
- * {@link #getCapabilities()} to retrieve the {@code capabilities} instance.
- */
- private Capabilities capabilities = null;
-
- /**
* Creates a new architecture transformation for Libvirt/QEMU virtualization configurations.
*
* @param hypervisor Libvirt/QEMU hypervisor.
@@ -70,18 +62,17 @@ public class TransformationSpecificQemuArchitecture
*/
protected Capabilities getCapabilities() throws TransformationException
{
- // retrieve capabilities from QEMU hypervisor only once
- if ( this.capabilities == null ) {
- try {
- this.capabilities = this.getVirtualizer().getCapabilites();
- } catch ( LibvirtHypervisorException e ) {
- final String errorMsg = new String(
- "Failed to get host capabilities from QEMU virtualizer: " + e.getLocalizedMessage() );
- throw new TransformationException( errorMsg );
- }
+ final Capabilities capabilities;
+
+ try {
+ capabilities = this.getVirtualizer().getCapabilites();
+ } catch ( LibvirtHypervisorException e ) {
+ final String errorMsg = new String(
+ "Failed to retrieve host capabilities from QEMU virtualizer: " + e.getLocalizedMessage() );
+ throw new TransformationException( errorMsg );
}
- return this.capabilities;
+ return capabilities;
}
/**