diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java index f89ff8ff57b..9d1c0facbba 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java @@ -21,11 +21,14 @@ package com.cloud.hypervisor.xen.resource; import java.util.ArrayList; import java.util.HashMap; +import org.apache.log4j.Logger; + /** * Reduce bloat inside CitrixResourceBase * */ public class CitrixHelper { + private static final Logger s_logger = Logger.getLogger(CitrixHelper.class); private static final HashMap _guestOsMap = new HashMap(70); private static final ArrayList _guestOsList = new ArrayList(70); @@ -45,7 +48,7 @@ public class CitrixHelper { _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 (32-bit)"); + _guestOsMap.put("Debian GNU/Linux 5.0 (32-bit)", "Debian Lenny 5.0 (32-bit)"); _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"); @@ -93,6 +96,11 @@ public class CitrixHelper { } public static String getGuestOsType(String stdType) { - return _guestOsMap.get(stdType); + String guestOS = _guestOsMap.get(stdType); + if (guestOS == null) { + s_logger.debug("Can't find the guest os: " + stdType + " mapping into xenserver's guestOS type, start it as HVM guest"); + guestOS = "Other install media"; + } + return guestOS; } } diff --git a/server/src/com/cloud/api/commands/RegisterIsoCmd.java b/server/src/com/cloud/api/commands/RegisterIsoCmd.java index d4024adcafe..3de4edf121e 100755 --- a/server/src/com/cloud/api/commands/RegisterIsoCmd.java +++ b/server/src/com/cloud/api/commands/RegisterIsoCmd.java @@ -186,7 +186,7 @@ public class RegisterIsoCmd extends BaseCmd { listForEmbeddedObject.add(new Pair(BaseCmd.Properties.IS_FEATURED.getName(), Boolean.valueOf(template.isFeatured()).toString())); listForEmbeddedObject.add(new Pair(BaseCmd.Properties.BOOTABLE.getName(), Boolean.valueOf(template.isBootable()).toString())); listForEmbeddedObject.add(new Pair(BaseCmd.Properties.OS_TYPE_ID.getName(), template.getGuestOSId())); - listForEmbeddedObject.add(new Pair(BaseCmd.Properties.OS_TYPE_NAME.getName(), getManagementServer().findGuestOSById(template.getGuestOSId()).getName())); + listForEmbeddedObject.add(new Pair(BaseCmd.Properties.OS_TYPE_NAME.getName(), getManagementServer().findGuestOSById(template.getGuestOSId()).getDisplayName())); Account owner = getManagementServer().findAccountById(template.getAccountId()); if (owner != null) { diff --git a/server/src/com/cloud/async/executor/CopyTemplateExecutor.java b/server/src/com/cloud/async/executor/CopyTemplateExecutor.java index ba65f105610..c6c58726393 100644 --- a/server/src/com/cloud/async/executor/CopyTemplateExecutor.java +++ b/server/src/com/cloud/async/executor/CopyTemplateExecutor.java @@ -58,7 +58,7 @@ public class CopyTemplateExecutor extends BaseAsyncJobExecutor { long guestOsId = template.getGuestOSId(); Account owner = managementServer.findAccountById(template.getAccountId()); Domain domain = managementServer.findDomainIdById(owner.getDomainId()); - String guestOSName = managementServer.findGuestOSById(guestOsId).getName(); + String guestOSName = managementServer.findGuestOSById(guestOsId).getDisplayName(); asyncMgr.completeAsyncJob(getJob().getId(), AsyncJobResult.STATUS_SUCCEEDED, 0, composeResultObject(template, templateHostRef, destZone,guestOSName, owner, domain)); } else { asyncMgr.completeAsyncJob(getJob().getId(), AsyncJobResult.STATUS_FAILED, BaseCmd.INTERNAL_ERROR, "Failed to copy template."); diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index 85c617fdb03..de3af5a624b 100644 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -654,7 +654,7 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, VirtualMach s_logger.debug(msg); throw new CloudRuntimeException(msg); } else { - guestOSDescription = guestOS.getName(); + guestOSDescription = guestOS.getDisplayName(); } // _storageMgr.share(proxy, vols, null, true); diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index fe02cec3808..0cab48e214d 100644 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -997,7 +997,7 @@ public class NetworkManagerImpl implements NetworkManager, VirtualMachineManager s_logger.debug(msg); throw new CloudRuntimeException(msg); } else { - guestOSDescription = guestOS.getName(); + guestOSDescription = guestOS.getDisplayName(); } final StartRouterCommand cmdStartRouter = new StartRouterCommand(router, _networkRate, diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index ae4d6672d5d..61992e63758 100644 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -385,7 +385,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V s_logger.debug(msg); throw new CloudRuntimeException(msg); } else { - guestOSDescription = guestOS.getName(); + guestOSDescription = guestOS.getDisplayName(); } // carry the secondary storage vm port info over so that we don't