def _get_cdrom_xml(self, libvirt_stream_protocols): if 'cdrom' not in self.info: return '' params = {} params['type'] = 'cdrom' params['format'] = 'raw' params['bus'] = self.info['cdrom_bus'] params['index'] = self.info['cdrom_index'] params['path'] = self.info['cdrom'] if self.info.get('iso_stream', False): protocol = urlparse.urlparse(params['path']).scheme if protocol not in libvirt_stream_protocols: driveOpt = 'file=%(path)s,if=none,id=drive-%(bus)s0-1-0,' driveOpt += 'readonly=on,format=%(format)s' deviceOpt = '%(bus)s-cd,bus=%(bus)s.1,unit=0,' deviceOpt += 'drive=drive-%(bus)s0-1-0,id=%(bus)s0-1-0' args = {} args['-drive'] = driveOpt % params args['-device'] = deviceOpt % params # return qemucmdline XML return get_qemucmdline_xml(args) dev, xml = get_disk_xml(params) return xml
def _get_cdrom_xml(self, libvirt_stream_protocols): if 'cdrom' not in self.info: return None params = {} params['type'] = 'cdrom' params['format'] = 'raw' params['bus'] = self.info['cdrom_bus'] params['index'] = self.info['cdrom_index'] params['path'] = self.info['cdrom'] if self.info.get('iso_stream', False): protocol = urlparse.urlparse(params['path']).scheme if protocol not in libvirt_stream_protocols: driveOpt = 'file=%(path)s,if=none,id=drive-%(bus)s0-1-0,' driveOpt += 'readonly=on,format=%(format)s' deviceOpt = '%(bus)s-cd,bus=%(bus)s.1,unit=0,' deviceOpt += 'drive=drive-%(bus)s0-1-0,id=%(bus)s0-1-0' args = {} args['-drive'] = driveOpt % params args['-device'] = deviceOpt % params # return qemucmdline XML return get_qemucmdline_xml(args) dev, xml = get_disk_xml(params) return xml
def _get_cdrom_xml(self, libvirt_stream_protocols): if "cdrom" not in self.info: return None params = {} params["type"] = "cdrom" params["format"] = "raw" params["bus"] = self.info["cdrom_bus"] params["index"] = self.info["cdrom_index"] params["path"] = self.info["cdrom"] if self.info.get("iso_stream", False): protocol = urlparse.urlparse(params["path"]).scheme if protocol not in libvirt_stream_protocols: driveOpt = "file=%(path)s,if=none,id=drive-%(bus)s0-1-0," driveOpt += "readonly=on,format=%(format)s" deviceOpt = "%(bus)s-cd,bus=%(bus)s.1,unit=0," deviceOpt += "drive=drive-%(bus)s0-1-0,id=%(bus)s0-1-0" args = {} args["-drive"] = driveOpt % params args["-device"] = deviceOpt % params # return qemucmdline XML return get_qemucmdline_xml(args) dev, xml = get_disk_xml(params) return xml
def _add_win_memory_size(self, dom, wnd_size): root = objectify.fromstring(dom.XMLDesc(0)) val = CMDLINE_FIELD_NAME + '=' + wnd_size cmdline = root.find('{%s}commandline' % QEMU_NAMESPACE) # <qemu:commandline> doesn't exist, create the full commandline xml # with the required values and return if cmdline is None: args = {} args['-global'] = val root.append(etree.fromstring(get_qemucmdline_xml(args))) return etree.tostring(root, encoding='utf-8', pretty_print=True) # <qemu:commandline> exists and already has the tag # <qemu:arg value='-global'> (user could already been using this for # something else), so we just add our <qemu:arg...> missing. found = False for arg in cmdline.iterchildren(): if arg.values()[0] == '-global': EM = ElementMaker(namespace=QEMU_NAMESPACE, nsmap={'qemu': QEMU_NAMESPACE}) cmdline.append(EM.arg(value=val)) found = True break # <qemu:commandline> exists but there is no <qemu:arg value global> # so, we add those missing arguments inside the exising cmdline if not found: EM = ElementMaker(namespace=QEMU_NAMESPACE, nsmap={'qemu': QEMU_NAMESPACE}) cmdline.append(EM.arg(value='-global')) cmdline.append(EM.arg(value=val)) return etree.tostring(root, encoding='utf-8', pretty_print=True)
def _add_win_memory_size(self, dom, wnd_size): root = objectify.fromstring(dom.XMLDesc(0)) val = CMDLINE_FIELD_NAME + '=' + wnd_size cmdline = root.find('{%s}commandline' % QEMU_NAMESPACE) # <qemu:commandline> doesn't exist, create the full commandline xml # with the required values and return if cmdline is None: args = {} args['-global'] = val root.append(etree.fromstring(get_qemucmdline_xml(args))) return etree.tostring(root, encoding='unicode', pretty_print=True) # <qemu:commandline> exists but there is no <qemu:arg value global> # so, we add those missing arguments inside the exising cmdline EM = ElementMaker(namespace=QEMU_NAMESPACE, nsmap={'qemu': QEMU_NAMESPACE}) cmdline.append(EM.arg(value='-global')) cmdline.append(EM.arg(value=val)) return etree.tostring(root, encoding='unicode', pretty_print=True)
def _add_win_memory_size(self, dom, wnd_size): root = objectify.fromstring(dom.XMLDesc(0)) val = CMDLINE_FIELD_NAME + '=' + wnd_size cmdline = root.find('{%s}commandline' % QEMU_NAMESPACE) # <qemu:commandline> doesn't exist, create the full commandline xml # with the required values and return if cmdline is None: args = {} args['-global'] = val root.append(etree.fromstring(get_qemucmdline_xml(args))) return etree.tostring(root, encoding='utf-8', pretty_print=True) # <qemu:commandline> exists but there is no <qemu:arg value global> # so, we add those missing arguments inside the exising cmdline EM = ElementMaker(namespace=QEMU_NAMESPACE, nsmap={'qemu': QEMU_NAMESPACE}) cmdline.append(EM.arg(value='-global')) cmdline.append(EM.arg(value=val)) return etree.tostring(root, encoding='utf-8', pretty_print=True)