Hi Wido, I think it is not good to run an environment with two ubuntu/qemu versions. It always happens that some cpu features are supported in the higher version but not supported in the older version. >From my experience, the migration from older version to higher version works like a charm, but there were many issues in migration from higher version to older version.
I do not have a solution for you. I have tried to hack /etc/libvirt/hooks/qemu but it didn't work. Have you tried with other cpu models like x86_Opteron_G5 ? you can find the cpu features of each cpu model in /usr/share/libvirt/cpu_map/ Anyway, even if the vm migration succeeds, you do not know if vm works fine. I believe the best solution is upgrading all hosts to the same OS version. -Wei On Tue, 23 Nov 2021 at 16:31, Wido den Hollander <w...@widodh.nl> wrote: > Hi, > > I'm trying to debug an issue with live migrations between Ubuntu 18.04 > and 20.04 machines each with different CPUs: > > - Ubuntu 18.04 with AMD Epyc 7552 (Rome) > - Ubuntu 20.04 with AMD Epyc 7662 (Milan) > > We are currently using this setting: > > guest.cpu.mode=custom > guest.cpu.model=EPYC > > This does not allow for live migrations: > > Ubuntu 20.04 with Epyc 7662 to Ubuntu 18.04 with Epyc 7552 fails > > "ExecutionException : org.libvirt.LibvirtException: unsupported > configuration: unknown CPU feature: npt" > > So we tried to define a set of features manually: > > guest.cpu.features=3dnowprefetch abm adx aes apic arat avx avx2 bmi1 > bmi2 clflush clflushopt cmov cr8legacy cx16 cx8 de f16c fma fpu fsgsbase > fxsr fxsr_opt lahf_lm lm mca mce misalignsse mmx mmxext monitor movbe > msr mtrr nx osvw pae pat pclmuldq pdpe1gb pge pni popcnt pse pse36 > rdrand rdseed rdtscp sep sha-ni smap smep sse sse2 sse4.1 sse4.2 sse4a > ssse3 svm syscall tsc vme xgetbv1 xsave xsavec xsaveopt -npt -x2apic > -hypervisor -topoext -nrip-save > > This results in this going into the XML: > > <feature policy='disable' name='npt'/> > > You would say that works, but then the target host (18.04 with the 7552) > says it doesn't support the feature 'npt' and the migration still fails. > > Now we could ofcourse use the kvm64 CPU from Qemu, but that's lacking so > many features that for example TLS offloading isn't available. > > I also tried to set 'EPYC-Rome' on the Ubuntu 20.04 hypervisor, but it > then complains on the Ubuntu 18.04 hypervisor that the CPU 'EPYC-Rome' > is unknown as the 18.04 hypervisor doesn't have that profile. > > Any ideas on how to get this working? > > Wido >