yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #89091
[Bug 1978489] [NEW] libvirt / cgroups v2: cannot boot instance with more than 16 CPUs
Public bug reported:
Description
===========
Using the libvirt driver and a host OS that uses cgroups v2 (RHEL 9,
Ubuntu Jammy), an instance with more than 16 CPUs cannot be booted.
Steps to reproduce
==================
1. Boot an instance with 10 (or more) CPUs on RHEL 9 or Ubuntu Jammy
using Nova with the libvirt driver.
Expected result
===============
Instance boots.
Actual result
=============
Instance fails to boot with a 'Value specified in CPUWeight is out of
range' error.
Environment
===========
Originially report as a libvirt but in RHEL 9 [1]
Additional information
======================
This is happening because Nova defaults to 1024 * (# of CPUs) for the
value of domain/cputune/shares in the libvirt XML. This is then passed
directly by libvirt to the cgroups API, but cgroups v2 has a maximum
value of 10000. 10000 / 1024 ~= 9.76
[1] https://bugzilla.redhat.com/show_bug.cgi?id=2035518
** Affects: nova
Importance: Undecided
Status: In Progress
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1978489
Title:
libvirt / cgroups v2: cannot boot instance with more than 16 CPUs
Status in OpenStack Compute (nova):
In Progress
Bug description:
Description
===========
Using the libvirt driver and a host OS that uses cgroups v2 (RHEL 9,
Ubuntu Jammy), an instance with more than 16 CPUs cannot be booted.
Steps to reproduce
==================
1. Boot an instance with 10 (or more) CPUs on RHEL 9 or Ubuntu Jammy
using Nova with the libvirt driver.
Expected result
===============
Instance boots.
Actual result
=============
Instance fails to boot with a 'Value specified in CPUWeight is out of
range' error.
Environment
===========
Originially report as a libvirt but in RHEL 9 [1]
Additional information
======================
This is happening because Nova defaults to 1024 * (# of CPUs) for the
value of domain/cputune/shares in the libvirt XML. This is then passed
directly by libvirt to the cgroups API, but cgroups v2 has a maximum
value of 10000. 10000 / 1024 ~= 9.76
[1] https://bugzilla.redhat.com/show_bug.cgi?id=2035518
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1978489/+subscriptions
Follow ups