def _get_osblob_helper(self, guest, isinstall, bootconfig): conn = guest.conn arch = self.arch machine = self.machine hvtype = self.type loader = self.loader os_type = self.os_type init = self.init or self._get_default_init(guest) hvxen = (hvtype == "xen") if not loader and self.is_hvm() and hvxen: loader = "/usr/lib/xen/boot/hvmloader" # Use older libvirt 'linux' value for back compat if os_type == "xen" and hvxen: os_type = "linux" if (not isinstall and self.is_xenpv() and not self.bootconfig.kernel): return "<bootloader>%s</bootloader>" % _pygrub_path(conn) osblob = "<os>" typexml = " <type" if arch: typexml += " arch='%s'" % arch if machine: typexml += " machine='%s'" % machine typexml += ">%s</type>" % os_type osblob = util.xml_append(osblob, typexml) if init: osblob = util.xml_append(osblob, " <init>%s</init>" % util.xml_escape(init)) if loader: osblob = util.xml_append(osblob, " <loader>%s</loader>" % util.xml_escape(loader)) if not self.is_container(): osblob = util.xml_append(osblob, bootconfig.get_xml_config()) osblob = util.xml_append(osblob, " </os>") return osblob
def _get_osblob_helper(self, guest, isinstall, bootconfig): conn = guest.conn arch = self.arch machine = self.machine hvtype = self.type loader = self.loader os_type = self.os_type init = self.init or self._get_default_init(guest) hvxen = (hvtype == "xen") if not loader and self.is_hvm() and hvxen: loader = "/usr/lib/xen/boot/hvmloader" # Use older libvirt 'linux' value for back compat if os_type == "xen" and hvxen: os_type = "linux" if (not isinstall and self.is_xenpv() and not self.bootconfig.kernel): return "<bootloader>%s</bootloader>" % _pygrub_path(conn) osblob = "<os>" typexml = " <type" if arch: typexml += " arch='%s'" % arch if machine: typexml += " machine='%s'" % machine typexml += ">%s</type>" % os_type osblob = util.xml_append(osblob, typexml) if init: osblob = util.xml_append( osblob, " <init>%s</init>" % util.xml_escape(init)) if loader: osblob = util.xml_append( osblob, " <loader>%s</loader>" % util.xml_escape(loader)) if not self.is_container(): osblob = util.xml_append(osblob, bootconfig.get_xml_config()) osblob = util.xml_append(osblob, " </os>") return osblob
def _get_xml_config(self): xml = "" if self.kernel: xml = util.xml_append(xml, " <kernel>%s</kernel>" % util.xml_escape(self.kernel)) if self.initrd: xml = util.xml_append(xml, " <initrd>%s</initrd>" % util.xml_escape(self.initrd)) if self.kernel_args: xml = util.xml_append(xml, " <cmdline>%s</cmdline>" % util.xml_escape(self.kernel_args)) else: for dev in self.bootorder: xml = util.xml_append(xml, " <boot dev='%s'/>" % dev) if self.enable_bootmenu in [True, False]: val = self.enable_bootmenu and "yes" or "no" xml = util.xml_append(xml, " <bootmenu enable='%s'/>" % val) return xml
def _get_xml_config(self): xml = "" if self.kernel: xml = util.xml_append( xml, " <kernel>%s</kernel>" % util.xml_escape(self.kernel)) if self.initrd: xml = util.xml_append( xml, " <initrd>%s</initrd>" % util.xml_escape(self.initrd)) if self.kernel_args: xml = util.xml_append( xml, " <cmdline>%s</cmdline>" % util.xml_escape(self.kernel_args)) else: for dev in self.bootorder: xml = util.xml_append(xml, " <boot dev='%s'/>" % dev) if self.enable_bootmenu in [True, False]: val = self.enable_bootmenu and "yes" or "no" xml = util.xml_append(xml, " <bootmenu enable='%s'/>" % val) return xml