Can only live migrate between hypervisors with same kernel
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. Running OpenStack Rocky.
You want to set a common CPU model on the nodes. https://docs.openstack.org/nova/latest/admin/cpu-models.html
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.
Running OpenStack Rocky.
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.
On Tue, Sep 10, 2024 at 08:54:34AM GMT, 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
Do you happen to be using AMD zenv1/zenv2 CPUs? Then it is probably due to the removal of the XSAVES flag in the linux kernel for those CPU types. https://lore.kernel.org/all/20230307174643.1240184-1-andrew.cooper3@citrix.c...
My source and target hypervisors have both the same CPU.
Running OpenStack Rocky.
-- Jan Horstmann Senior Cloud Engineer Mail: horstmann@osism.tech Web: https://osism.tech OSISM GmbH Talweg 8 / 75417 Mühlacker / Deutschland Geschäftsführer: Christian Berendt Unternehmenssitz: Mühlacker Amtsgericht Mannheim, HRB 750852
participants (4)
-
Jan Horstmann
-
sinan86polat@gmail.com
-
smooney@redhat.com
-
Tobias Urdin