Bug 1688186

Summary: [RFE] CPU and NUMA Pinning shall be handled automatically
Product: Red Hat Enterprise Virtualization Manager Reporter: Nils Koenig <nkoenig>
Component: ovirt-engineAssignee: Liran Rotenberg <lrotenbe>
Status: CLOSED ERRATA QA Contact: Polina <pagranat>
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: aarnold, ahadas, aperotti, daniele, dfodor, djdumas, emarcus, lrotenbe, lsurette, mavital, mtessun, nkoenig, sfroemer, sgoodman, srevivo, ycui
Target Milestone: ovirt-4.4.5Keywords: FutureFeature
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: ovirt-engine-4.4.5.5 Doc Type: Enhancement
Doc Text:
Previously, the CPU and NUMA pinning were done manually or automatically only by using the REST API when adding a new virtual machine. With this update, you can update the CPU and NUMA pinning using the Administration portal and when updating a virtual machine.
Story Points: ---
Clone Of:
: 1919804 (view as bug list) Environment:
Last Closed: 2021-04-14 11:39:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1919804, 1970426    

Description Nils Koenig 2019-03-13 10:51:31 UTC
As of today, when using the high performance VM profile the user has to manually create the CPU core pinning _and_ a NUMA pinning.

While the NUMA pinning is UI based, the according CPU pinning requires generating a text string that represents the CPU core mapping. This is rather error prone and is requires "wrapping your head around" how that notion works, how the actual NUMA architecture is on the hypervisor.

This feature request proposes that the actual CPU pinning should be derived from the NUMA architecture and pinning. Taking this idea even further, one could think of premade templates/profiles in order to pin to sockets/half a socket/quarter of sockets/two sockets, etc.

Comment 1 Nils Koenig 2020-03-04 09:53:19 UTC
Additionally, this should be implemented in respect to live migration as well. As of today, the live migration of a CPU and memory pinned VM requires manually removing the memory pinning, migrating, restoring the memory pinning. This should  be automated. Also CPU pinning should be flexible, so that it could migrate VM1 which uses e.g. NUMA node 0 on host A gets migrated to host B, NUMA node 1 automatically.

Comment 3 Arik 2020-11-16 09:14:15 UTC
*** Bug 1887356 has been marked as a duplicate of this bug. ***

Comment 4 Arik 2020-11-16 09:17:06 UTC
As mentioned in bz 1887356, we introduced auto-pinning only to REST-API in BZ 1862968.
We can build on that to simplify the configuration on pinning for high-performance VMs from the UI as well.

Comment 5 Arik 2021-01-18 18:15:04 UTC
(In reply to Nils Koenig from comment #1)
> Additionally, this should be implemented in respect to live migration as
> well. As of today, the live migration of a CPU and memory pinned VM requires
> manually removing the memory pinning, migrating, restoring the memory
> pinning. This should  be automated. Also CPU pinning should be flexible, so
> that it could migrate VM1 which uses e.g. NUMA node 0 on host A gets
> migrated to host B, NUMA node 1 automatically.

Nils, this part seems like a different requirement - can you please file a separate bug for this?

Comment 7 Polina 2021-02-24 13:47:55 UTC
verified on ovirt-engine-4.4.5.6-0.11.el8ev.noarch according to the attached Polarion plan

Comment 10 Steve Goodman 2021-04-12 13:30:39 UTC
Liran, please check the doc text, and explain how to update the CPU and NUMA pinning.

Comment 15 errata-xmlrpc 2021-04-14 11:39:53 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: RHV Manager (ovirt-engine) 4.4.z [ovirt-4.4.5] security, bug fix, enhancement), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:1169