summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorralph isenmann2020-07-15 14:54:17 +0200
committerralph isenmann2020-07-15 14:54:17 +0200
commitf0308fc202c9da53f1d00de609c203045f0c1dbf (patch)
treec60c860fcfaf129cb24cade68a5f204007164218
parentAdd intellij project files to gitignore (diff)
downloadmaster-sync-shared-f0308fc202c9da53f1d00de609c203045f0c1dbf.tar.gz
master-sync-shared-f0308fc202c9da53f1d00de609c203045f0c1dbf.tar.xz
master-sync-shared-f0308fc202c9da53f1d00de609c203045f0c1dbf.zip
Add Docker support
-rw-r--r--src/main/java/org/openslx/thrifthelper/TConst.java1
-rw-r--r--src/main/java/org/openslx/util/vm/DiskImage.java5
-rw-r--r--src/main/java/org/openslx/util/vm/DockerMetaDataDummy.java124
-rw-r--r--src/main/java/org/openslx/util/vm/VmMetaData.java5
4 files changed, 134 insertions, 1 deletions
diff --git a/src/main/java/org/openslx/thrifthelper/TConst.java b/src/main/java/org/openslx/thrifthelper/TConst.java
index 2ff902e..b7debba 100644
--- a/src/main/java/org/openslx/thrifthelper/TConst.java
+++ b/src/main/java/org/openslx/thrifthelper/TConst.java
@@ -9,5 +9,6 @@ public class TConst
public static final String VIRT_VMWARE = "vmware";
public static final String VIRT_VIRTUALBOX = "virtualbox";
public static final String VIRT_QEMU = "qemukvm";
+ public static final String VIRT_DOCKER = "docker";
}
diff --git a/src/main/java/org/openslx/util/vm/DiskImage.java b/src/main/java/org/openslx/util/vm/DiskImage.java
index 2b24a3f..15b3800 100644
--- a/src/main/java/org/openslx/util/vm/DiskImage.java
+++ b/src/main/java/org/openslx/util/vm/DiskImage.java
@@ -26,7 +26,8 @@ public class DiskImage
public enum ImageFormat
{
- VMDK( "vmdk" ), QCOW2( "qcow2" ), VDI( "vdi" );
+ VMDK( "vmdk" ), QCOW2( "qcow2" ), VDI( "vdi" ),
+ DOCKER("dockerfile");
public final String extension;
@@ -52,6 +53,8 @@ public class DiskImage
return VDI;
if ( virtId.equals( TConst.VIRT_QEMU ) )
return QCOW2;
+ if ( virtId.equals( TConst.VIRT_DOCKER) )
+ return DOCKER;
return null;
}
}
diff --git a/src/main/java/org/openslx/util/vm/DockerMetaDataDummy.java b/src/main/java/org/openslx/util/vm/DockerMetaDataDummy.java
new file mode 100644
index 0000000..0144d65
--- /dev/null
+++ b/src/main/java/org/openslx/util/vm/DockerMetaDataDummy.java
@@ -0,0 +1,124 @@
+package org.openslx.util.vm;
+
+import org.apache.log4j.Logger;
+import org.openslx.bwlp.thrift.iface.Virtualizer;
+import org.openslx.thrifthelper.TConst;
+
+import java.io.File;
+import java.util.List;
+
+public class DockerMetaDataDummy extends VmMetaData {
+ // TODO Define DOCKER CONSTANT
+
+ private static final Logger LOGGER = Logger.getLogger( DockerMetaDataDummy.class );
+
+ private final Virtualizer virtualizer = new Virtualizer( TConst.VIRT_DOCKER, "Docker" );
+
+ public DockerMetaDataDummy(List osList) {
+ super(osList);
+ }
+
+ @Override public byte[] getFilteredDefinitionArray() {
+ return new byte[0];
+ }
+
+ @Override public void applySettingsForLocalEdit() {
+
+ }
+
+ @Override public boolean addHddTemplate(File diskImage, String hddMode, String redoDir) {
+ return false;
+ }
+
+ @Override public boolean addHddTemplate(String diskImagePath, String hddMode, String redoDir) {
+ return false;
+ }
+
+ @Override public boolean addDefaultNat() {
+ return false;
+ }
+
+ @Override public void setOs(String vendorOsId) {
+
+ }
+
+ @Override public boolean addDisplayName(String name) {
+ return false;
+ }
+
+ @Override public boolean addRam(int mem) {
+ return false;
+ }
+
+ @Override public void addFloppy(int index, String image, boolean readOnly) {
+
+ }
+
+ @Override public boolean addCdrom(String image) {
+ return false;
+ }
+
+ @Override public boolean addCpuCoreCount(int nrOfCores) {
+ return false;
+ }
+
+ @Override public void setSoundCard(SoundCardType type) {
+
+ }
+
+ @Override public SoundCardType getSoundCard() {
+ return SoundCardType.NONE;
+ }
+
+ @Override public void setDDAcceleration(DDAcceleration type) {
+
+ }
+
+ @Override public DDAcceleration getDDAcceleration() {
+ return DDAcceleration.OFF;
+ }
+
+ @Override public void setHWVersion(HWVersion type) {
+
+ }
+
+ @Override public HWVersion getHWVersion() {
+ return HWVersion.DEFAULT;
+ }
+
+ @Override public void setEthernetDevType(int cardIndex, EthernetDevType type) {
+
+ }
+
+ @Override public EthernetDevType getEthernetDevType(int cardIndex) {
+ return EthernetDevType.NONE;
+ }
+
+ @Override public void setMaxUsbSpeed(UsbSpeed speed) {
+
+ }
+
+ @Override public UsbSpeed getMaxUsbSpeed() {
+ return UsbSpeed.NONE;
+ }
+
+ @Override public byte[] getDefinitionArray() {
+ return new byte[0];
+ }
+
+ @Override public boolean addEthernet(EtherType type) {
+ return false;
+ }
+
+ @Override public Virtualizer getVirtualizer() {
+ return virtualizer;
+ }
+
+ @Override public boolean tweakForNonPersistent() {
+ return false;
+ }
+
+ @Override public void registerVirtualHW() {
+
+ }
+}
diff --git a/src/main/java/org/openslx/util/vm/VmMetaData.java b/src/main/java/org/openslx/util/vm/VmMetaData.java
index 29e2db9..e695bc0 100644
--- a/src/main/java/org/openslx/util/vm/VmMetaData.java
+++ b/src/main/java/org/openslx/util/vm/VmMetaData.java
@@ -312,6 +312,11 @@ public abstract class VmMetaData<T, U, V, W, X>
} catch ( Exception e ) {
LOGGER.info( "Not a QEmu file", e );
}
+ try {
+ return new DockerMetaDataDummy(osList);
+ } catch ( Exception e ) {
+ LOGGER.info( "Not a docker file", e );
+ }
LOGGER.error( "Could not detect any known virtualizer format" );
return null;
}