def build_node_xml(self, node, emulator): """Generate node XML :type node: Node :type emulator: String :rtype : String """ node_xml = XMLBuilder("domain", type=node.hypervisor) node_xml.name( self._get_name(node.environment and node.environment.name or '', node.name)) with node_xml.cpu(mode='host-model'): node_xml.model(fallback='forbid') node_xml.vcpu(str(node.vcpu)) node_xml.memory(str(node.memory * 1024), unit='KiB') node_xml.clock(offset='utc') with node_xml.clock.timer(name='rtc', tickpolicy='catchup', track='wall'): node_xml.catchup(threshold='123', slew='120', limit='10000') node_xml.clock.timer(name='pit', tickpolicy='delay') node_xml.clock.timer(name='hpet', present='yes' if self.driver.hpet else 'no') with node_xml.os: node_xml.type(node.os_type, arch=node.architecture) for boot_dev in json.loads(node.boot): node_xml.boot(dev=boot_dev) if self.driver.reboot_timeout: node_xml.bios( rebootTimeout='{0}'.format(self.driver.reboot_timeout)) if node.disk_devices.filter(bus='usb'): node_xml.bootmenu(enable='yes', timeout='3000') with node_xml.devices: node_xml.controller(type='usb', model='nec-xhci') node_xml.emulator(emulator) if node.has_vnc: if node.vnc_password: node_xml.graphics(type='vnc', listen='0.0.0.0', autoport='yes', passwd=node.vnc_password) else: node_xml.graphics(type='vnc', listen='0.0.0.0', autoport='yes') for disk_device in node.disk_devices: self._build_disk_device(node_xml, disk_device) for interface in node.interfaces: self._build_interface_device(node_xml, interface) with node_xml.video: node_xml.model(type='vga', vram='9216', heads='1') with node_xml.serial(type='pty'): node_xml.target(port='0') with node_xml.console(type='pty'): node_xml.target(type='serial', port='0') return str(node_xml)
def build_node_xml(self, node, emulator): """Generate node XML :type node: Node :type emulator: String :rtype : String """ node_xml = XMLBuilder("domain", type=node.hypervisor) node_xml.name( self._get_name(node.environment and node.environment.name or '', node.name)) with node_xml.cpu(mode='host-model'): node_xml.model(fallback='forbid') node_xml.vcpu(str(node.vcpu)) node_xml.memory(str(node.memory * 1024), unit='KiB') node_xml.clock(offset='utc') node_xml.clock.timer( name='hpet', present='yes' if self.driver.hpet else 'no') with node_xml.os: node_xml.type(node.os_type, arch=node.architecture) for boot_dev in json.loads(node.boot): node_xml.boot(dev=boot_dev) if self.driver.reboot_timeout: node_xml.bios(rebootTimeout='{0}'.format( self.driver.reboot_timeout)) with node_xml.devices: node_xml.emulator(emulator) if node.has_vnc: if node.vnc_password: node_xml.graphics( type='vnc', listen='0.0.0.0', autoport='yes', passwd=node.vnc_password) else: node_xml.graphics( type='vnc', listen='0.0.0.0', autoport='yes') for disk_device in node.disk_devices: self._build_disk_device(node_xml, disk_device) for interface in node.interfaces: self._build_interface_device(node_xml, interface) with node_xml.video: node_xml.model(type='vga', vram='9216', heads='1') with node_xml.serial(type='pty'): node_xml.target(port='0') with node_xml.console(type='pty'): node_xml.target(type='serial', port='0') return str(node_xml)
def build_node_xml(self, node, emulator): """ :rtype : String :type node: Node """ node_xml = XMLBuilder("domain", type=node.hypervisor) node_xml.name( self._get_name(node.environment and node.environment.name or '', node.name)) with node_xml.cpu(mode='host-model'): node_xml.model(fallback='forbid') node_xml.vcpu(str(node.vcpu)) node_xml.memory(str(node.memory * 1024), unit='KiB') with node_xml.os: node_xml.type(node.os_type, arch=node.architecture) for boot_dev in json.loads(node.boot): node_xml.boot(dev=boot_dev) with node_xml.devices: node_xml.emulator(emulator) if node.has_vnc: if node.vnc_password: node_xml.graphics(type='vnc', listen='0.0.0.0', autoport='yes', passwd=node.vnc_password) else: node_xml.graphics(type='vnc', listen='0.0.0.0', autoport='yes') for disk_device in node.disk_devices: self._build_disk_device(node_xml, disk_device) for interface in node.interfaces: self._build_interface_device(node_xml, interface) with node_xml.video: node_xml.model(type='vga', vram='9216', heads='1') with node_xml.serial(type='pty'): node_xml.target(port='0') with node_xml.console(type='pty'): node_xml.target(type='serial', port='0') return str(node_xml)
def build_node_xml(self, node, emulator): """Generate node XML :type node: Node :type emulator: String :rtype : String """ node_xml = XMLBuilder("domain", type=node.hypervisor) node_xml.name( self._get_name(node.environment and node.environment.name or '', node.name)) if self.driver.use_host_cpu: node_xml.cpu(mode='host-passthrough') node_xml.vcpu(str(node.vcpu)) node_xml.memory(str(node.memory * 1024), unit='KiB') if self.driver.use_hugepages: with node_xml.memoryBacking: node_xml.hugepages node_xml.clock(offset='utc') with node_xml.clock.timer(name='rtc', tickpolicy='catchup', track='wall'): node_xml.catchup( threshold='123', slew='120', limit='10000') node_xml.clock.timer( name='pit', tickpolicy='delay') node_xml.clock.timer( name='hpet', present='yes' if self.driver.hpet else 'no') with node_xml.os: node_xml.type(node.os_type, arch=node.architecture) for boot_dev in json.loads(node.boot): node_xml.boot(dev=boot_dev) if self.driver.reboot_timeout: node_xml.bios(rebootTimeout='{0}'.format( self.driver.reboot_timeout)) if node.should_enable_boot_menu: node_xml.bootmenu(enable='yes', timeout='3000') with node_xml.devices: node_xml.controller(type='usb', model='nec-xhci') node_xml.emulator(emulator) if node.has_vnc: if node.vnc_password: node_xml.graphics( type='vnc', listen='0.0.0.0', autoport='yes', passwd=node.vnc_password) else: node_xml.graphics( type='vnc', listen='0.0.0.0', autoport='yes') for disk_device in node.disk_devices: self._build_disk_device(node_xml, disk_device) for interface in node.interfaces: self._build_interface_device(node_xml, interface) with node_xml.video: node_xml.model(type='vga', vram='9216', heads='1') with node_xml.serial(type='pty'): node_xml.target(port='0') with node_xml.console(type='pty'): node_xml.target(type='serial', port='0') return str(node_xml)