def test_config_simple(self): obj = config.LibvirtConfigGuestSMBIOS() xml = obj.to_xml() self.assertXmlEqual(xml, """ <smbios mode="sysinfo"/> """)
def test_config_kvm(self): obj = config.LibvirtConfigGuest() obj.virt_type = "kvm" obj.memory = 1024 * 1024 * 100 obj.vcpus = 2 obj.name = "demo" obj.uuid = "b38a3f43-4be2-4046-897f-b67c2f5e0147" obj.os_type = "linux" obj.os_boot_dev = "hd" obj.os_smbios = config.LibvirtConfigGuestSMBIOS() obj.acpi = True obj.apic = True obj.sysinfo = config.LibvirtConfigGuestSysinfo() obj.sysinfo.bios_vendor = "Acme" obj.sysinfo.system_version = "1.0.0" disk = config.LibvirtConfigGuestDisk() disk.source_type = "file" disk.source_path = "/tmp/img" disk.target_dev = "/dev/vda" disk.target_bus = "virtio" obj.add_device(disk) xml = obj.to_xml() self.assertXmlEqual( xml, """ <domain type="kvm"> <uuid>b38a3f43-4be2-4046-897f-b67c2f5e0147</uuid> <name>demo</name> <memory>104857600</memory> <vcpu>2</vcpu> <sysinfo type='smbios'> <bios> <entry name="vendor">Acme</entry> </bios> <system> <entry name="version">1.0.0</entry> </system> </sysinfo> <os> <type>linux</type> <boot dev="hd"/> <smbios mode="sysinfo"/> </os> <features> <acpi/> <apic/> </features> <devices> <disk type="file" device="disk"> <source file="/tmp/img"/> <target bus="virtio" dev="/dev/vda"/> </disk> </devices> </domain>""")
def fake_kvm_guest(): obj = config.LibvirtConfigGuest() obj.virt_type = "kvm" obj.memory = 100 * units.Mi obj.vcpus = 2 obj.cpuset = set([0, 1, 3, 4, 5]) obj.cputune = config.LibvirtConfigGuestCPUTune() obj.cputune.shares = 100 obj.cputune.quota = 50000 obj.cputune.period = 25000 obj.membacking = config.LibvirtConfigGuestMemoryBacking() page1 = config.LibvirtConfigGuestMemoryBackingPage() page1.size_kb = 2048 page1.nodeset = [0, 1, 2, 3, 5] page2 = config.LibvirtConfigGuestMemoryBackingPage() page2.size_kb = 1048576 page2.nodeset = [4] obj.membacking.hugepages.append(page1) obj.membacking.hugepages.append(page2) obj.memtune = config.LibvirtConfigGuestMemoryTune() obj.memtune.hard_limit = 496 obj.memtune.soft_limit = 672 obj.memtune.swap_hard_limit = 1638 obj.memtune.min_guarantee = 2970 obj.numatune = config.LibvirtConfigGuestNUMATune() numamemory = config.LibvirtConfigGuestNUMATuneMemory() numamemory.mode = "preferred" numamemory.nodeset = [0, 1, 2, 3, 8] obj.numatune.memory = numamemory numamemnode0 = config.LibvirtConfigGuestNUMATuneMemNode() numamemnode0.cellid = 0 numamemnode0.mode = "preferred" numamemnode0.nodeset = [0, 1] numamemnode1 = config.LibvirtConfigGuestNUMATuneMemNode() numamemnode1.cellid = 1 numamemnode1.mode = "preferred" numamemnode1.nodeset = [2, 3] numamemnode2 = config.LibvirtConfigGuestNUMATuneMemNode() numamemnode2.cellid = 2 numamemnode2.mode = "preferred" numamemnode2.nodeset = [8] obj.numatune.memnodes.extend([numamemnode0, numamemnode1, numamemnode2]) obj.name = "demo" obj.uuid = "b38a3f43-4be2-4046-897f-b67c2f5e0147" obj.os_type = "linux" obj.os_boot_dev = ["hd", "cdrom", "fd"] obj.os_smbios = config.LibvirtConfigGuestSMBIOS() obj.features = [ config.LibvirtConfigGuestFeatureACPI(), config.LibvirtConfigGuestFeatureAPIC(), config.LibvirtConfigGuestFeaturePAE(), config.LibvirtConfigGuestFeatureKvmHidden() ] obj.sysinfo = config.LibvirtConfigGuestSysinfo() obj.sysinfo.bios_vendor = "Acme" obj.sysinfo.system_version = "1.0.0" # obj.devices[0] disk = config.LibvirtConfigGuestDisk() disk.source_type = "file" disk.source_path = "/tmp/disk-img" disk.target_dev = "vda" disk.target_bus = "virtio" obj.add_device(disk) # obj.devices[1] disk = config.LibvirtConfigGuestDisk() disk.source_device = "cdrom" disk.source_type = "file" disk.source_path = "/tmp/cdrom-img" disk.target_dev = "sda" disk.target_bus = "sata" obj.add_device(disk) # obj.devices[2] intf = config.LibvirtConfigGuestInterface() intf.net_type = "network" intf.mac_addr = "52:54:00:f6:35:8f" intf.model = "virtio" intf.source_dev = "virbr0" obj.add_device(intf) # obj.devices[3] balloon = config.LibvirtConfigMemoryBalloon() balloon.model = 'virtio' balloon.period = 11 obj.add_device(balloon) # obj.devices[4] mouse = config.LibvirtConfigGuestInput() mouse.type = "mouse" mouse.bus = "virtio" obj.add_device(mouse) # obj.devices[5] gfx = config.LibvirtConfigGuestGraphics() gfx.type = "vnc" gfx.autoport = True gfx.keymap = "en_US" gfx.listen = "127.0.0.1" obj.add_device(gfx) # obj.devices[6] video = config.LibvirtConfigGuestVideo() video.type = 'virtio' obj.add_device(video) # obj.devices[7] serial = config.LibvirtConfigGuestSerial() serial.type = "file" serial.source_path = "/tmp/vm.log" obj.add_device(serial) # obj.devices[8] rng = config.LibvirtConfigGuestRng() rng.backend = '/dev/urandom' rng.rate_period = '12' rng.rate_bytes = '34' obj.add_device(rng) # obj.devices[9] controller = config.LibvirtConfigGuestController() controller.type = 'scsi' controller.model = 'virtio-scsi' # usually set from image meta controller.index = 0 obj.add_device(controller) return obj
def fake_kvm_guest(): obj = config.LibvirtConfigGuest() obj.virt_type = "kvm" obj.memory = 100 * units.Mi obj.vcpus = 2 obj.cpuset = set([0, 1, 3, 4, 5]) obj.cputune = config.LibvirtConfigGuestCPUTune() obj.cputune.shares = 100 obj.cputune.quota = 50000 obj.cputune.period = 25000 obj.membacking = config.LibvirtConfigGuestMemoryBacking() page1 = config.LibvirtConfigGuestMemoryBackingPage() page1.size_kb = 2048 page1.nodeset = [0, 1, 2, 3, 5] page2 = config.LibvirtConfigGuestMemoryBackingPage() page2.size_kb = 1048576 page2.nodeset = [4] obj.membacking.hugepages.append(page1) obj.membacking.hugepages.append(page2) obj.memtune = config.LibvirtConfigGuestMemoryTune() obj.memtune.hard_limit = 496 obj.memtune.soft_limit = 672 obj.memtune.swap_hard_limit = 1638 obj.memtune.min_guarantee = 2970 obj.numatune = config.LibvirtConfigGuestNUMATune() numamemory = config.LibvirtConfigGuestNUMATuneMemory() numamemory.mode = "preferred" numamemory.nodeset = [0, 1, 2, 3, 8] obj.numatune.memory = numamemory numamemnode0 = config.LibvirtConfigGuestNUMATuneMemNode() numamemnode0.cellid = 0 numamemnode0.mode = "preferred" numamemnode0.nodeset = [0, 1] numamemnode1 = config.LibvirtConfigGuestNUMATuneMemNode() numamemnode1.cellid = 1 numamemnode1.mode = "preferred" numamemnode1.nodeset = [2, 3] numamemnode2 = config.LibvirtConfigGuestNUMATuneMemNode() numamemnode2.cellid = 2 numamemnode2.mode = "preferred" numamemnode2.nodeset = [8] obj.numatune.memnodes.extend([numamemnode0, numamemnode1, numamemnode2]) obj.name = "demo" obj.uuid = "b38a3f43-4be2-4046-897f-b67c2f5e0147" obj.os_type = "linux" obj.os_boot_dev = ["hd", "cdrom", "fd"] obj.os_smbios = config.LibvirtConfigGuestSMBIOS() obj.features = [ config.LibvirtConfigGuestFeatureACPI(), config.LibvirtConfigGuestFeatureAPIC(), config.LibvirtConfigGuestFeaturePAE(), config.LibvirtConfigGuestFeatureKvmHidden() ] obj.sysinfo = config.LibvirtConfigGuestSysinfo() obj.sysinfo.bios_vendor = "Acme" obj.sysinfo.system_version = "1.0.0" disk = config.LibvirtConfigGuestDisk() disk.source_type = "file" disk.source_path = "/tmp/img" disk.target_dev = "/dev/vda" disk.target_bus = "virtio" obj.add_device(disk) return obj