On Tue, 2024-09-10 at 11:28 +0200, Tobias Urdin wrote:
You want to set a common CPU model on the nodes. https://docs.openstack.org/nova/latest/admin/cpu-models.html
that one possibleity but i dont think that what happening here although it might be
On 10 Sep 2024, at 10:54, sinan86polat@gmail.com wrote:
Is it normal behavior that instances can only be live migrated between hypervisors running the same kernel?
Like this I am not able to patch my hypervisors without downtime on the instances.
When I live migrate all instances from hypervisor A to hypervisor B, patch hypervisor A, I cannot migrate the instances back to hypervisor A since it is running a newer kernel.
The error is: guest CPU doesn't match specification: missing features: xsaves
My source and target hypervisors have both the same CPU.
so in gneneral this is likely not related to the kernel specifically although it technically could be if it was related to a new hardware errat or enablement of new functioantliy for cpus. i would guess that as part fo the kernel update you may have also updated the cpu microcode in general the microcode need to match between the source and destination node even if you have pinned the cpu model to the same common model. that is usually what causes this type of problem. since this is xsaves related there are some kernel patches where this has been enabled/disabled on some processors https://lore.kernel.org/lkml/20200512145444.15483-6-yu-cheng.yu@intel.com/T/ https://lore.kernel.org/all/2024012618-daredevil-envious-342a@gregkh/T/ it is possible that in this case it is related to the kernel updated using cpu_mode=custom and selecting cpu_model=<a model without xsaves> woudl allow portabvleity between patched and unpatched systems but only fo rinstance that are not already using xsaves. https://docs.openstack.org/nova/latest/configuration/config.html#libvirt.cpu... https://docs.openstack.org/nova/latest/configuration/config.html#libvirt.cpu... for vms that already use that feature you can only move them to a cpu without it by cold migration. alternitivly you can use https://docs.openstack.org/nova/latest/configuration/config.html#libvirt.cpu... to remove specific flag like xsaves with a -<flagname> syntax i.e. cpu_model_extra_flags = -xsaves again there is no way to remove this form a runnign instnace so any isntances already using xsaves need to be restarted or cold migrated for this to take effect.
Running OpenStack Rocky.