-
Bug
-
Resolution: Unresolved
-
Normal
-
rhel-9.5
-
libvirt-10.9.0-1.el9
-
Yes
-
Moderate
-
rhel-sst-virtualization
-
ssg_virtualization
-
5
-
Dev ack
-
False
-
-
None
-
None
-
Pass
-
None
-
-
x86_64
-
10.9.0
-
None
What were you trying to do that didn't work?
Fail to migrate a vm which used a custom cpu model with updated xml option
Please provide the package NVR for which bug is seen:
libvirt-10.5.0-4.el9.x86_64
How reproducible:
100%
Steps to reproduce
1. use hypervisor-cpu-baseline to get a baseline cpu and caps.xml contains domcapabilities xml from 2 host which have different cpu # virsh hypervisor-cpu-baseline caps.xml <cpu mode='custom' match='exact'> <model fallback='forbid'>Cooperlake</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='vmx'/> <feature policy='require' name='pdcm'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='ss'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='umip'/> <feature policy='require' name='md-clear'/> <feature policy='require' name='flush-l1d'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='invtsc'/> <feature policy='require' name='ibpb'/> <feature policy='require' name='ibrs'/> <feature policy='require' name='amd-stibp'/> <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='tsx-ctrl'/> <feature policy='require' name='sbdr-ssdp-no'/> <feature policy='require' name='psdp-no'/> <feature policy='require' name='fb-clear'/> <feature policy='require' name='gds-no'/> <feature policy='require' name='vmx-ins-outs'/> <feature policy='require' name='vmx-true-ctls'/> <feature policy='require' name='vmx-store-lma'/> <feature policy='require' name='vmx-activity-hlt'/> <feature policy='require' name='vmx-activity-wait-sipi'/> <feature policy='require' name='vmx-vmwrite-vmexit-fields'/> <feature policy='require' name='vmx-apicv-xapic'/> <feature policy='require' name='vmx-ept'/> <feature policy='require' name='vmx-desc-exit'/> <feature policy='require' name='vmx-rdtscp-exit'/> <feature policy='require' name='vmx-apicv-x2apic'/> <feature policy='require' name='vmx-vpid'/> <feature policy='require' name='vmx-wbinvd-exit'/> <feature policy='require' name='vmx-unrestricted-guest'/> <feature policy='require' name='vmx-apicv-register'/> <feature policy='require' name='vmx-apicv-vid'/> <feature policy='require' name='vmx-rdrand-exit'/> <feature policy='require' name='vmx-invpcid-exit'/> <feature policy='require' name='vmx-vmfunc'/> <feature policy='require' name='vmx-shadow-vmcs'/> <feature policy='require' name='vmx-rdseed-exit'/> <feature policy='require' name='vmx-pml'/> <feature policy='require' name='vmx-xsaves'/> <feature policy='require' name='vmx-tsc-scaling'/> <feature policy='require' name='vmx-ept-execonly'/> <feature policy='require' name='vmx-page-walk-4'/> <feature policy='require' name='vmx-ept-2mb'/> <feature policy='require' name='vmx-ept-1gb'/> <feature policy='require' name='vmx-invept'/> <feature policy='require' name='vmx-eptad'/> <feature policy='require' name='vmx-invept-single-context'/> <feature policy='require' name='vmx-invept-all-context'/> <feature policy='require' name='vmx-invvpid'/> <feature policy='require' name='vmx-invvpid-single-addr'/> <feature policy='require' name='vmx-invvpid-all-context'/> <feature policy='require' name='vmx-intr-exit'/> <feature policy='require' name='vmx-nmi-exit'/> <feature policy='require' name='vmx-vnmi'/> <feature policy='require' name='vmx-preemption-timer'/> <feature policy='require' name='vmx-posted-intr'/> <feature policy='require' name='vmx-vintr-pending'/> <feature policy='require' name='vmx-tsc-offset'/> <feature policy='require' name='vmx-hlt-exit'/> <feature policy='require' name='vmx-invlpg-exit'/> <feature policy='require' name='vmx-mwait-exit'/> <feature policy='require' name='vmx-rdpmc-exit'/> <feature policy='require' name='vmx-rdtsc-exit'/> <feature policy='require' name='vmx-cr3-load-noexit'/> <feature policy='require' name='vmx-cr3-store-noexit'/> <feature policy='require' name='vmx-cr8-load-exit'/> <feature policy='require' name='vmx-cr8-store-exit'/> <feature policy='require' name='vmx-flexpriority'/> <feature policy='require' name='vmx-vnmi-pending'/> <feature policy='require' name='vmx-movdr-exit'/> <feature policy='require' name='vmx-io-exit'/> <feature policy='require' name='vmx-io-bitmap'/> <feature policy='require' name='vmx-mtf'/> <feature policy='require' name='vmx-msr-bitmap'/> <feature policy='require' name='vmx-monitor-exit'/> <feature policy='require' name='vmx-pause-exit'/> <feature policy='require' name='vmx-secondary-ctls'/> <feature policy='require' name='vmx-exit-nosave-debugctl'/> <feature policy='require' name='vmx-exit-load-perf-global-ctrl'/> <feature policy='require' name='vmx-exit-ack-intr'/> <feature policy='require' name='vmx-exit-save-pat'/> <feature policy='require' name='vmx-exit-load-pat'/> <feature policy='require' name='vmx-exit-save-efer'/> <feature policy='require' name='vmx-exit-load-efer'/> <feature policy='require' name='vmx-exit-save-preemption-timer'/> <feature policy='require' name='vmx-entry-noload-debugctl'/> <feature policy='require' name='vmx-entry-ia32e-mode'/> <feature policy='require' name='vmx-entry-load-perf-global-ctrl'/> <feature policy='require' name='vmx-entry-load-pat'/> <feature policy='require' name='vmx-entry-load-efer'/> <feature policy='require' name='vmx-eptp-switching'/> <feature policy='disable' name='hle'/> <feature policy='disable' name='rtm'/> <feature policy='disable' name='avx512-bf16'/> <feature policy='disable' name='taa-no'/> </cpu> 2. use this xml to start a guest # virsh dumpxml vm1 ... <cpu mode='custom' match='exact' check='partial'> <model fallback='forbid'>Cooperlake</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='vmx'/> <feature policy='require' name='pdcm'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='ss'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='umip'/> <feature policy='require' name='md-clear'/> <feature policy='require' name='flush-l1d'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='ibpb'/> <feature policy='require' name='ibrs'/> <feature policy='require' name='amd-stibp'/> <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='tsx-ctrl'/> <feature policy='require' name='sbdr-ssdp-no'/> <feature policy='require' name='psdp-no'/> <feature policy='require' name='fb-clear'/> <feature policy='require' name='gds-no'/> <feature policy='require' name='vmx-ins-outs'/> <feature policy='require' name='vmx-true-ctls'/> <feature policy='require' name='vmx-store-lma'/> <feature policy='require' name='vmx-activity-hlt'/> <feature policy='require' name='vmx-activity-wait-sipi'/> <feature policy='require' name='vmx-vmwrite-vmexit-fields'/> <feature policy='require' name='vmx-apicv-xapic'/> <feature policy='require' name='vmx-ept'/> <feature policy='require' name='vmx-desc-exit'/> <feature policy='require' name='vmx-rdtscp-exit'/> <feature policy='require' name='vmx-apicv-x2apic'/> <feature policy='require' name='vmx-vpid'/> <feature policy='require' name='vmx-wbinvd-exit'/> <feature policy='require' name='vmx-unrestricted-guest'/> <feature policy='require' name='vmx-apicv-register'/> <feature policy='require' name='vmx-apicv-vid'/> <feature policy='require' name='vmx-rdrand-exit'/> <feature policy='require' name='vmx-invpcid-exit'/> <feature policy='require' name='vmx-vmfunc'/> <feature policy='require' name='vmx-shadow-vmcs'/> <feature policy='require' name='vmx-rdseed-exit'/> <feature policy='require' name='vmx-pml'/> <feature policy='require' name='vmx-xsaves'/> <feature policy='require' name='vmx-tsc-scaling'/> <feature policy='require' name='vmx-ept-execonly'/> <feature policy='require' name='vmx-page-walk-4'/> <feature policy='require' name='vmx-ept-2mb'/> <feature policy='require' name='vmx-ept-1gb'/> <feature policy='require' name='vmx-invept'/> <feature policy='require' name='vmx-eptad'/> <feature policy='require' name='vmx-invept-single-context'/> <feature policy='require' name='vmx-invept-all-context'/> <feature policy='require' name='vmx-invvpid'/> <feature policy='require' name='vmx-invvpid-single-addr'/> <feature policy='require' name='vmx-invvpid-all-context'/> <feature policy='require' name='vmx-intr-exit'/> <feature policy='require' name='vmx-nmi-exit'/> <feature policy='require' name='vmx-vnmi'/> <feature policy='require' name='vmx-preemption-timer'/> <feature policy='require' name='vmx-posted-intr'/> <feature policy='require' name='vmx-vintr-pending'/> <feature policy='require' name='vmx-tsc-offset'/> <feature policy='require' name='vmx-hlt-exit'/> <feature policy='require' name='vmx-invlpg-exit'/> <feature policy='require' name='vmx-mwait-exit'/> <feature policy='require' name='vmx-rdpmc-exit'/> <feature policy='require' name='vmx-rdtsc-exit'/> <feature policy='require' name='vmx-cr3-load-noexit'/> <feature policy='require' name='vmx-cr3-store-noexit'/> <feature policy='require' name='vmx-cr8-load-exit'/> <feature policy='require' name='vmx-cr8-store-exit'/> <feature policy='require' name='vmx-flexpriority'/> <feature policy='require' name='vmx-vnmi-pending'/> <feature policy='require' name='vmx-movdr-exit'/> <feature policy='require' name='vmx-io-exit'/> <feature policy='require' name='vmx-io-bitmap'/> <feature policy='require' name='vmx-mtf'/> <feature policy='require' name='vmx-msr-bitmap'/> <feature policy='require' name='vmx-monitor-exit'/> <feature policy='require' name='vmx-pause-exit'/> <feature policy='require' name='vmx-secondary-ctls'/> <feature policy='require' name='vmx-exit-nosave-debugctl'/> <feature policy='require' name='vmx-exit-load-perf-global-ctrl'/> <feature policy='require' name='vmx-exit-ack-intr'/> <feature policy='require' name='vmx-exit-save-pat'/> <feature policy='require' name='vmx-exit-load-pat'/> <feature policy='require' name='vmx-exit-save-efer'/> <feature policy='require' name='vmx-exit-load-efer'/> <feature policy='require' name='vmx-exit-save-preemption-timer'/> <feature policy='require' name='vmx-entry-noload-debugctl'/> <feature policy='require' name='vmx-entry-ia32e-mode'/> <feature policy='require' name='vmx-entry-load-perf-global-ctrl'/> <feature policy='require' name='vmx-entry-load-pat'/> <feature policy='require' name='vmx-entry-load-efer'/> <feature policy='require' name='vmx-eptp-switching'/> <feature policy='disable' name='hle'/> <feature policy='disable' name='rtm'/> <feature policy='disable' name='avx512-bf16'/> <feature policy='disable' name='taa-no'/> <numa> <cell id='0' cpus='0-1' memory='2097152' unit='KiB'/> </numa> </cpu> ... # virsh start vm1 Domain 'vm1' started 3. get migratable xml # virsh dumpxml vm1 --migratable > mig.xml # cat mig.xml ... <cpu mode='custom' match='exact' check='partial'> <model fallback='forbid'>Cooperlake</model> <vendor>Intel</vendor> <maxphysaddr mode='passthrough' limit='46'/> <feature policy='require' name='vmx'/> <feature policy='require' name='pdcm'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='ss'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='umip'/> <feature policy='require' name='md-clear'/> <feature policy='require' name='flush-l1d'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='ibpb'/> <feature policy='require' name='ibrs'/> <feature policy='require' name='amd-stibp'/> <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='tsx-ctrl'/> <feature policy='require' name='sbdr-ssdp-no'/> <feature policy='require' name='psdp-no'/> <feature policy='require' name='fb-clear'/> <feature policy='require' name='gds-no'/> <feature policy='require' name='vmx-ins-outs'/> <feature policy='require' name='vmx-true-ctls'/> <feature policy='require' name='vmx-store-lma'/> <feature policy='require' name='vmx-activity-hlt'/> <feature policy='require' name='vmx-activity-wait-sipi'/> <feature policy='require' name='vmx-vmwrite-vmexit-fields'/> <feature policy='require' name='vmx-apicv-xapic'/> <feature policy='require' name='vmx-ept'/> <feature policy='require' name='vmx-desc-exit'/> <feature policy='require' name='vmx-rdtscp-exit'/> <feature policy='require' name='vmx-apicv-x2apic'/> <feature policy='require' name='vmx-vpid'/> <feature policy='require' name='vmx-wbinvd-exit'/> <feature policy='require' name='vmx-unrestricted-guest'/> <feature policy='require' name='vmx-apicv-register'/> <feature policy='require' name='vmx-apicv-vid'/> <feature policy='require' name='vmx-rdrand-exit'/> <feature policy='require' name='vmx-invpcid-exit'/> <feature policy='require' name='vmx-vmfunc'/> <feature policy='require' name='vmx-shadow-vmcs'/> <feature policy='require' name='vmx-rdseed-exit'/> <feature policy='require' name='vmx-pml'/> <feature policy='require' name='vmx-xsaves'/> <feature policy='require' name='vmx-tsc-scaling'/> <feature policy='require' name='vmx-ept-execonly'/> <feature policy='require' name='vmx-page-walk-4'/> <feature policy='require' name='vmx-ept-2mb'/> <feature policy='require' name='vmx-ept-1gb'/> <feature policy='require' name='vmx-invept'/> <feature policy='require' name='vmx-eptad'/> <feature policy='require' name='vmx-invept-single-context'/> <feature policy='require' name='vmx-invept-all-context'/> <feature policy='require' name='vmx-invvpid'/> <feature policy='require' name='vmx-invvpid-single-addr'/> <feature policy='require' name='vmx-invvpid-all-context'/> <feature policy='require' name='vmx-intr-exit'/> <feature policy='require' name='vmx-nmi-exit'/> <feature policy='require' name='vmx-vnmi'/> <feature policy='require' name='vmx-preemption-timer'/> <feature policy='require' name='vmx-posted-intr'/> <feature policy='require' name='vmx-vintr-pending'/> <feature policy='require' name='vmx-tsc-offset'/> <feature policy='require' name='vmx-hlt-exit'/> <feature policy='require' name='vmx-invlpg-exit'/> <feature policy='require' name='vmx-mwait-exit'/> <feature policy='require' name='vmx-rdpmc-exit'/> <feature policy='require' name='vmx-rdtsc-exit'/> <feature policy='require' name='vmx-cr3-load-noexit'/> <feature policy='require' name='vmx-cr3-store-noexit'/> <feature policy='require' name='vmx-cr8-load-exit'/> <feature policy='require' name='vmx-cr8-store-exit'/> <feature policy='require' name='vmx-flexpriority'/> <feature policy='require' name='vmx-vnmi-pending'/> <feature policy='require' name='vmx-movdr-exit'/> <feature policy='require' name='vmx-io-exit'/> <feature policy='require' name='vmx-io-bitmap'/> <feature policy='require' name='vmx-mtf'/> <feature policy='require' name='vmx-msr-bitmap'/> <feature policy='require' name='vmx-monitor-exit'/> <feature policy='require' name='vmx-pause-exit'/> <feature policy='require' name='vmx-secondary-ctls'/> <feature policy='require' name='vmx-exit-nosave-debugctl'/> <feature policy='require' name='vmx-exit-load-perf-global-ctrl'/> <feature policy='require' name='vmx-exit-ack-intr'/> <feature policy='require' name='vmx-exit-save-pat'/> <feature policy='require' name='vmx-exit-load-pat'/> <feature policy='require' name='vmx-exit-save-efer'/> <feature policy='require' name='vmx-exit-load-efer'/> <feature policy='require' name='vmx-exit-save-preemption-timer'/> <feature policy='require' name='vmx-entry-noload-debugctl'/> <feature policy='require' name='vmx-entry-ia32e-mode'/> <feature policy='require' name='vmx-entry-load-perf-global-ctrl'/> <feature policy='require' name='vmx-entry-load-pat'/> <feature policy='require' name='vmx-entry-load-efer'/> <feature policy='require' name='vmx-eptp-switching'/> <feature policy='disable' name='hle'/> <feature policy='disable' name='rtm'/> <feature policy='disable' name='avx512-bf16'/> <feature policy='disable' name='taa-no'/> <numa> <cell id='0' cpus='0-1' memory='2097152' unit='KiB'/> </numa> </cpu> 4. try to migrate vm to target host with --xml # virsh migrate vm1 qemu+tcp://XXX/system --live --p2p --tls --parallel --xml mig.xml error: unsupported configuration: Target CPU feature count 24 does not match source 97 5. try to save vm with --xml # virsh save vm1 vm1.save --xml mig.xml error: Failed to save domain 'vm1' to vm1.save error: unsupported configuration: Target CPU feature count 24 does not match source 97
Expected results
migration and save success in step 4 and 5
Actual results
migration and save failed with error "Target CPU feature count 24 does not match source 97"
Additional Info
I have test this on 9.4 libvirt (libvirt-10.0.0-6.6.el9_4.x86_64), got the same error:
- virsh migrate vm1 qemu+tcp://XXX/system --live --p2p --tls --parallel --xml mig.xml
error: unsupported configuration: Target CPU feature count 24 does not match source 97
- is blocked by
-
RHEL-50574 Rebase libvirt in RHEL-9.6.0
- In Progress
- links to