mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
bug 10483: if hypervisor doesn't support a guest OS type, boot from ISO of this guest OS type fails,
deployed VM is not impacted, if the guest OS type is not supported, run it as HVM status 10483: resolved fixed
This commit is contained in:
parent
64eeb8d79b
commit
66d07c5d27
@ -22,6 +22,8 @@ import java.util.HashMap;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
|
||||
/**
|
||||
* Reduce bloat inside CitrixResourceBase
|
||||
*
|
||||
@ -420,35 +422,60 @@ public class CitrixHelper {
|
||||
return guestOS;
|
||||
}
|
||||
|
||||
public static String getXenServerGuestOsType(String stdType) {
|
||||
public static String getXenServerGuestOsType(String stdType, boolean bootFromCD) {
|
||||
String guestOS = _xenServerGuestOsMap.get(stdType);
|
||||
if (guestOS == null) {
|
||||
s_logger.debug("Can't find the guest os: " + stdType + " mapping into XenServer 5.6 guestOS type, start it as HVM guest");
|
||||
guestOS = "Other install media";
|
||||
if ( !bootFromCD ) {
|
||||
s_logger.debug("Can't find the guest os: " + stdType + " mapping into XenServer 5.6 guestOS type, start it as HVM guest");
|
||||
guestOS = "Other install media";
|
||||
} else {
|
||||
String msg = "XenServer 5.6 doesn't support Guest OS type " + stdType;
|
||||
s_logger.warn(msg);
|
||||
}
|
||||
}
|
||||
return guestOS;
|
||||
}
|
||||
|
||||
public static String getXenServer56FP1GuestOsType(String stdType) {
|
||||
public static String getXenServer56FP1GuestOsType(String stdType, boolean bootFromCD) {
|
||||
String guestOS = _xenServer56FP1GuestOsMap.get(stdType);
|
||||
if (guestOS == null) {
|
||||
s_logger.debug("Can't find the guest os: " + stdType + " mapping into XenServer 5.6 FP1 guestOS type, start it as HVM guest");
|
||||
guestOS = "Other install media";
|
||||
if ( !bootFromCD ) {
|
||||
s_logger.debug("Can't find the guest os: " + stdType + " mapping into XenServer 5.6 FP1 guestOS type, start it as HVM guest");
|
||||
guestOS = "Other install media";
|
||||
} else {
|
||||
String msg = "XenServer 5.6 FP1 DOES NOT support Guest OS type " + stdType;
|
||||
s_logger.warn(msg);
|
||||
}
|
||||
}
|
||||
return guestOS;
|
||||
}
|
||||
|
||||
public static String getXenServer56FP2GuestOsType(String stdType) {
|
||||
public static String getXenServer56SP2GuestOsType(String stdType, boolean bootFromCD) {
|
||||
String guestOS = _xenServer56FP2GuestOsMap.get(stdType);
|
||||
if (guestOS == null) {
|
||||
s_logger.debug("Can't find the guest os: " + stdType + " mapping into XenServer 5.6 FP2 guestOS type, start it as HVM guest");
|
||||
guestOS = "Other install media";
|
||||
if ( !bootFromCD ) {
|
||||
s_logger.debug("Can't find the guest os: " + stdType + " mapping into XenServer 5.6 SP2 guestOS type, start it as HVM guest");
|
||||
guestOS = "Other install media";
|
||||
} else {
|
||||
String msg = "XenServer 5.6 SP2 DOES NOT support Guest OS type " + stdType;
|
||||
s_logger.warn(msg);
|
||||
}
|
||||
}
|
||||
return guestOS;
|
||||
}
|
||||
|
||||
|
||||
public static String getXenServer60GuestOsType(String stdType) {
|
||||
return _xenServer60GuestOsMap.get(stdType);
|
||||
public static String getXenServer60GuestOsType(String stdType, boolean bootFromCD) {
|
||||
String guestOS = _xenServer60GuestOsMap.get(stdType);
|
||||
if (guestOS == null) {
|
||||
if ( !bootFromCD ) {
|
||||
s_logger.debug("Can't find the guest os: " + stdType + " mapping into XenServer 6.0 guestOS type, start it as HVM guest");
|
||||
guestOS = "Other install media";
|
||||
} else {
|
||||
String msg = "XenServer 6.0 DOES NOT support Guest OS type " + stdType;
|
||||
s_logger.warn(msg);
|
||||
}
|
||||
}
|
||||
return guestOS;
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@ public class XenServer56FP1Resource extends XenServer56Resource {
|
||||
|
||||
@Override
|
||||
protected String getGuestOsType(String stdType, boolean bootFromCD) {
|
||||
return CitrixHelper.getXenServer56FP1GuestOsType(stdType);
|
||||
return CitrixHelper.getXenServer56FP1GuestOsType(stdType, bootFromCD);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -84,7 +84,7 @@ public class XenServer56Resource extends CitrixResourceBase {
|
||||
|
||||
@Override
|
||||
protected String getGuestOsType(String stdType, boolean bootFromCD) {
|
||||
return CitrixHelper.getXenServerGuestOsType(stdType);
|
||||
return CitrixHelper.getXenServerGuestOsType(stdType, bootFromCD);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ public class XenServer56SP2Resource extends XenServer56Resource {
|
||||
|
||||
@Override
|
||||
protected String getGuestOsType(String stdType, boolean bootFromCD) {
|
||||
return CitrixHelper.getXenServer56FP2GuestOsType(stdType);
|
||||
return CitrixHelper.getXenServer56SP2GuestOsType(stdType, bootFromCD);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -39,7 +39,7 @@ public class XenServer60Resource extends XenServer56Resource {
|
||||
|
||||
@Override
|
||||
protected String getGuestOsType(String stdType, boolean bootFromCD) {
|
||||
return CitrixHelper.getXenServer60GuestOsType(stdType);
|
||||
return CitrixHelper.getXenServer60GuestOsType(stdType, bootFromCD);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user