Thanks @paelzer for this bug report !
I took a look and here is my observation:
I can confirm that we have indeed a VM migration issue to Questing
qemu-10.1/libvirt-11.6 from
older couple of qemu/libvirt versions. As of now, I use Plucky as the start
host of the migration
(with qemu-9.2/libvirt 11.0) but other Ubuntnu releases are also affected as
@cpaelzer already pointed out.
The issue is currently observed on a HPE ProLiant DL360 Gen9 (Intel CPU
Haswell) but it should
be generalized to other Intel CPUs recent enough with either pdcm or
arch-capabilities available.
Here is the software setup:
- Host HPE Proliant DL360 + Ubuntu Plucky 25.04
- On that host, a container running Ubuntu Questing 25.10
+ with ssh keys deploy to the container for SSH access
+ potentially with /etc/hosts properly configured if necessary (if virsh
migrate complains about
hostname resolution)
$ cat guest.xml
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<name>test-migration</name>
<memory unit='GiB'>2</memory>
<os>
<type arch='x86_64' machine='q35'>hvm</type>
</os>
<cpu mode='host-model' check='partial'/>
</domain>
$ virsh define guest.xml
$ virsh start test-migration
$ virsh migrate --unsafe --live test-migration qemu+ssh://10.105.100.156/system
(10.105.100.156 is the IP of the Questing container)
You will get this error:
error: operation failed: guest CPU doesn't match specification: missing
features: pdcm,arch-capabilities
Based on my current understanding, the issue can be broken down to 2
separated issues, each one is related to 1 missing feature : pdcm, arch-
capabilities
Indeed, on the same host with Plucky we can see that both features are
available. It can be observed via several ways:
- virsh dumpxml test-migration
- cpuid (and look for PDCM and ARCH)
However, on the same host with Questing, these features somehow are marked as
unavailable by the couple QEMU/libvirt.
This can be proven if you go to the container and create the VM:
$ virsh define guest.xml
$ virsh start test-migration
$ virsh dumpxml test-migration | grep -E "pdcm|arch-capabilities"
<feature policy='disable' name='pdcm'/>
We can see that arch-capabilities not showing up and pdcm is marked
"disable".
arch-capabilities
-----------------
I took a look at the QEMU source code and identified this recent commit
in the QEMU v10.1:
target/i386: do not expose ARCH_CAPABILITIES on AMD CPU
https://github.com/qemu/qemu/commit/d3a24134e37d57abd3e7445842cda2717f49e96d
When I revert back this commit, the error about arch-capabilities is
gone.
$ virsh migrate --unsafe --live test-migration qemu+ssh://10.105.100.156/system
error: operation failed: guest CPU doesn't match specification: missing
features: pdcm
pdcm
----
TODO
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2121787
Title:
Cross release migration broken to questing (q 10.1/ lv 11.6) -
"missing features: pdcm,arch-capabilities"
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2121787/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs