diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java
new file mode 100644
index 00000000000..eaa22692483
--- /dev/null
+++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (C) 2010 Cloud.com. All rights reserved.
+ *
+ * This software is licensed under the GNU General Public License v3 or later.
+ *
+ * It is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or any later
+version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+package com.cloud.hypervisor.xen.resource;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+/**
+ * Reduce bloat inside CitrixResourceBase
+ *
+ */
+public class CitrixHelper {
+ private static final HashMap _guestOsMap = new HashMap(70);
+ private static final ArrayList _guestOsList = new ArrayList(70);
+
+
+ static {
+ _guestOsMap.put("CentOS 4.5 (32-bit)", "CentOS 4.5");
+ _guestOsMap.put("CentOS 4.6 (32-bit)", "CentOS 4.6");
+ _guestOsMap.put("CentOS 4.7 (32-bit)", "CentOS 4.7");
+ _guestOsMap.put("CentOS 4.8 (32-bit)", "CentOS 4.8");
+ _guestOsMap.put("CentOS 5.0 (32-bit)", "CentOS 5.0");
+ _guestOsMap.put("CentOS 5.0 (64-bit)", "CentOS 5.0 x64");
+ _guestOsMap.put("CentOS 5.1 (32-bit)", "CentOS 5.1");
+ _guestOsMap.put("CentOS 5.1 (64-bit)", "CentOS 5.1 x64");
+ _guestOsMap.put("CentOS 5.2 (32-bit)", "CentOS 5.2");
+ _guestOsMap.put("CentOS 5.2 (64-bit)", "CentOS 5.2 x64");
+ _guestOsMap.put("CentOS 5.3 (32-bit)", "CentOS 5.3");
+ _guestOsMap.put("CentOS 5.3 (64-bit)", "CentOS 5.3 x64");
+ _guestOsMap.put("CentOS 5.4 (32-bit)", "CentOS 5.4");
+ _guestOsMap.put("CentOS 5.4 (64-bit)", "CentOS 5.4 x64");
+ _guestOsMap.put("Debian Lenny 5.0 (32-bit)", "Debian Lenny 5.0");
+ _guestOsMap.put("Oracle Enterprise Linux 5.0 (32-bit)", "Oracle Enterprise Linux 5.0");
+ _guestOsMap.put("Oracle Enterprise Linux 5.0 (64-bit)", "Oracle Enterprise Linux 5.0 x64");
+ _guestOsMap.put("Oracle Enterprise Linux 5.1 (32-bit)", "Oracle Enterprise Linux 5.1");
+ _guestOsMap.put("Oracle Enterprise Linux 5.1 (64-bit)", "Oracle Enterprise Linux 5.1 x64");
+ _guestOsMap.put("Oracle Enterprise Linux 5.2 (32-bit)", "Oracle Enterprise Linux 5.2");
+ _guestOsMap.put("Oracle Enterprise Linux 5.2 (64-bit)", "Oracle Enterprise Linux 5.2 x64");
+ _guestOsMap.put("Oracle Enterprise Linux 5.3 (32-bit)", "Oracle Enterprise Linux 5.3");
+ _guestOsMap.put("Oracle Enterprise Linux 5.3 (64-bit)", "Oracle Enterprise Linux 5.3 x64");
+ _guestOsMap.put("Oracle Enterprise Linux 5.4 (32-bit)", "Oracle Enterprise Linux 5.4");
+ _guestOsMap.put("Oracle Enterprise Linux 5.4 (64-bit)", "Oracle Enterprise Linux 5.4 x64");
+ _guestOsMap.put("Red Hat Enterprise Linux 4.5 (32-bit)", "Red Hat Enterprise Linux 4.5");
+ _guestOsMap.put("Red Hat Enterprise Linux 4.6 (32-bit)", "Red Hat Enterprise Linux 4.6");
+ _guestOsMap.put("Red Hat Enterprise Linux 4.7 (32-bit)", "Red Hat Enterprise Linux 4.7");
+ _guestOsMap.put("Red Hat Enterprise Linux 4.8 (32-bit)", "Red Hat Enterprise Linux 4.8");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.0 (32-bit)", "Red Hat Enterprise Linux 5.0");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.0 (64-bit)", "Red Hat Enterprise Linux 5.0 x64");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.1 (32-bit)", "Red Hat Enterprise Linux 5.1");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.1 (64-bit)", "Red Hat Enterprise Linux 5.1 x64");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.2 (32-bit)", "Red Hat Enterprise Linux 5.2");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.2 (64-bit)", "Red Hat Enterprise Linux 5.2 x64");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.3 (32-bit)", "Red Hat Enterprise Linux 5.3");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.3 (64-bit)", "Red Hat Enterprise Linux 5.3 x64");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.4 (32-bit)", "Red Hat Enterprise Linux 5.4");
+ _guestOsMap.put("Red Hat Enterprise Linux 5.4 (64-bit)", "Red Hat Enterprise Linux 5.4 x64");
+ _guestOsMap.put("SUSE Linux Enterprise Server 9 SP4 (32-bit)", "SUSE Linux Enterprise Server 9 SP4");
+ _guestOsMap.put("SUSE Linux Enterprise Server 10 SP1 (32-bit)", "SUSE Linux Enterprise Server 10 SP1");
+ _guestOsMap.put("SUSE Linux Enterprise Server 10 SP1 (64-bit)", "SUSE Linux Enterprise Server 10 SP1 x64");
+ _guestOsMap.put("SUSE Linux Enterprise Server 10 SP2 (32-bit)", "SUSE Linux Enterprise Server 10 SP2");
+ _guestOsMap.put("SUSE Linux Enterprise Server 10 SP2 (64-bit)", "SUSE Linux Enterprise Server 10 SP2 x64");
+ _guestOsMap.put("SUSE Linux Enterprise Server 10 SP3 (64-bit)", "Other install media");
+ _guestOsMap.put("SUSE Linux Enterprise Server 11 (32-bit)", "SUSE Linux Enterprise Server 11");
+ _guestOsMap.put("SUSE Linux Enterprise Server 11 (64-bit)", "SUSE Linux Enterprise Server 11 x64");
+ _guestOsMap.put("Windows 7 (32-bit)", "Windows 7");
+ _guestOsMap.put("Windows 7 (64-bit)", "Windows 7 x64");
+ _guestOsMap.put("Windows Server 2003 (32-bit)", "Windows Server 2003");
+ _guestOsMap.put("Windows Server 2003 (64-bit)", "Windows Server 2003 x64");
+ _guestOsMap.put("Windows Server 2008 (32-bit)", "Windows Server 2008");
+ _guestOsMap.put("Windows Server 2008 (64-bit)", "Windows Server 2008 x64");
+ _guestOsMap.put("Windows Server 2008 R2 (64-bit)", "Windows Server 2008 R2 x64");
+ _guestOsMap.put("Windows 2000 SP4 (32-bit)", "Windows 2000 SP4");
+ _guestOsMap.put("Windows Vista (32-bit)", "Windows Vista");
+ _guestOsMap.put("Windows XP SP2 (32-bit)", "Windows XP SP2");
+ _guestOsMap.put("Windows XP SP3 (32-bit)", "Windows XP SP3");
+ _guestOsMap.put("Other install media", "Other install media");
+
+ //access by index
+ _guestOsList.add("CentOS 4.5");
+ _guestOsList.add("CentOS 4.6");
+ _guestOsList.add("CentOS 4.7");
+ _guestOsList.add("CentOS 4.8");
+ _guestOsList.add("CentOS 5.0");
+ _guestOsList.add("CentOS 5.0 x64");
+ _guestOsList.add("CentOS 5.1");
+ _guestOsList.add("CentOS 5.1 x64");
+ _guestOsList.add("CentOS 5.2");
+ _guestOsList.add("CentOS 5.2 x64");
+ _guestOsList.add("CentOS 5.3");
+ _guestOsList.add("CentOS 5.3 x64");
+ _guestOsList.add("CentOS 5.4");
+ _guestOsList.add("CentOS 5.4 x64");
+ _guestOsList.add("Debian Lenny 5.0");
+ _guestOsList.add("Oracle Enterprise Linux 5.0");
+ _guestOsList.add("Oracle Enterprise Linux 5.0 x64");
+ _guestOsList.add("Oracle Enterprise Linux 5.1");
+ _guestOsList.add("Oracle Enterprise Linux 5.1 x64");
+ _guestOsList.add("Oracle Enterprise Linux 5.2");
+ _guestOsList.add("Oracle Enterprise Linux 5.2 x64");
+ _guestOsList.add("Oracle Enterprise Linux 5.3");
+ _guestOsList.add("Oracle Enterprise Linux 5.3 x64");
+ _guestOsList.add("Oracle Enterprise Linux 5.4");
+ _guestOsList.add("Oracle Enterprise Linux 5.4 x64");
+ _guestOsList.add("Red Hat Enterprise Linux 4.5");
+ _guestOsList.add("Red Hat Enterprise Linux 4.6");
+ _guestOsList.add("Red Hat Enterprise Linux 4.7");
+ _guestOsList.add("Red Hat Enterprise Linux 4.8");
+ _guestOsList.add("Red Hat Enterprise Linux 5.0");
+ _guestOsList.add("Red Hat Enterprise Linux 5.0 x64");
+ _guestOsList.add("Red Hat Enterprise Linux 5.1");
+ _guestOsList.add("Red Hat Enterprise Linux 5.1 x64");
+ _guestOsList.add("Red Hat Enterprise Linux 5.2");
+ _guestOsList.add("Red Hat Enterprise Linux 5.2 x64");
+ _guestOsList.add("Red Hat Enterprise Linux 5.3");
+ _guestOsList.add("Red Hat Enterprise Linux 5.3 x64");
+ _guestOsList.add("Red Hat Enterprise Linux 5.4");
+ _guestOsList.add("Red Hat Enterprise Linux 5.4 x64");
+ _guestOsList.add("SUSE Linux Enterprise Server 9 SP4");
+ _guestOsList.add("SUSE Linux Enterprise Server 10 SP1");
+ _guestOsList.add("SUSE Linux Enterprise Server 10 SP1 x64");
+ _guestOsList.add("SUSE Linux Enterprise Server 10 SP2");
+ _guestOsList.add("SUSE Linux Enterprise Server 10 SP2 x64");
+ _guestOsList.add("Other install media");
+ _guestOsList.add("SUSE Linux Enterprise Server 11");
+ _guestOsList.add("SUSE Linux Enterprise Server 11 x64");
+ _guestOsList.add("Windows 7");
+ _guestOsList.add("Windows 7 x64");
+ _guestOsList.add("Windows Server 2003");
+ _guestOsList.add("Windows Server 2003 x64");
+ _guestOsList.add("Windows Server 2008");
+ _guestOsList.add("Windows Server 2008 x64");
+ _guestOsList.add("Windows Server 2008 R2 x64");
+ _guestOsList.add("Windows 2000 SP4");
+ _guestOsList.add("Windows Vista");
+ _guestOsList.add("Windows XP SP2");
+ _guestOsList.add("Windows XP SP3");
+ _guestOsList.add("Other install media");
+ }
+
+ public static String getGuestOsType(String stdType) {
+ return _guestOsMap.get(stdType);
+ }
+
+ public static String getGuestOsType(long guestOsId) {
+ return _guestOsMap.get(guestOsId-1);
+ }
+}
diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
index 0c403d51ef2..7c323c776ba 100644
--- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
+++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
@@ -234,6 +234,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
protected int _wait;
protected IAgentControl _agentControl;
protected boolean _isRemoteAgent = false;
+
protected final XenServerHost _host = new XenServerHost();
@@ -270,69 +271,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
s_statesTable.put(Types.VmPowerState.UNKNOWN, State.Unknown);
s_statesTable.put(Types.VmPowerState.UNRECOGNIZED, State.Unknown);
}
- private static HashMap _guestOsType = new HashMap(50);
- static {
- _guestOsType.put("CentOS 4.5 (32-bit)", "CentOS 4.5");
- _guestOsType.put("CentOS 4.6 (32-bit)", "CentOS 4.6");
- _guestOsType.put("CentOS 4.7 (32-bit)", "CentOS 4.7");
- _guestOsType.put("CentOS 4.8 (32-bit)", "CentOS 4.8");
- _guestOsType.put("CentOS 5.0 (32-bit)", "CentOS 5.0");
- _guestOsType.put("CentOS 5.0 (64-bit)", "CentOS 5.0 x64");
- _guestOsType.put("CentOS 5.1 (32-bit)", "CentOS 5.1");
- _guestOsType.put("CentOS 5.1 (64-bit)", "CentOS 5.1 x64");
- _guestOsType.put("CentOS 5.2 (32-bit)", "CentOS 5.2");
- _guestOsType.put("CentOS 5.2 (64-bit)", "CentOS 5.2 x64");
- _guestOsType.put("CentOS 5.3 (32-bit)", "CentOS 5.3");
- _guestOsType.put("CentOS 5.3 (64-bit)", "CentOS 5.3 x64");
- _guestOsType.put("CentOS 5.4 (32-bit)", "CentOS 5.4");
- _guestOsType.put("CentOS 5.4 (64-bit)", "CentOS 5.4 x64");
- _guestOsType.put("Debian Lenny 5.0 (32-bit)", "Debian Lenny 5.0");
- _guestOsType.put("Oracle Enterprise Linux 5.0 (32-bit)", "Oracle Enterprise Linux 5.0");
- _guestOsType.put("Oracle Enterprise Linux 5.0 (64-bit)", "Oracle Enterprise Linux 5.0 x64");
- _guestOsType.put("Oracle Enterprise Linux 5.1 (32-bit)", "Oracle Enterprise Linux 5.1");
- _guestOsType.put("Oracle Enterprise Linux 5.1 (64-bit)", "Oracle Enterprise Linux 5.1 x64");
- _guestOsType.put("Oracle Enterprise Linux 5.2 (32-bit)", "Oracle Enterprise Linux 5.2");
- _guestOsType.put("Oracle Enterprise Linux 5.2 (64-bit)", "Oracle Enterprise Linux 5.2 x64");
- _guestOsType.put("Oracle Enterprise Linux 5.3 (32-bit)", "Oracle Enterprise Linux 5.3");
- _guestOsType.put("Oracle Enterprise Linux 5.3 (64-bit)", "Oracle Enterprise Linux 5.3 x64");
- _guestOsType.put("Oracle Enterprise Linux 5.4 (32-bit)", "Oracle Enterprise Linux 5.4");
- _guestOsType.put("Oracle Enterprise Linux 5.4 (64-bit)", "Oracle Enterprise Linux 5.4 x64");
- _guestOsType.put("Red Hat Enterprise Linux 4.5 (32-bit)", "Red Hat Enterprise Linux 4.5");
- _guestOsType.put("Red Hat Enterprise Linux 4.6 (32-bit)", "Red Hat Enterprise Linux 4.6");
- _guestOsType.put("Red Hat Enterprise Linux 4.7 (32-bit)", "Red Hat Enterprise Linux 4.7");
- _guestOsType.put("Red Hat Enterprise Linux 4.8 (32-bit)", "Red Hat Enterprise Linux 4.8");
- _guestOsType.put("Red Hat Enterprise Linux 5.0 (32-bit)", "Red Hat Enterprise Linux 5.0");
- _guestOsType.put("Red Hat Enterprise Linux 5.0 (64-bit)", "Red Hat Enterprise Linux 5.0 x64");
- _guestOsType.put("Red Hat Enterprise Linux 5.1 (32-bit)", "Red Hat Enterprise Linux 5.1");
- _guestOsType.put("Red Hat Enterprise Linux 5.1 (64-bit)", "Red Hat Enterprise Linux 5.1 x64");
- _guestOsType.put("Red Hat Enterprise Linux 5.2 (32-bit)", "Red Hat Enterprise Linux 5.2");
- _guestOsType.put("Red Hat Enterprise Linux 5.2 (64-bit)", "Red Hat Enterprise Linux 5.2 x64");
- _guestOsType.put("Red Hat Enterprise Linux 5.3 (32-bit)", "Red Hat Enterprise Linux 5.3");
- _guestOsType.put("Red Hat Enterprise Linux 5.3 (64-bit)", "Red Hat Enterprise Linux 5.3 x64");
- _guestOsType.put("Red Hat Enterprise Linux 5.4 (32-bit)", "Red Hat Enterprise Linux 5.4");
- _guestOsType.put("Red Hat Enterprise Linux 5.4 (64-bit)", "Red Hat Enterprise Linux 5.4 x64");
- _guestOsType.put("SUSE Linux Enterprise Server 9 SP4 (32-bit)", "SUSE Linux Enterprise Server 9 SP4");
- _guestOsType.put("SUSE Linux Enterprise Server 10 SP1 (32-bit)", "SUSE Linux Enterprise Server 10 SP1");
- _guestOsType.put("SUSE Linux Enterprise Server 10 SP1 (64-bit)", "SUSE Linux Enterprise Server 10 SP1 x64");
- _guestOsType.put("SUSE Linux Enterprise Server 10 SP2 (32-bit)", "SUSE Linux Enterprise Server 10 SP2");
- _guestOsType.put("SUSE Linux Enterprise Server 10 SP2 (64-bit)", "SUSE Linux Enterprise Server 10 SP2 x64");
- _guestOsType.put("SUSE Linux Enterprise Server 10 SP3 (64-bit)", "Other install media");
- _guestOsType.put("SUSE Linux Enterprise Server 11 (32-bit)", "SUSE Linux Enterprise Server 11");
- _guestOsType.put("SUSE Linux Enterprise Server 11 (64-bit)", "SUSE Linux Enterprise Server 11 x64");
- _guestOsType.put("Windows 7 (32-bit)", "Windows 7");
- _guestOsType.put("Windows 7 (64-bit)", "Windows 7 x64");
- _guestOsType.put("Windows Server 2003 (32-bit)", "Windows Server 2003");
- _guestOsType.put("Windows Server 2003 (64-bit)", "Windows Server 2003 x64");
- _guestOsType.put("Windows Server 2008 (32-bit)", "Windows Server 2008");
- _guestOsType.put("Windows Server 2008 (64-bit)", "Windows Server 2008 x64");
- _guestOsType.put("Windows Server 2008 R2 (64-bit)", "Windows Server 2008 R2 x64");
- _guestOsType.put("Windows 2000 SP4 (32-bit)", "Windows 2000 SP4");
- _guestOsType.put("Windows Vista (32-bit)", "Windows Vista");
- _guestOsType.put("Windows XP SP2 (32-bit)", "Windows XP SP2");
- _guestOsType.put("Windows XP SP3 (32-bit)", "Windows XP SP3");
- _guestOsType.put("Other install media", "Other install media");
-
- }
+
protected boolean isRefNull(XenAPIObject object) {
return (object == null || object.toWireString().equals("OpaqueRef:NULL"));
@@ -814,7 +753,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
}
protected Pair createVmFromTemplate(Connection conn, VirtualMachineTO vmSpec, Host host) throws XenAPIException, XmlRpcException {
- String guestOsTypeName = getGuestOsType(vmSpec.getOs());
+ String guestOsTypeName = CitrixHelper.getGuestOsType(vmSpec.getOs());
Set templates = VM.getByNameLabel(conn, guestOsTypeName);
assert templates.size() == 1 : "Should only have 1 template but found " + templates.size();
VM template = templates.iterator().next();
@@ -1171,7 +1110,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
bootArgs += " pod=" + _pod;
bootArgs += " localgw=" + _localGateway;
String result = startSystemVM(vmName, storage.getVlanId(), network, cmd.getVolumes(), bootArgs, storage.getGuestMacAddress(), storage.getGuestIpAddress(), storage
- .getPrivateMacAddress(), storage.getPublicMacAddress(), cmd.getProxyCmdPort(), storage.getRamSize());
+ .getPrivateMacAddress(), storage.getPublicMacAddress(), cmd.getProxyCmdPort(), storage.getRamSize(), storage.getGuestOSId());
if (result == null) {
return new StartSecStorageVmAnswer(cmd);
}
@@ -2578,7 +2517,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
Set templates;
VM vm = null;
String stdType = cmd.getGuestOSDescription();
- String guestOsTypeName = getGuestOsType(stdType);
+ String guestOsTypeName = CitrixHelper.getGuestOsType(stdType);
templates = VM.getByNameLabel(conn, guestOsTypeName);
assert templates.size() == 1 : "Should only have 1 template but found " + templates.size();
VM template = templates.iterator().next();
@@ -2596,9 +2535,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
return vm;
}
- protected String getGuestOsType(String stdType) {
- return _guestOsType.get(stdType);
- }
+
public boolean joinPool(String address, String username, String password) {
Connection conn = getConnection();
@@ -3142,7 +3079,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
String bootArgs = cmd.getBootArgs();
String result = startSystemVM(vmName, router.getVlanId(), network, cmd.getVolumes(), bootArgs, router.getGuestMacAddress(), router.getPrivateIpAddress(), router
- .getPrivateMacAddress(), router.getPublicMacAddress(), 3922, router.getRamSize());
+ .getPrivateMacAddress(), router.getPublicMacAddress(), 3922, router.getRamSize(), router.getGuestOSId());
if (result == null) {
networkUsage(router.getPrivateIpAddress(), "create", null);
return new StartRouterAnswer(cmd);
@@ -3157,7 +3094,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
}
protected String startSystemVM(String vmName, String vlanId, Network nw0, List vols, String bootArgs, String guestMacAddr, String privateIp, String privateMacAddr,
- String publicMacAddr, int cmdPort, long ramSize) {
+ String publicMacAddr, int cmdPort, long ramSize, long guestOsId) {
setupLinkLocalNetwork();
VM vm = null;
@@ -3175,14 +3112,12 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
Ternary mount = mounts.get(0);
- Set templates = VM.getByNameLabel(conn, "CentOS 5.3");
+ Set templates = VM.getByNameLabel(conn, CitrixHelper.getGuestOsType(guestOsId));
if (templates.size() == 0) {
- templates = VM.getByNameLabel(conn, "CentOS 5.3 (64-bit)");
- if (templates.size() == 0) {
- String msg = " can not find template CentOS 5.3 ";
- s_logger.warn(msg);
- return msg;
- }
+ String msg = " can not find systemvm template " + CitrixHelper.getGuestOsType(guestOsId) ;
+ s_logger.warn(msg);
+ return msg;
+
}
VM template = templates.iterator().next();
@@ -3343,7 +3278,7 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
bootArgs += " localgw=" + _localGateway;
String result = startSystemVM(vmName, proxy.getVlanId(), network, cmd.getVolumes(), bootArgs, proxy.getGuestMacAddress(), proxy.getGuestIpAddress(), proxy
- .getPrivateMacAddress(), proxy.getPublicMacAddress(), cmd.getProxyCmdPort(), proxy.getRamSize());
+ .getPrivateMacAddress(), proxy.getPublicMacAddress(), cmd.getProxyCmdPort(), proxy.getRamSize(), proxy.getGuestOSId());
if (result == null) {
return new StartConsoleProxyAnswer(cmd);
}
@@ -6503,4 +6438,8 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR
return virtualSize;
}
}
+
+ protected String getGuestOsType(String stdType) {
+ return CitrixHelper.getGuestOsType(stdType);
+ }
}