summaryrefslogtreecommitdiffstats
path: root/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevices.java
diff options
context:
space:
mode:
authorManuel Bentele2021-05-26 11:32:54 +0200
committerManuel Bentele2021-05-26 11:32:54 +0200
commit985b51d7a308ce468105b2c38a293e9f4bd1f48e (patch)
tree2cbaba0115351635b59ad3119da744137682da9f /core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevices.java
parent[qemu] Rename term 'filter' in test classes to match 'transformation' (diff)
downloadmltk-985b51d7a308ce468105b2c38a293e9f4bd1f48e.tar.gz
mltk-985b51d7a308ce468105b2c38a293e9f4bd1f48e.tar.xz
mltk-985b51d7a308ce468105b2c38a293e9f4bd1f48e.zip
[qemu] Add unit tests for Libvirt configuration transformations
Diffstat (limited to 'core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevices.java')
-rw-r--r--core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevices.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevices.java b/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevices.java
index ab44b784..6cf12ce2 100644
--- a/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevices.java
+++ b/core/modules/qemu/runvirt-plugin-qemu/src/main/java/org/openslx/runvirt/plugin/qemu/configuration/TransformationGenericInterfaceDevices.java
@@ -4,7 +4,11 @@ import java.util.ArrayList;
import org.openslx.libvirt.domain.Domain;
import org.openslx.libvirt.domain.device.Interface;
+import org.openslx.libvirt.domain.device.InterfaceBridge;
+import org.openslx.libvirt.domain.device.Interface.Model;
+import org.openslx.libvirt.domain.device.Interface.Type;
import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs;
+import org.openslx.virtualization.configuration.VirtualizationConfigurationQemu;
import org.openslx.virtualization.configuration.VirtualizationConfigurationQemuUtils;
import org.openslx.virtualization.configuration.transformation.TransformationException;
import org.openslx.virtualization.configuration.transformation.TransformationGeneric;
@@ -59,8 +63,17 @@ public class TransformationGenericInterfaceDevices extends TransformationGeneric
final ArrayList<Interface> devices = config.getInterfaceDevices();
final Interface device = VirtualizationConfigurationQemuUtils.getArrayIndex( devices, index );
- if ( device != null ) {
- if ( macAddress == null ) {
+ if ( device == null ) {
+ if ( macAddress != null && !macAddress.isEmpty() ) {
+ // create network interface if it does not exists
+ final InterfaceBridge newDevice = config.addInterfaceBridgeDevice();
+ newDevice.setType( Type.BRIDGE );
+ newDevice.setModel( Model.VIRTIO );
+ newDevice.setMacAddress( macAddress );
+ newDevice.setSource( VirtualizationConfigurationQemu.NETWORK_BRIDGE_NAT_DEFAULT );
+ }
+ } else {
+ if ( macAddress == null || macAddress.isEmpty() ) {
// remove network interface device if MAC address is not set
device.remove();
} else {