Live migration with cpu_shared_set not updating CPU pinning

Bug #1869804 reported by Artom Lifshitz
28
This bug affects 6 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Confirmed
Low
Uggla

Bug Description

In pre-Train times, when live migrating an instance without a CPU policy (and therefore without a NUMA topology) to a dest with a vcpu_pin_set, or to a dest with a vcpu_pin_set different from the source, the instance's CPU pinning information was not updated.

Now that CPU resources are a thing, and we use cpu_dedicated_set and cpu_shared_set (the version with the new meaning, not the old cpu_shared_set), this is still a problem. IOW, live migrating a VM with no CPU policy and no NUMA topology from cpu_shared_set=0,1 to cpu_shared_set=2,3 will leave it pinned to CPUs 0,1.

summary: - Live migrationg with Train-style cpu_shared_set not updating CPU pinning
+ Live migration with Train-style cpu_shared_set not updating CPU pinning
description: updated
tags: added: live-migration
Changed in nova:
status: New → Confirmed
importance: Undecided → Low
Revision history for this message
Yusuf Güngör (yusuf2) wrote : Re: Live migration with Train-style cpu_shared_set not updating CPU pinning

Hi, is there any plan to fix this?

Revision history for this message
Uggla (rene-ribaud) wrote :
Changed in nova:
assignee: nobody → Uggla (rene-ribaud)
Revision history for this message
Uggla (rene-ribaud) wrote :
Revision history for this message
Christian Rohmann (christian-rohmann) wrote :

We just ran into this issue when live-migrating lots of VMs to new hardware and observed that the cpu_shared_set (vcpu pinning) remained the same, which rendered 70% of the newly available physical cores completely useless.

But keeping the cpuset unmodified during a live-migration also becomes a big issue in heterogeneous environments with machines with lots of cpu cores and some with fewer. Libvirt likely will not accept a cpuset targeting pCPUs that do not exist on the destination host. Not a problem with cores 0-8 pinned. But a VM running on a machine with 256 cores and a corresponding shared set cannot be live-migrated away anymore.

summary: - Live migration with Train-style cpu_shared_set not updating CPU pinning
+ Live migration with cpu_shared_set not updating CPU pinning
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.