Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package virt-manager for openSUSE:Factory checked in at 2025-03-16 18:57:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/virt-manager (Old) and /work/SRC/openSUSE:Factory/.virt-manager.new.19136 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virt-manager" Sun Mar 16 18:57:44 2025 rev:271 rq:1252578 version:5.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes 2025-03-08 17:51:41.812663904 +0100 +++ /work/SRC/openSUSE:Factory/.virt-manager.new.19136/virt-manager.changes 2025-03-16 18:57:49.086540409 +0100 @@ -1,0 +2,21 @@ +Wed Mar 12 15:27:01 MDT 2025 - carn...@suse.com + +- Upstream bug fix (bsc#1027942) + 010-virtManager-domain-fix-indentation.patch +- Upstream features from Lin Ma and others (jsc#PED-8910) + 021-cli-Add-memdev-target.dynamicMemslots-support-for-virtio-mem.patch + 022-cli-add-target.memReserve-for-pci-bridge-and-pcie-root-port-controllers.patch + 023-cli-Add-disk-driver.queue_size-support.patch + 024-cli-Add-poll-settings-for-iothread.patch + 025-test_cli-Fix-a-pycodestyle-E261-issue.patch + 026-gitignore-Ignore-coverage.xml.patch + 027-cli-Add-tpm-backend.profile.source-removeDisabled-support.patch + 028-cli-Add-nvram.templateFormat-to-indicate-template-format.patch + 029-cli-Add-features-hyperv.xmm_input.state-on-off.patch + 030-cli-Add-features-hyperv.emsr_bitmap.state-on-off.patch + 031-cli-Add-features-hyperv.tlbflush.direct.state-on-off.patch + 032-cli-Add-features-hyperv.tlbflush.extended.state-on-off.patch + 033-createvm-prioritize-riscv64.patch + 034-tests-uitests-handle-linux2020-going-EOL.patch + +------------------------------------------------------------------- New: ---- 010-virtManager-domain-fix-indentation.patch 021-cli-Add-memdev-target.dynamicMemslots-support-for-virtio-mem.patch 022-cli-add-target.memReserve-for-pci-bridge-and-pcie-root-port-controllers.patch 023-cli-Add-disk-driver.queue_size-support.patch 024-cli-Add-poll-settings-for-iothread.patch 025-test_cli-Fix-a-pycodestyle-E261-issue.patch 026-gitignore-Ignore-coverage.xml.patch 027-cli-Add-tpm-backend.profile.source-removeDisabled-support.patch 028-cli-Add-nvram.templateFormat-to-indicate-template-format.patch 029-cli-Add-features-hyperv.xmm_input.state-on-off.patch 030-cli-Add-features-hyperv.emsr_bitmap.state-on-off.patch 031-cli-Add-features-hyperv.tlbflush.direct.state-on-off.patch 032-cli-Add-features-hyperv.tlbflush.extended.state-on-off.patch 033-createvm-prioritize-riscv64.patch 034-tests-uitests-handle-linux2020-going-EOL.patch BETA DEBUG BEGIN: New:- Upstream bug fix (bsc#1027942) 010-virtManager-domain-fix-indentation.patch - Upstream features from Lin Ma and others (jsc#PED-8910) New:- Upstream features from Lin Ma and others (jsc#PED-8910) 021-cli-Add-memdev-target.dynamicMemslots-support-for-virtio-mem.patch 022-cli-add-target.memReserve-for-pci-bridge-and-pcie-root-port-controllers.patch New: 021-cli-Add-memdev-target.dynamicMemslots-support-for-virtio-mem.patch 022-cli-add-target.memReserve-for-pci-bridge-and-pcie-root-port-controllers.patch 023-cli-Add-disk-driver.queue_size-support.patch New: 022-cli-add-target.memReserve-for-pci-bridge-and-pcie-root-port-controllers.patch 023-cli-Add-disk-driver.queue_size-support.patch 024-cli-Add-poll-settings-for-iothread.patch New: 023-cli-Add-disk-driver.queue_size-support.patch 024-cli-Add-poll-settings-for-iothread.patch 025-test_cli-Fix-a-pycodestyle-E261-issue.patch New: 024-cli-Add-poll-settings-for-iothread.patch 025-test_cli-Fix-a-pycodestyle-E261-issue.patch 026-gitignore-Ignore-coverage.xml.patch New: 025-test_cli-Fix-a-pycodestyle-E261-issue.patch 026-gitignore-Ignore-coverage.xml.patch 027-cli-Add-tpm-backend.profile.source-removeDisabled-support.patch New: 026-gitignore-Ignore-coverage.xml.patch 027-cli-Add-tpm-backend.profile.source-removeDisabled-support.patch 028-cli-Add-nvram.templateFormat-to-indicate-template-format.patch New: 027-cli-Add-tpm-backend.profile.source-removeDisabled-support.patch 028-cli-Add-nvram.templateFormat-to-indicate-template-format.patch 029-cli-Add-features-hyperv.xmm_input.state-on-off.patch New: 028-cli-Add-nvram.templateFormat-to-indicate-template-format.patch 029-cli-Add-features-hyperv.xmm_input.state-on-off.patch 030-cli-Add-features-hyperv.emsr_bitmap.state-on-off.patch New: 029-cli-Add-features-hyperv.xmm_input.state-on-off.patch 030-cli-Add-features-hyperv.emsr_bitmap.state-on-off.patch 031-cli-Add-features-hyperv.tlbflush.direct.state-on-off.patch New: 030-cli-Add-features-hyperv.emsr_bitmap.state-on-off.patch 031-cli-Add-features-hyperv.tlbflush.direct.state-on-off.patch 032-cli-Add-features-hyperv.tlbflush.extended.state-on-off.patch New: 031-cli-Add-features-hyperv.tlbflush.direct.state-on-off.patch 032-cli-Add-features-hyperv.tlbflush.extended.state-on-off.patch 033-createvm-prioritize-riscv64.patch New: 032-cli-Add-features-hyperv.tlbflush.extended.state-on-off.patch 033-createvm-prioritize-riscv64.patch 034-tests-uitests-handle-linux2020-going-EOL.patch New: 033-createvm-prioritize-riscv64.patch 034-tests-uitests-handle-linux2020-going-EOL.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ virt-manager.spec ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:51.778653028 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:51.778653028 +0100 @@ -55,6 +55,21 @@ Patch7: 007-cli-man-Always-list-osinfo-before-os-variant.patch Patch8: 008-snapshots-default-to-same-snapshot-mode-as-currently-used-snapshot.patch Patch9: 009-snapshots-warn-users-to-not-mix-snapshot-modes.patch +Patch10: 010-virtManager-domain-fix-indentation.patch +Patch21: 021-cli-Add-memdev-target.dynamicMemslots-support-for-virtio-mem.patch +Patch22: 022-cli-add-target.memReserve-for-pci-bridge-and-pcie-root-port-controllers.patch +Patch23: 023-cli-Add-disk-driver.queue_size-support.patch +Patch24: 024-cli-Add-poll-settings-for-iothread.patch +Patch25: 025-test_cli-Fix-a-pycodestyle-E261-issue.patch +Patch26: 026-gitignore-Ignore-coverage.xml.patch +Patch27: 027-cli-Add-tpm-backend.profile.source-removeDisabled-support.patch +Patch28: 028-cli-Add-nvram.templateFormat-to-indicate-template-format.patch +Patch29: 029-cli-Add-features-hyperv.xmm_input.state-on-off.patch +Patch30: 030-cli-Add-features-hyperv.emsr_bitmap.state-on-off.patch +Patch31: 031-cli-Add-features-hyperv.tlbflush.direct.state-on-off.patch +Patch32: 032-cli-Add-features-hyperv.tlbflush.extended.state-on-off.patch +Patch33: 033-createvm-prioritize-riscv64.patch +Patch34: 034-tests-uitests-handle-linux2020-going-EOL.patch Patch100: revert-363fca41-virt-install-Require-osinfo-for-non-x86-HVM-case-too.patch # SUSE Only Patch150: virtman-desktop.patch ++++++ 010-virtManager-domain-fix-indentation.patch ++++++ Subject: virtManager: domain: fix indentation From: Pavel Hrdina phrd...@redhat.com Wed Jan 29 10:50:03 2025 +0100 Date: Wed Jan 29 10:50:03 2025 +0100: Git: 5ddd3456a0ca9836a98fc6ca4f0b2eaab268bf47 Signed-off-by: Pavel Hrdina <phrd...@redhat.com> diff --git a/virtManager/object/domain.py b/virtManager/object/domain.py index 5aade01d8..51aae4d8c 100644 --- a/virtManager/object/domain.py +++ b/virtManager/object/domain.py @@ -1157,14 +1157,13 @@ class vmmDomain(vmmLibvirtObject): return self._snapshot_list[:] def get_current_snapshot(self): + if self._backend.hasCurrentSnapshot(0): + rawsnap = self._backend.snapshotCurrent(0) + obj = vmmDomainSnapshot(self.conn, rawsnap) + obj.init_libvirt_state() + return obj - if self._backend.hasCurrentSnapshot(0): - rawsnap = self._backend.snapshotCurrent(0) - obj = vmmDomainSnapshot(self.conn, rawsnap) - obj.init_libvirt_state() - return obj - - return None + return None @vmmLibvirtObject.lifecycle_action def revert_to_snapshot(self, snap): ++++++ 021-cli-Add-memdev-target.dynamicMemslots-support-for-virtio-mem.patch ++++++ Subject: cli: Add --memdev target.dynamicMemslots support for virtio-mem From: Lin Ma l...@suse.de Sun Jan 5 17:46:04 2025 +0800 Date: Wed Jan 29 10:25:37 2025 +0100: Git: 8564ace73a9a2b596c9206d16833904be993c6c2 Libvirt supports setting dynamicMemslots attribute for virtio-mem since v10.1.0, Let's add it into virt-install. Eg: virt-install \ ...... --vcpu 2 \ --cpu cell0.cpus=0,cell0.memory=4194304,\ cell1.cpus=1,cell1.memory=4194304 \ --memory maxMemory=65536,maxMemory.slots=8 \ --memdev model=virtio-mem,\ target.node=0,\ target.block=2048,\ target.size=8192,\ target.dynamicMemslots=yes \ ...... It results in the following domain XML snippet: <memory model='virtio-mem'> <target dynamicMemslots='yes'> ...... </memory> Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-memory-hotplug.xml b/tests/data/cli/compare/virt-install-memory-hotplug.xml index 61e39ee02..37fa23328 100644 --- a/tests/data/cli/compare/virt-install-memory-hotplug.xml +++ b/tests/data/cli/compare/virt-install-memory-hotplug.xml @@ -123,7 +123,7 @@ </target> </memory> <memory model="virtio-mem"> - <target> + <target dynamicMemslots="yes"> <size>524288</size> <node>0</node> <block>2048</block> @@ -267,7 +267,7 @@ </target> </memory> <memory model="virtio-mem"> - <target> + <target dynamicMemslots="yes"> <size>524288</size> <node>0</node> <block>2048</block> diff --git a/tests/test_cli.py b/tests/test_cli.py index 51a1883c4..7f3ba0c3a 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -928,7 +928,7 @@ c.add_compare("--pxe " "address.type=dimm,address.base=0x100000000,address.slot=1," "source.pmem=on,source.alignsize=2048,target.readonly=on " -"--memdev virtio-mem,target_node=0,target.block=2048," +"--memdev virtio-mem,target_node=0,target.block=2048,target.dynamicMemslots=yes," "target_size=512,target.requested=524288,target.address_base=0x180000000 " "--memdev virtio-pmem,source.path=/tmp/virtio_pmem," diff --git a/virtinst/cli.py b/virtinst/cli.py index 43d45a508..cecf33be1 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -4502,6 +4502,7 @@ class ParserMemdev(VirtCLIParser): cls.add_arg("source.pmem", "source.pmem", is_onoff=True) cls.add_arg("source.alignsize", "source.alignsize", cb=cls.set_target_size) + cls.add_arg("target.dynamicMemslots", "target.dynamicMemslots") ######################## diff --git a/virtinst/devices/memory.py b/virtinst/devices/memory.py index edc274e00..c74d7ab9d 100644 --- a/virtinst/devices/memory.py +++ b/virtinst/devices/memory.py @@ -20,6 +20,7 @@ class _DeviceMemoryTarget(XMLBuilder): requested = XMLProperty("./requested", is_int=True) current = XMLProperty("./current", is_int=True) address_base = XMLProperty("./address/@base") + dynamicMemslots = XMLProperty("./@dynamicMemslots", is_yesno=True) class _DeviceMemorySource(XMLBuilder): ++++++ 022-cli-add-target.memReserve-for-pci-bridge-and-pcie-root-port-controllers.patch ++++++ Subject: cli: add target.memReserve for pci-bridge and pcie-root-port controllers From: Lin Ma l...@suse.de Sun Jan 5 17:47:20 2025 +0800 Date: Wed Jan 29 10:25:37 2025 +0100: Git: 79c333e3643cdef3a24672f4b6f0f34d5aa178fd Libvirt(since v10.3.0) supports setting memReserve attribute to pci-bridge and pcie-root-port, Let's add it into virt-install. Eg: virt-install \ ...... --controller pci,index=0,model=pcie-root \ --controller pci,index=1,model=pcie-root-port,target.memReserve=8196 \ --controller pci,index=2,model=dmi-to-pci-bridge \ --controller pci,index=3,model=pci-bridge,target.memReserve=8196 \ ...... It results in the following domain XML snippet: <controller type='pci' index='0' model='pcie-root'> <alias name='pcie.0'/> </controller> <controller type='pci' index='1' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='1' port='0x10' memReserve='8196'/> <alias name='pci.1'/> <address type='pci' ....../> </controller> <controller type='pci' index='2' model='dmi-to-pci-bridge'> <model name='i82801b11-bridge'/> <alias name='pci.2'/> <address type='pci' ....../> </controller> <controller type='pci' index='3' model='pci-bridge'> <model name='pci-bridge'/> <target chassisNr='3' memReserve='8196'/> <alias name='pci.3'/> <address type='pci' ....../> </controller> Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml index 251dc1cb3..d91e4c849 100644 --- a/tests/data/cli/compare/virt-install-many-devices.xml +++ b/tests/data/cli/compare/virt-install-many-devices.xml @@ -483,7 +483,7 @@ <target index="1"/> </controller> <controller type="pci" index="2" model="pci-bridge"> - <target chassisNr="1"/> + <target chassisNr="1" memReserve="8196"/> </controller> <controller type="pci" index="3" model="pci-expander-bus"> <target busNr="252"> diff --git a/tests/test_cli.py b/tests/test_cli.py index 7f3ba0c3a..4a980dbac 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -685,7 +685,7 @@ source.reservations.managed=no,source.reservations.source.type=unix,source.reser --controller xenbus,maxGrantFrames=64 --controller pci,index=0,model=pcie-root-port,target.chassis=1,target.port=1,target.hotplug=off --controller pci,index=1,model=pci-root,target.index=1 ---controller pci,index=2,model=pci-bridge,target.chassisNr=1 +--controller pci,index=2,model=pci-bridge,target.chassisNr=1,target.memReserve=8196 --controller pci,index=3,model=pci-expander-bus,target.busNr=252,target.node=1 --controller usb3 --controller scsi,model=virtio-scsi diff --git a/virtinst/cli.py b/virtinst/cli.py index cecf33be1..33235bf37 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -4199,6 +4199,7 @@ class ParserController(VirtCLIParser): cls.add_arg("target.busNr", "target_busNr") cls.add_arg("target.index", "target_index") cls.add_arg("target.node", "target_node") + cls.add_arg("target.memReserve", "target_memReserve") cls.add_arg("address", None, lookup_cb=None, cb=cls.set_address_cb) cls.add_arg("num_pcie_root_ports", None, lookup_cb=None, cb=cls.noset_cb) diff --git a/virtinst/devices/controller.py b/virtinst/devices/controller.py index 57c94fe48..c45b8e08d 100644 --- a/virtinst/devices/controller.py +++ b/virtinst/devices/controller.py @@ -85,6 +85,7 @@ class DeviceController(Device): target_busNr = XMLProperty("./target/@busNr", is_int=True) target_index = XMLProperty("./target/@index", is_int=True) target_node = XMLProperty("./target/node", is_int=True) + target_memReserve = XMLProperty("./target/@memReserve", is_int=True) def _get_attached_disk_devices(self, guest): ret = [] ++++++ 023-cli-Add-disk-driver.queue_size-support.patch ++++++ Subject: cli: Add --disk driver.queue_size support From: Lin Ma l...@suse.de Sun Jan 5 17:49:34 2025 +0800 Date: Wed Jan 29 10:25:37 2025 +0100: Git: 36d00e0e79f3d845522201c4a353d5a529af82a7 Eg: virt-install \ ...... --disk /tmp/disk0.qcow2,size=10,driver.type=qcow2,\ driver.queues=4,driver.queue_size=256 \ ...... It results in the following domain XML snippet: <disk type='file' device='disk'> <driver name='qemu' type='qcow2' queues='4' queue_size='256'/> <source file='/tmp/disk0.qcow2' index='2'/> <backingStore/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </disk> Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml index d91e4c849..eb26d316b 100644 --- a/tests/data/cli/compare/virt-install-many-devices.xml +++ b/tests/data/cli/compare/virt-install-many-devices.xml @@ -231,7 +231,7 @@ <devices> <emulator>/new/emu</emulator> <disk type="block" device="disk"> - <driver name="qemu" type="raw" cache="writeback" discard="unmap" io="threads" iothread="3" queues="8"/> + <driver name="qemu" type="raw" cache="writeback" discard="unmap" io="threads" iothread="3" queues="8" queue_size="256"/> <source dev="/pool-dir/UPPER"/> <target dev="vda" bus="virtio"/> <serial>WD-WMAP9A966149</serial> diff --git a/tests/test_cli.py b/tests/test_cli.py index 4a980dbac..071a17bee 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -610,7 +610,7 @@ msrs.unknown=ignore --sysinfo bios.vendor="Acme LLC",bios.version=1.2.3,bios.date=01/01/1970,bios.release=10.22,system.manufacturer="Acme Inc.",system.product=Computer,system.version=3.2.1,system.serial=123456789,system.uuid=00000000-1111-2222-3333-444444444444,system.sku=abc-123,system.family=Server,baseBoard.manufacturer="Acme Corp.",baseBoard.product=Motherboard,baseBoard.version=A01,baseBoard.serial=1234-5678,baseBoard.asset=Tag,baseBoard.location=Chassis ---disk type=block,source.dev=/pool-dir/UPPER,cache=writeback,io=threads,perms=sh,serial=WD-WMAP9A966149,wwn=123456789abcdefa,boot_order=2,driver.iothread=3,driver.queues=8 +--disk type=block,source.dev=/pool-dir/UPPER,cache=writeback,io=threads,perms=sh,serial=WD-WMAP9A966149,wwn=123456789abcdefa,boot_order=2,driver.iothread=3,driver.queues=8,driver.queue_size=256 --disk source.file=%(NEWIMG1)s,sparse=false,size=.001,perms=ro,error_policy=enospace,detect_zeroes=unmap,address.type=drive,address.controller=0,address.target=2,address.unit=0 --disk device=cdrom,bus=sata,read_bytes_sec=1,read_iops_sec=2,write_bytes_sec=5,write_iops_sec=6,driver.copy_on_read=on,geometry.cyls=16383,geometry.heads=16,geometry.secs=63,geometry.trans=lba,discard=ignore --disk size=1 diff --git a/virtinst/cli.py b/virtinst/cli.py index 33235bf37..7df2e365f 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -3778,6 +3778,7 @@ class ParserDisk(VirtCLIParser): cls.add_arg("driver.queues", "driver_queues") cls.add_arg("driver.error_policy", "error_policy") cls.add_arg("driver.discard_no_unref", "driver_discard_no_unref", is_onoff=True) + cls.add_arg("driver.queue_size", "driver_queue_size") cls.add_arg("driver.metadata_cache.max_size", "driver_metadata_cache_max_size") diff --git a/virtinst/devices/disk.py b/virtinst/devices/disk.py index 1f9358b84..9370fcd87 100644 --- a/virtinst/devices/disk.py +++ b/virtinst/devices/disk.py @@ -509,6 +509,7 @@ class DeviceDisk(Device): driver_iothread = XMLProperty("./driver/@iothread", is_int=True) driver_queues = XMLProperty("./driver/@queues", is_int=True) driver_discard_no_unref = XMLProperty("./driver/@discard_no_unref", is_onoff=True) + driver_queue_size = XMLProperty("./driver/@queue_size", is_int=True) driver_metadata_cache_max_size = XMLProperty( "./driver/metadata_cache/max_size", is_int=True) ++++++ 024-cli-Add-poll-settings-for-iothread.patch ++++++ Subject: cli: Add 'poll' settings for iothread From: Lin Ma l...@suse.de Sun Jan 5 17:50:42 2025 +0800 Date: Wed Jan 29 10:25:37 2025 +0100: Git: a7c455f4600c6a35820c435d34f05b8b4a513611 Since libvirt v9.4.0, It introduces 'poll' settings in domain XML to override the hypervisor-default interval of polling for iothread. Let's add it into virt-install. Eg: virt-install \ ...... \ --iothreads iothreads=2,\ iothreadids.iothread0.id=1,\ iothreadids.iothread1.id=2,\ iothreadids.iothread1.poll.max=123,\ iothreadids.iothread1.poll.grow=456,\ iothreadids.iothread1.poll.shrink=789 It results in the following domain XML snippet: <iothreads>2</iothreads> <iothreadids> <iothread id='1'/> <iothread id='2'> <poll max='123' grow='456' shrink='789'/> </iothread> </iothreadids> Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml index eb26d316b..a841a380f 100644 --- a/tests/data/cli/compare/virt-install-many-devices.xml +++ b/tests/data/cli/compare/virt-install-many-devices.xml @@ -12,7 +12,9 @@ <iothreads>5</iothreads> <iothreadids> <iothread id="1"/> - <iothread id="2" thread_pool_min="8" thread_pool_max="16"/> + <iothread id="2" thread_pool_min="8" thread_pool_max="16"> + <poll max="123" grow="456" shrink="789"/> + </iothread> </iothreadids> <defaultiothread thread_pool_min="4" thread_pool_max="32"/> <memory>65536</memory> diff --git a/tests/test_cli.py b/tests/test_cli.py index 071a17bee..7f984cf1b 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -557,7 +557,7 @@ memorytune0.vcpus=0-3,memorytune0.node0.id=0,memorytune0.node0.bandwidth=60 --memorybacking size=1,unit='G',nodeset=0,1,nosharepages=yes,locked=yes,discard=yes,allocation.mode=immediate,access_mode=shared,source_type=file,hugepages.page.size=12,hugepages.page1.size=1234,hugepages.page1.unit=MB,hugepages.page1.nodeset=2,allocation.threads=8 ---iothreads iothreads=5,iothreadids.iothread0.id=1,iothreadids.iothread1.id=2,iothreadids.iothread1.thread_pool_min=8,iothreadids.iothread1.thread_pool_max=16,defaultiothread.thread_pool_min=4,defaultiothread.thread_pool_max=32 +--iothreads iothreads=5,iothreadids.iothread0.id=1,iothreadids.iothread1.id=2,iothreadids.iothread1.thread_pool_min=8,iothreadids.iothread1.thread_pool_max=16,iothreadids.iothread1.poll.max=123,iothreadids.iothread1.poll.grow=456,iothreadids.iothread1.poll.shrink=789,defaultiothread.thread_pool_min=4,defaultiothread.thread_pool_max=32 --metadata title=my-title,description=my-description,uuid=00000000-1111-2222-3333-444444444444,genid=e9392370-2917-565e-692b-d057f46512d6,genid_enable=yes diff --git a/virtinst/cli.py b/virtinst/cli.py index 7df2e365f..fa6145e8c 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -2693,6 +2693,12 @@ class ParserIOThreads(VirtCLIParser): find_inst_cb=cls.defaultiothread_find_inst_cb) cls.add_arg("defaultiothread.thread_pool_max", "thread_pool_max", find_inst_cb=cls.defaultiothread_find_inst_cb) + cls.add_arg("iothreadids.iothread[0-9]*.poll.max", + "max", find_inst_cb=cls.iothreads_find_inst_cb) + cls.add_arg("iothreadids.iothread[0-9]*.poll.grow", + "grow", find_inst_cb=cls.iothreads_find_inst_cb) + cls.add_arg("iothreadids.iothread[0-9]*.poll.shrink", + "shrink", find_inst_cb=cls.iothreads_find_inst_cb) ################### diff --git a/virtinst/guest.py b/virtinst/guest.py index 567359073..ae76a1287 100644 --- a/virtinst/guest.py +++ b/virtinst/guest.py @@ -72,6 +72,9 @@ class _IOThreadID(XMLBuilder): id = XMLProperty("./@id", is_int=True) thread_pool_min = XMLProperty("./@thread_pool_min", is_int=True) thread_pool_max = XMLProperty("./@thread_pool_max", is_int=True) + max = XMLProperty("./poll/@max", is_int=True) + grow = XMLProperty("./poll/@grow", is_int=True) + shrink = XMLProperty("./poll/@shrink", is_int=True) class _DefaultIOThread(XMLBuilder): ++++++ 025-test_cli-Fix-a-pycodestyle-E261-issue.patch ++++++ Subject: test_cli: Fix a pycodestyle E261 issue From: Lin Ma l...@suse.de Mon Dec 30 19:38:49 2024 +0800 Date: Wed Jan 29 10:48:57 2025 +0100: Git: 006ce4157665fd183ddb4a933a2c94de217302d4 root@localhost:~ # meson test -C build ==================================== 1/3 ========================= test: pycodestyle start time: 14:08:14 duration: 5.80s result: exit status 1 command: MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:...... \ /usr/bin/pycodestyle \ --config setup.cfg --format pylint tests virtinst virtManager ----------------------------------- stdout ----------------------------------- tests/test_cli.py:1157: [E261] at least two spaces before inline comment ...... Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/test_cli.py b/tests/test_cli.py index 7f984cf1b..5fc0a1c2f 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -1153,7 +1153,7 @@ c.add_compare("--os-variant http://fedoraproject.org/fedora/20 --disk %(EXISTIMG c.add_compare("--cdrom %(EXISTIMG2)s --file %(EXISTIMG1)s --os-variant win2k3 --sound --controller usb", "kvm-win2k3-cdrom") # HVM windows install with disk c.add_compare("--os-variant name=ubuntusaucy --nodisks --boot cdrom --virt-type qemu --cpu Penryn --input tablet --boot uefi --graphics vnc", "qemu-plain") # plain qemu c.add_compare("--os-variant fedora20 --nodisks --boot network --graphics default --arch i686 --rng none", "qemu-32-on-64", prerun_check=has_old_osinfo) # 32 on 64 -c.add_compare("--osinfo linux2020 --pxe --cpu maximum", "linux2020", prerun_check=no_osinfo_linux2020_virtio) # also --cpu maximum +c.add_compare("--osinfo linux2020 --pxe --cpu maximum", "linux2020", prerun_check=no_osinfo_linux2020_virtio) # also --cpu maximum c.add_compare("--check disk_size=off --osinfo win11 --cdrom %(EXISTIMG1)s", "win11", prerun_check=no_osinfo_win11) c.add_compare("--check disk_size=off --osinfo win11 --cdrom %(EXISTIMG1)s --boot uefi=off", "win11-no-uefi") c.add_compare("--osinfo generic --disk none --location %(ISO-NO-OS)s,kernel=frib.img,initrd=/frob.img", "location-manual-kernel", prerun_check=missing_xorriso) # --location with an unknown ISO but manually specified kernel paths ++++++ 026-gitignore-Ignore-coverage.xml.patch ++++++ Subject: .gitignore: Ignore coverage.xml From: Lin Ma l...@suse.de Mon Dec 30 19:41:07 2024 +0800 Date: Wed Jan 29 10:48:57 2025 +0100: Git: 926385994486fde63dc092814ab793c53ed3f275 Signed-off-by: Lin Ma <l...@suse.de> diff --git a/.gitignore b/.gitignore index 89ad8a166..d303c1afb 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ /.coverage /data/gschemas.compiled + +/coverage.xml ++++++ 027-cli-Add-tpm-backend.profile.source-removeDisabled-support.patch ++++++ Subject: cli: Add --tpm backend.profile.{source,removeDisabled} support From: Lin Ma l...@suse.de Mon Dec 30 19:44:58 2024 +0800 Date: Wed Jan 29 10:48:57 2025 +0100: Git: f278c89b49bc4d1e46c8149fb0f1674d801b51c5 Swtpm since v0.10 supports to configure a TPM2 with a profile from file. eg: root@localhost:~ # cat /etc/swtpm/profiles/mytest.json { "Name": "custom:test", "Algorithms":"rsa,rsa-min-size=1024,......" } root@localhost:~ # swtpm_setup --tpm2 --print-profiles | jq { "local": [ { "Name": "mytest", "Algorithms": "rsa,rsa-min-size=1024,......" } ], "builtin": [ { "Name": "default-v1", "StateFormatLevel": 7, "Commands": "......", "Algorithms": "rsa,rsa-min-size=1024,......", "Description": "......" }, { "Name": "null", "StateFormatLevel": 1, "Commands": "......", "Algorithms": "rsa,rsa-min-size=1024,......", "Description": "......" }, { "Name": "custom", "StateFormatLevel": 2, "Commands": "......", "Algorithms": "rsa,rsa-min-size=1024,......", "Description": "......" } ] } Libvirt supports it since v10.10.0 Let's add this feature into virt-install, eg: root@localhost:~ # virt-install \ ......\ --tpm model=tpm-tis,backend.version=2.0,\ backend.profile.source=local:mytest,backend.profile.removeDisabled=check Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml index a841a380f..e34b487c3 100644 --- a/tests/data/cli/compare/virt-install-many-devices.xml +++ b/tests/data/cli/compare/virt-install-many-devices.xml @@ -791,6 +791,7 @@ <tpm model="tpm-tis"> <backend type="emulator" version="2.0" debug="3"> <source type="dir" path="/some/dir"/> + <profile source="local:mytest" removeDisabled="check"/> </backend> </tpm> <graphics type="sdl" display=":3.4" xauth="/tmp/.Xauthority"> diff --git a/tests/test_cli.py b/tests/test_cli.py index 5fc0a1c2f..4e0b2d8c0 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -800,7 +800,7 @@ source.reservations.managed=no,source.reservations.source.type=unix,source.reser --tpm passthrough,model=tpm-crb,path=/dev/tpm0,backend.encryption.secret=11111111-2222-3333-4444-5555555555,backend.persistent_state=yes,backend.active_pcr_banks.sha1=on,backend.active_pcr_banks.sha256=yes,backend.active_pcr_banks.sha384=yes,backend.active_pcr_banks.sha512=yes,version=2.0 ---tpm model=tpm-tis,backend.type=emulator,backend.version=2.0,backend.debug=3,backend.source.type=dir,backend.source.path=/some/dir +--tpm model=tpm-tis,backend.type=emulator,backend.version=2.0,backend.debug=3,backend.source.type=dir,backend.source.path=/some/dir,backend.profile.source=local:mytest,backend.profile.removeDisabled=check --watchdog ib700,action=pause diff --git a/virtinst/cli.py b/virtinst/cli.py index fa6145e8c..d8926cdad 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -4370,6 +4370,8 @@ class ParserTPM(VirtCLIParser): cls.add_arg("backend.debug", "debug") cls.add_arg("backend.source.type", "source_type") cls.add_arg("backend.source.path", "source_path") + cls.add_arg("backend.profile.source", "profile_source") + cls.add_arg("backend.profile.removeDisabled", "profile_removeDisabled") cls.add_arg("backend.active_pcr_banks.sha1", "active_pcr_banks.sha1", is_onoff=True) diff --git a/virtinst/devices/tpm.py b/virtinst/devices/tpm.py index 8b4023502..79ae224e8 100644 --- a/virtinst/devices/tpm.py +++ b/virtinst/devices/tpm.py @@ -44,6 +44,8 @@ class DeviceTpm(Device): debug = XMLProperty("./backend/@debug") source_type = XMLProperty("./backend/source/@type") source_path = XMLProperty("./backend/source/@path") + profile_source = XMLProperty("./backend/profile/@source") + profile_removeDisabled = XMLProperty("./backend/profile/@removeDisabled") active_pcr_banks = XMLChildProperty(_ActivePCRBanks, is_single=True, relative_xpath="./backend") ++++++ 028-cli-Add-nvram.templateFormat-to-indicate-template-format.patch ++++++ Subject: cli: Add nvram.templateFormat to indicate template format From: Lin Ma l...@suse.de Mon Dec 30 19:48:04 2024 +0800 Date: Wed Jan 29 10:48:57 2025 +0100: Git: dc89a02c75ca7d178c5332fc495a1fceb3732d76 Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml index e34b487c3..76e044731 100644 --- a/tests/data/cli/compare/virt-install-many-devices.xml +++ b/tests/data/cli/compare/virt-install-many-devices.xml @@ -108,6 +108,8 @@ <feature enabled="yes" name="secure-boot"/> <feature enabled="no" name="enrolled-keys"/> </firmware> + <loader type="pflash">CODE.fd</loader> + <nvram template="VARS.fd" templateFormat="raw"/> <initarg>foo=bar</initarg> <initarg>baz=woo</initarg> <initenv name="MYENV">some value</initenv> diff --git a/tests/test_cli.py b/tests/test_cli.py index 4e0b2d8c0..8bfccea18 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -500,7 +500,8 @@ bios.useserial=no,bios.rebootTimeout=60,cmdline=root=/foo,\ bootmenu.enable=yes,bootmenu.timeout=5000,\ acpi.table=/path/to/slic.dat,acpi.table.type=slic,\ initenv0.name=MYENV,initenv0='some value',initenv1.name=FOO,initenv1=bar,\ -initdir=/my/custom/cwd,inituser=tester,initgroup=1000 +initdir=/my/custom/cwd,inituser=tester,initgroup=1000,\ +loader_type=pflash,loader=CODE.fd,nvram.template=VARS.fd,nvram.templateFormat=raw --vcpus vcpus=9,vcpu.placement=static,\ diff --git a/virtinst/cli.py b/virtinst/cli.py index d8926cdad..6f633b933 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -2950,6 +2950,7 @@ class ParserBoot(VirtCLIParser): cls.add_arg("bios.useserial", "bios_useserial", is_onoff=True) cls.add_arg("bios.rebootTimeout", "bios_rebootTimeout") cls.add_arg("smbios.mode", "smbios_mode") + cls.add_arg("nvram.templateFormat", "nvram_templateFormat") # Direct kernel boot options cls.add_arg("kernel", "kernel") diff --git a/virtinst/domain/os.py b/virtinst/domain/os.py index 9afcbb910..45d913450 100644 --- a/virtinst/domain/os.py +++ b/virtinst/domain/os.py @@ -126,6 +126,7 @@ class DomainOs(XMLBuilder): bios_useserial = XMLProperty("./bios/@useserial", is_yesno=True) bios_rebootTimeout = XMLProperty("./bios/@rebootTimeout", is_int=True) smbios_mode = XMLProperty("./smbios/@mode") + nvram_templateFormat = XMLProperty("./nvram/@templateFormat") # Host bootloader options # Since the elements for a host bootloader are actually directly under ++++++ 029-cli-Add-features-hyperv.xmm_input.state-on-off.patch ++++++ Subject: cli: Add --features hyperv.xmm_input.state=on/off From: Lin Ma l...@suse.de Mon Dec 30 19:49:47 2024 +0800 Date: Wed Jan 29 10:48:57 2025 +0100: Git: 5617330513e951643d69afd4c0cfbd230f1d2983 Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml index 76e044731..eeb964620 100644 --- a/tests/data/cli/compare/virt-install-many-devices.xml +++ b/tests/data/cli/compare/virt-install-many-devices.xml @@ -154,6 +154,7 @@ <ipi state="on"/> <evmcs state="on"/> <avic state="on"/> + <xmm_input state="on"/> </hyperv> <vmport state="off"/> <kvm> diff --git a/tests/test_cli.py b/tests/test_cli.py index 8bfccea18..76768dfe0 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -581,6 +581,7 @@ hyperv.tlbflush.state=on,\ hyperv.ipi.state=on,\ hyperv.evmcs.state=on,\ hyperv.avic.state=on,\ +hyperv.xmm_input.state=on,\ kvm.pv-ipi.state=on,\ msrs.unknown=ignore diff --git a/virtinst/cli.py b/virtinst/cli.py index 6f633b933..add19ac09 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -3094,6 +3094,7 @@ class ParserFeatures(VirtCLIParser): cls.add_arg("hyperv.ipi.state", "hyperv_ipi", is_onoff=True) cls.add_arg("hyperv.evmcs.state", "hyperv_evmcs", is_onoff=True) cls.add_arg("hyperv.avic.state", "hyperv_avic", is_onoff=True) + cls.add_arg("hyperv.xmm_input.state", "hyperv_xmm_input", is_onoff=True) cls.add_arg("vmport.state", "vmport", is_onoff=True) cls.add_arg("kvm.hidden.state", "kvm_hidden", is_onoff=True) diff --git a/virtinst/domain/features.py b/virtinst/domain/features.py index 93a576360..ae3b23d98 100644 --- a/virtinst/domain/features.py +++ b/virtinst/domain/features.py @@ -43,6 +43,7 @@ class DomainFeatures(XMLBuilder): hyperv_ipi = XMLProperty("./hyperv/ipi/@state", is_onoff=True) hyperv_evmcs = XMLProperty("./hyperv/evmcs/@state", is_onoff=True) hyperv_avic = XMLProperty("./hyperv/avic/@state", is_onoff=True) + hyperv_xmm_input = XMLProperty("./hyperv/xmm_input/@state", is_onoff=True) vmport = XMLProperty("./vmport/@state", is_onoff=True) kvm_hidden = XMLProperty("./kvm/hidden/@state", is_onoff=True) ++++++ 030-cli-Add-features-hyperv.emsr_bitmap.state-on-off.patch ++++++ Subject: cli: Add --features hyperv.emsr_bitmap.state=on/off From: Lin Ma l...@suse.de Mon Dec 30 19:50:21 2024 +0800 Date: Wed Jan 29 10:48:57 2025 +0100: Git: 1f43c0d1d9d7128d24f5b6628b5f01e920a9f1fa Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml index eeb964620..cea5b3890 100644 --- a/tests/data/cli/compare/virt-install-many-devices.xml +++ b/tests/data/cli/compare/virt-install-many-devices.xml @@ -155,6 +155,7 @@ <evmcs state="on"/> <avic state="on"/> <xmm_input state="on"/> + <emsr_bitmap state="on"/> </hyperv> <vmport state="off"/> <kvm> diff --git a/tests/test_cli.py b/tests/test_cli.py index 76768dfe0..69f48df3a 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -582,6 +582,7 @@ hyperv.ipi.state=on,\ hyperv.evmcs.state=on,\ hyperv.avic.state=on,\ hyperv.xmm_input.state=on,\ +hyperv.emsr_bitmap.state=on,\ kvm.pv-ipi.state=on,\ msrs.unknown=ignore diff --git a/virtinst/cli.py b/virtinst/cli.py index add19ac09..dcd2b8c8b 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -3095,6 +3095,7 @@ class ParserFeatures(VirtCLIParser): cls.add_arg("hyperv.evmcs.state", "hyperv_evmcs", is_onoff=True) cls.add_arg("hyperv.avic.state", "hyperv_avic", is_onoff=True) cls.add_arg("hyperv.xmm_input.state", "hyperv_xmm_input", is_onoff=True) + cls.add_arg("hyperv.emsr_bitmap.state", "hyperv_emsr_bitmap", is_onoff=True) cls.add_arg("vmport.state", "vmport", is_onoff=True) cls.add_arg("kvm.hidden.state", "kvm_hidden", is_onoff=True) diff --git a/virtinst/domain/features.py b/virtinst/domain/features.py index ae3b23d98..cba3b710d 100644 --- a/virtinst/domain/features.py +++ b/virtinst/domain/features.py @@ -44,6 +44,7 @@ class DomainFeatures(XMLBuilder): hyperv_evmcs = XMLProperty("./hyperv/evmcs/@state", is_onoff=True) hyperv_avic = XMLProperty("./hyperv/avic/@state", is_onoff=True) hyperv_xmm_input = XMLProperty("./hyperv/xmm_input/@state", is_onoff=True) + hyperv_emsr_bitmap = XMLProperty("./hyperv/emsr_bitmap/@state", is_onoff=True) vmport = XMLProperty("./vmport/@state", is_onoff=True) kvm_hidden = XMLProperty("./kvm/hidden/@state", is_onoff=True) ++++++ 031-cli-Add-features-hyperv.tlbflush.direct.state-on-off.patch ++++++ Subject: cli: Add --features hyperv.tlbflush.direct.state=on/off From: Lin Ma l...@suse.de Mon Dec 30 19:50:40 2024 +0800 Date: Wed Jan 29 10:48:57 2025 +0100: Git: 5f2a2dbd0a2ccecd76710067854c07c1ebd5ea09 Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml index cea5b3890..996873a8a 100644 --- a/tests/data/cli/compare/virt-install-many-devices.xml +++ b/tests/data/cli/compare/virt-install-many-devices.xml @@ -150,7 +150,9 @@ <reset state="on"/> <frequencies state="on"/> <reenlightenment state="on"/> - <tlbflush state="on"/> + <tlbflush state="on"> + <direct state="on"/> + </tlbflush> <ipi state="on"/> <evmcs state="on"/> <avic state="on"/> diff --git a/tests/test_cli.py b/tests/test_cli.py index 69f48df3a..18a76612a 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -578,6 +578,7 @@ hyperv.reset.state=off,hyperv_reset=on,\ hyperv.frequencies.state=on,\ hyperv.reenlightenment.state=on,\ hyperv.tlbflush.state=on,\ +hyperv.tlbflush.direct.state=on,\ hyperv.ipi.state=on,\ hyperv.evmcs.state=on,\ hyperv.avic.state=on,\ diff --git a/virtinst/cli.py b/virtinst/cli.py index dcd2b8c8b..5da607be4 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -3091,6 +3091,7 @@ class ParserFeatures(VirtCLIParser): cls.add_arg("hyperv.frequencies.state", "hyperv_frequencies", is_onoff=True) cls.add_arg("hyperv.reenlightenment.state", "hyperv_reenlightenment", is_onoff=True) cls.add_arg("hyperv.tlbflush.state", "hyperv_tlbflush", is_onoff=True) + cls.add_arg("hyperv.tlbflush.direct.state", "hyperv_tlbflush_direct", is_onoff=True) cls.add_arg("hyperv.ipi.state", "hyperv_ipi", is_onoff=True) cls.add_arg("hyperv.evmcs.state", "hyperv_evmcs", is_onoff=True) cls.add_arg("hyperv.avic.state", "hyperv_avic", is_onoff=True) diff --git a/virtinst/domain/features.py b/virtinst/domain/features.py index cba3b710d..d001ddfa1 100644 --- a/virtinst/domain/features.py +++ b/virtinst/domain/features.py @@ -40,6 +40,7 @@ class DomainFeatures(XMLBuilder): hyperv_frequencies = XMLProperty("./hyperv/frequencies/@state", is_onoff=True) hyperv_reenlightenment = XMLProperty("./hyperv/reenlightenment/@state", is_onoff=True) hyperv_tlbflush = XMLProperty("./hyperv/tlbflush/@state", is_onoff=True) + hyperv_tlbflush_direct = XMLProperty("./hyperv/tlbflush/direct/@state", is_onoff=True) hyperv_ipi = XMLProperty("./hyperv/ipi/@state", is_onoff=True) hyperv_evmcs = XMLProperty("./hyperv/evmcs/@state", is_onoff=True) hyperv_avic = XMLProperty("./hyperv/avic/@state", is_onoff=True) ++++++ 032-cli-Add-features-hyperv.tlbflush.extended.state-on-off.patch ++++++ Subject: cli: Add --features hyperv.tlbflush.extended.state=on/off From: Lin Ma l...@suse.de Mon Dec 30 19:50:50 2024 +0800 Date: Wed Jan 29 10:48:57 2025 +0100: Git: 81c873ba36b58b8598f53b8c972dc9821ab6d423 Signed-off-by: Lin Ma <l...@suse.de> diff --git a/tests/data/cli/compare/virt-install-many-devices.xml b/tests/data/cli/compare/virt-install-many-devices.xml index 996873a8a..cbb186c92 100644 --- a/tests/data/cli/compare/virt-install-many-devices.xml +++ b/tests/data/cli/compare/virt-install-many-devices.xml @@ -152,6 +152,7 @@ <reenlightenment state="on"/> <tlbflush state="on"> <direct state="on"/> + <extended state="on"/> </tlbflush> <ipi state="on"/> <evmcs state="on"/> diff --git a/tests/test_cli.py b/tests/test_cli.py index 18a76612a..a2eb1365e 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -579,6 +579,7 @@ hyperv.frequencies.state=on,\ hyperv.reenlightenment.state=on,\ hyperv.tlbflush.state=on,\ hyperv.tlbflush.direct.state=on,\ +hyperv.tlbflush.extended.state=on,\ hyperv.ipi.state=on,\ hyperv.evmcs.state=on,\ hyperv.avic.state=on,\ diff --git a/virtinst/cli.py b/virtinst/cli.py index 5da607be4..57d5608c6 100644 --- a/virtinst/cli.py +++ b/virtinst/cli.py @@ -3092,6 +3092,7 @@ class ParserFeatures(VirtCLIParser): cls.add_arg("hyperv.reenlightenment.state", "hyperv_reenlightenment", is_onoff=True) cls.add_arg("hyperv.tlbflush.state", "hyperv_tlbflush", is_onoff=True) cls.add_arg("hyperv.tlbflush.direct.state", "hyperv_tlbflush_direct", is_onoff=True) + cls.add_arg("hyperv.tlbflush.extended.state", "hyperv_tlbflush_extended", is_onoff=True) cls.add_arg("hyperv.ipi.state", "hyperv_ipi", is_onoff=True) cls.add_arg("hyperv.evmcs.state", "hyperv_evmcs", is_onoff=True) cls.add_arg("hyperv.avic.state", "hyperv_avic", is_onoff=True) diff --git a/virtinst/domain/features.py b/virtinst/domain/features.py index d001ddfa1..99ed43393 100644 --- a/virtinst/domain/features.py +++ b/virtinst/domain/features.py @@ -41,6 +41,7 @@ class DomainFeatures(XMLBuilder): hyperv_reenlightenment = XMLProperty("./hyperv/reenlightenment/@state", is_onoff=True) hyperv_tlbflush = XMLProperty("./hyperv/tlbflush/@state", is_onoff=True) hyperv_tlbflush_direct = XMLProperty("./hyperv/tlbflush/direct/@state", is_onoff=True) + hyperv_tlbflush_extended = XMLProperty("./hyperv/tlbflush/extended/@state", is_onoff=True) hyperv_ipi = XMLProperty("./hyperv/ipi/@state", is_onoff=True) hyperv_evmcs = XMLProperty("./hyperv/evmcs/@state", is_onoff=True) hyperv_avic = XMLProperty("./hyperv/avic/@state", is_onoff=True) ++++++ 033-createvm-prioritize-riscv64.patch ++++++ Subject: createvm: prioritize riscv64 From: Heinrich Schuchardt heinrich.schucha...@canonical.com Tue Jan 21 22:52:40 2025 +0100 Date: Mon Mar 3 10:13:14 2025 -0500: Git: 6c6c39be2fc26713b9756e668af7ab8106e7acae As all major distros support the riscv64 architecture, add it to the list of prioritized architectures. This will move it up in the architecture drop-down menu and thereby easier to find when creating a new VM. Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> diff --git a/virtManager/createvm.py b/virtManager/createvm.py index e37921603..1a8c6b4a1 100644 --- a/virtManager/createvm.py +++ b/virtManager/createvm.py @@ -792,7 +792,7 @@ class vmmCreateVM(vmmGObjectUI): archs.sort() prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le", - "s390x"] + "riscv64", "s390x"] if self.conn.caps.host.cpu.arch not in prios: prios = [] # pragma: no cover for p in prios[:]: ++++++ 034-tests-uitests-handle-linux2020-going-EOL.patch ++++++ Subject: tests: uitests: handle linux2020 going EOL From: Cole Robinson crobi...@redhat.com Mon Mar 3 10:38:22 2025 -0500 Date: Mon Mar 3 10:39:12 2025 -0500: Git: 6f188482b2e2e1c2d3ee1658b81fdd95bd497897 Signed-off-by: Cole Robinson <crobi...@redhat.com> diff --git a/tests/uitests/test_createvm.py b/tests/uitests/test_createvm.py index 1242a0473..053a94066 100644 --- a/tests/uitests/test_createvm.py +++ b/tests/uitests/test_createvm.py @@ -464,7 +464,8 @@ def testNewKVMQ35Tweaks(app): newvm.find("import-entry").set_text("/pool-dir/testvol1.img") newvm.find("oslist-entry").set_text("fribfrob") popover = newvm.find("oslist-popover") - popover.find_fuzzy("linux2020").click() + osname = "linux2022" + popover.find_fuzzy(osname).click() _forward(newvm) _forward(newvm) @@ -472,7 +473,7 @@ def testNewKVMQ35Tweaks(app): # hit some code paths elsewhere newvm.find_fuzzy("Customize", "check").click() newvm.find_fuzzy("Finish", "button").click() - vmname = "linux2020" + vmname = osname details = app.find_details_window(vmname) appl = details.find("config-apply") ++++++ revert-363fca41-virt-install-Require-osinfo-for-non-x86-HVM-case-too.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.042664072 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.042664072 +0100 @@ -33,7 +33,7 @@ =================================================================== --- virt-manager-5.0.0.orig/tests/test_cli.py +++ virt-manager-5.0.0/tests/test_cli.py -@@ -1246,7 +1246,6 @@ c.add_compare("--connect %(URI-KVM-ARMV7 +@@ -1251,7 +1251,6 @@ c.add_compare("--connect %(URI-KVM-ARMV7 ################# c.add_valid("--arch aarch64 --osinfo fedora19 --nodisks --pxe --connect " + utils.URIs.kvm_x86_nodomcaps, grep="Libvirt version does not support UEFI") # attempt to default to aarch64 UEFI, but it fails, but should only print warnings ++++++ virtinst-add-sle16-detection-support.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.094666247 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.098666415 +0100 @@ -1,7 +1,5 @@ -Index: virt-manager-5.0.0/virtinst/install/urldetect.py -=================================================================== ---- virt-manager-5.0.0.orig/virtinst/install/urldetect.py -+++ virt-manager-5.0.0/virtinst/install/urldetect.py +--- virt-manager-5.0.0/virtinst/install/urldetect.py.orig 2025-01-17 13:13:11.582745934 -0700 ++++ virt-manager-5.0.0/virtinst/install/urldetect.py 2025-01-17 13:15:08.122748711 -0700 @@ -279,6 +279,10 @@ class _SUSEContent(object): else: if "SUSE SL Micro" in self.product_name: @@ -13,21 +11,4 @@ else: sle_version = self.product_name.strip().rsplit(' ')[4] if len(self.product_name.strip().rsplit(' ')) > 5 and not " Micro " in self.product_name: -@@ -521,10 +525,16 @@ class _SuseDistro(_RHELDistro): - content_str = cache.acquire_file_content("content") - if content_str is None: - products_str = cache.acquire_file_content("media.1/products") -+ if not products_str: -+ # For SLES16 install iso (not agama) -+ products_str = cache.acquire_file_content("install/media.1/products") - if products_str: - products_str = products_str.replace('/', ' ,', 1) - products_str = "DISTRO " + products_str.replace('-', ' ') - media_str = cache.acquire_file_content("media.1/media") -+ if not media_str: -+ # For SLES16 install iso (not agama) -+ media_str = cache.acquire_file_content("install/media.1/media") - if media_str: - media_arch = "x86_64" - if 'aarch64' in media_str: ++++++ virtinst-drop-removeprefix-usage.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.122667419 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.126667586 +0100 @@ -1,8 +1,10 @@ References: bsc#1234215 ---- virt-manager-5.0.0/virtinst/devices/disk.py.orig 2024-12-05 07:15:41.023613127 -0700 -+++ virt-manager-5.0.0/virtinst/devices/disk.py 2024-12-05 07:22:16.587622553 -0700 -@@ -677,7 +677,10 @@ class DeviceDisk(Device): +Index: virt-manager-5.0.0/virtinst/devices/disk.py +=================================================================== +--- virt-manager-5.0.0.orig/virtinst/devices/disk.py ++++ virt-manager-5.0.0/virtinst/devices/disk.py +@@ -678,7 +678,10 @@ class DeviceDisk(Device): # Some file managers use 'file://' when passing files to # virt-manager, we need to strip it from the newpath. if newpath is not None: ++++++ virtinst-s390x-disable-graphics.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.150668590 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.154668757 +0100 @@ -1,10 +1,10 @@ Reference: bnc#869024 Disable graphics on s390x -Index: virt-manager-4.2.0/virtinst/guest.py +Index: virt-manager-5.0.0/virtinst/guest.py =================================================================== ---- virt-manager-4.2.0.orig/virtinst/guest.py -+++ virt-manager-4.2.0/virtinst/guest.py -@@ -208,7 +208,10 @@ class Guest(XMLBuilder): +--- virt-manager-5.0.0.orig/virtinst/guest.py ++++ virt-manager-5.0.0/virtinst/guest.py +@@ -211,7 +211,10 @@ class Guest(XMLBuilder): self.skip_default_channel = False self.skip_default_sound = False self.skip_default_usbredir = False @@ -16,7 +16,7 @@ self.skip_default_rng = False self.skip_default_tpm = False self.skip_default_input = False -@@ -361,7 +364,7 @@ class Guest(XMLBuilder): +@@ -364,7 +367,7 @@ class Guest(XMLBuilder): if not os_support: return False @@ -25,7 +25,7 @@ return True return False # pragma: no cover -@@ -1149,7 +1152,7 @@ class Guest(XMLBuilder): +@@ -1152,7 +1155,7 @@ class Guest(XMLBuilder): self.add_device(dev) def _add_default_video_device(self): ++++++ virtinst-set-qemu-emulator.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.178669761 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.182669929 +0100 @@ -1,11 +1,11 @@ Use the correct qemu emulator based on the architecture. We want to get away from using the old qemu-dm emulator for Xen HVM guests so default to qemu-system-i386. -Index: virt-manager-4.2.0/virtinst/guest.py +Index: virt-manager-5.0.0/virtinst/guest.py =================================================================== ---- virt-manager-4.2.0.orig/virtinst/guest.py -+++ virt-manager-4.2.0/virtinst/guest.py -@@ -991,6 +991,10 @@ class Guest(XMLBuilder): +--- virt-manager-5.0.0.orig/virtinst/guest.py ++++ virt-manager-5.0.0/virtinst/guest.py +@@ -994,6 +994,10 @@ class Guest(XMLBuilder): self._add_default_tpm() self.clock.set_defaults(self) ++++++ virtinst-smbios-unsupported-for-xenpv.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.194670431 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.202670765 +0100 @@ -1,10 +1,10 @@ References: bsc#1180069 -Index: virt-manager-4.2.0/virtinst/guest.py +Index: virt-manager-5.0.0/virtinst/guest.py =================================================================== ---- virt-manager-4.2.0.orig/virtinst/guest.py -+++ virt-manager-4.2.0/virtinst/guest.py -@@ -737,6 +737,8 @@ class Guest(XMLBuilder): +--- virt-manager-5.0.0.orig/virtinst/guest.py ++++ virt-manager-5.0.0/virtinst/guest.py +@@ -740,6 +740,8 @@ class Guest(XMLBuilder): self.type != "kvm"): log.warning( # pragma: no cover "KVM acceleration not available, using '%s'", self.type) ++++++ virtinst-use-qemu-for-cdrom-device.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.214671268 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.218671435 +0100 @@ -2,11 +2,11 @@ When the device added is a cdrom device (/dev/sr0), don't use "phy" as the driver name but instead use "qemu". -Index: virt-manager-4.2.0/virtinst/devices/disk.py +Index: virt-manager-5.0.0/virtinst/devices/disk.py =================================================================== ---- virt-manager-4.2.0.orig/virtinst/devices/disk.py -+++ virt-manager-4.2.0/virtinst/devices/disk.py -@@ -566,7 +566,8 @@ class DeviceDisk(Device): +--- virt-manager-5.0.0.orig/virtinst/devices/disk.py ++++ virt-manager-5.0.0/virtinst/devices/disk.py +@@ -567,7 +567,8 @@ class DeviceDisk(Device): # Recommended xen defaults from here: # https://bugzilla.redhat.com/show_bug.cgi?id=1171550#c9 # If type block, use name=phy. Otherwise do the same as qemu ++++++ virtinst-xen-drive-type.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.238672272 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.242672439 +0100 @@ -2,11 +2,11 @@ Virt-manager on Xen doesn't fill in any type thereby defaulting to 'raw'. This patch will generate the correct XML on Xen. -Index: virt-manager-4.2.0/virtinst/devices/disk.py +Index: virt-manager-5.0.0/virtinst/devices/disk.py =================================================================== ---- virt-manager-4.2.0.orig/virtinst/devices/disk.py -+++ virt-manager-4.2.0/virtinst/devices/disk.py -@@ -583,6 +583,10 @@ class DeviceDisk(Device): +--- virt-manager-5.0.0.orig/virtinst/devices/disk.py ++++ virt-manager-5.0.0/virtinst/devices/disk.py +@@ -584,6 +584,10 @@ class DeviceDisk(Device): https://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00675.html """ if self.driver_name != self.DRIVER_NAME_QEMU: ++++++ virtinst-xenbus-disk-index-fix.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.254672941 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.258673108 +0100 @@ -6,11 +6,11 @@ passed to qemu where it error'ed out with the disks having the same index (in this case both are 0). -Index: virt-manager-4.2.0/virtinst/devices/disk.py +Index: virt-manager-5.0.0/virtinst/devices/disk.py =================================================================== ---- virt-manager-4.2.0.orig/virtinst/devices/disk.py -+++ virt-manager-4.2.0/virtinst/devices/disk.py -@@ -941,6 +941,17 @@ class DeviceDisk(Device): +--- virt-manager-5.0.0.orig/virtinst/devices/disk.py ++++ virt-manager-5.0.0/virtinst/devices/disk.py +@@ -942,6 +942,17 @@ class DeviceDisk(Device): :returns: generated target """ prefix, maxnode = self.get_target_prefix() @@ -28,7 +28,7 @@ skip_targets = [t for t in skip_targets if t and t.startswith(prefix)] skip_targets.sort() -@@ -948,11 +959,18 @@ class DeviceDisk(Device): +@@ -949,11 +960,18 @@ class DeviceDisk(Device): first_found = None for i in range(maxnode): ++++++ virtman-add-sev-memory-support.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.274673778 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.278673945 +0100 @@ -119,7 +119,7 @@ self._redefine_xmlobj(guest) -@@ -1320,6 +1338,9 @@ class vmmDomain(vmmLibvirtObject): +@@ -1319,6 +1337,9 @@ class vmmDomain(vmmLibvirtObject): def get_description(self): return self.get_xmlobj().description ++++++ virtman-fix-restore-vm-menu-selection.patch ++++++ --- /var/tmp/diff_new_pack.NicQUf/_old 2025-03-16 18:57:52.314675451 +0100 +++ /var/tmp/diff_new_pack.NicQUf/_new 2025-03-16 18:57:52.318675618 +0100 @@ -7,7 +7,7 @@ =================================================================== --- virt-manager-5.0.0.orig/virtManager/object/domain.py +++ virt-manager-5.0.0/virtManager/object/domain.py -@@ -1613,7 +1613,8 @@ class vmmDomain(vmmLibvirtObject): +@@ -1612,7 +1612,8 @@ class vmmDomain(vmmLibvirtObject): return (self.is_stoppable() or self.status() in [libvirt.VIR_DOMAIN_CRASHED]) def is_runable(self):