AIO System Controller CPU assignment changes

This changes AIO running DC system controller CPU assignment so that
all logical cpus spanning all numa nodes are configured as Platform
function.

Change-Id: I6be3c8f63661786b193b0ed7a72781a7c48808cb
Closes-Bug: 1855920
Depends-On: https://review.opendev.org/#/c/700450/
Signed-off-by: Jim Gauld <james.gauld@windriver.com>
(cherry picked from commit 539c29d717)
This commit is contained in:
Jim Gauld 2019-12-10 15:45:50 -05:00 committed by Jim Gauld
parent b63e887ba2
commit be92ebe6aa
2 changed files with 11 additions and 1 deletions

View File

@ -1,2 +1,2 @@
SRC_DIR="sysinv"
TIS_PATCH_VER=340
TIS_PATCH_VER=341

View File

@ -2516,6 +2516,16 @@ class ConductorManager(service.PeriodicService):
cpu_count, hyperthreading):
"""Return the initial number of reserved logical cores for platform
use. This can be overridden later by the end user."""
# Reserve all logical cpus on all numa nodes for AIO systemcontroller
system = self.dbapi.isystem_get_one()
system_type = system.system_type
dc_role = system.distributed_cloud_role
if (system_type == constants.TIS_AIO_BUILD and
dc_role == constants.DISTRIBUTED_CLOUD_ROLE_SYSTEMCONTROLLER):
return cpu_count
# Reserve one full core for worker on numa node 0, and one full core
# for AIO controller on numa node 0
cpus = 0
if cutils.host_has_function(ihost, constants.WORKER) and node == 0:
cpus += 1 if not hyperthreading else 2