From 4aea70f11ff8bde86cf7b5490a2b3cd2bf038575 Mon Sep 17 00:00:00 2001 From: anthony Date: Wed, 11 Jul 2012 16:04:31 -0700 Subject: [PATCH] CS-15081 : set pv-bootloader-args for SUSE PV VM --- .../cloud/hypervisor/xen/resource/CitrixHelper.java | 13 +++++++++++++ .../xen/resource/XenServer56FP1Resource.java | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java index 1cc1075dd78..f673cd6a413 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java @@ -21,6 +21,8 @@ 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 _xcp100GuestOsMap = new HashMap(70); @@ -632,4 +634,15 @@ public class CitrixHelper { } return guestOS; } + + public static String getPVbootloaderArgs(String guestOS) { + if (guestOS.startsWith("SUSE Linux Enterprise Server")) { + if (guestOS.contains("64-bit")) { + return " --kernel /boot/vmlinuz-xen --ramdisk /boot/initrd-xen"; + } else if (guestOS.contains("32-bit")) { + return " --kernel /boot/vmlinuz-xenpae --ramdisk /boot/initrd-xenpae"; + } + } + return ""; + } } diff --git a/core/src/com/cloud/hypervisor/xen/resource/XenServer56FP1Resource.java b/core/src/com/cloud/hypervisor/xen/resource/XenServer56FP1Resource.java index d689393688b..68a7621a410 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/XenServer56FP1Resource.java +++ b/core/src/com/cloud/hypervisor/xen/resource/XenServer56FP1Resource.java @@ -139,7 +139,8 @@ public class XenServer56FP1Resource extends XenServer56Resource { record.VCPUsMax = (long) vmSpec.getCpus(); record.VCPUsAtStartup = (long) vmSpec.getCpus(); record.consoles.clear(); - + String pvBootloaderArgs = CitrixHelper.getPVbootloaderArgs(guestOsTypeName); + record.PVBootloaderArgs += pvBootloaderArgs; VM vm = VM.create(conn, record); VM.Record vmr = vm.getRecord(conn); if (s_logger.isDebugEnabled()) {