systemd DropIn to disable software CPUShares on systemcontroller

Based on DC scale batch subcloud prestage operations, it was observed
80 cores fully utilized zero idle, causing starvation of software API.
The software-controller-daemon process was spreading work over multiple
seconds. Any processes used for DC operations are payload and should
fight for CPU equally.

This updates the list of systemd services that require disabled
CPUShares instead of having the reduced value 128 on all other nodes.
This adds: software-controller-daemon, software, and
sw-patch-controller-daemon.

Partial-Bug: 2092319

TEST PLAN:
- PASS: Fresh install DC lab
- PASS: Verify systemcontroller DropIn files are created with
  CPUShares=1024 for: software-controller-daemon, software,
  sw-patch-controller-daemon

Change-Id: I1c7b4e0c19e9209c59a70bb6b1826e18fdf59335
Signed-off-by: Jim Gauld <James.Gauld@windriver.com>
This commit is contained in:
Jim Gauld 2024-12-20 20:36:02 -05:00
parent 507ff44f47
commit afbc586f86

View File

@ -115,10 +115,22 @@ class platform::dcmanager
# Batch operations require extremely parallel cpu intensive usage
# of both these cgroups. The dc services currently inherit the
# sm.service cgroup; the sm.service override is generated by sm.pp.
# We do not want to affect software API performance.
# We also remove the settings for services: pmon, sysinv-agent,
# collectd, fm-api, sm-api. There is no reason to limit their
# CPUShares on systemcontroller.
$service_names = [ 'pmon', 'ssh', 'sysinv-agent', 'collectd', 'fm-api', 'sm-api' ]
# collectd, fm-api, sm-api, software-controller-daemon,
# software, sw-patch-controller-daemon.
# There is no reason to limit their CPUShares on systemcontroller.
$service_names = [
'pmon',
'ssh',
'sysinv-agent',
'collectd',
'fm-api',
'sm-api',
'software-controller-daemon',
'software',
'sw-patch-controller-daemon'
]
$services = $service_names.map |$var| { "${var}.service" }
$services_string = join($services, ' ')
$dirs = $service_names.map |$var| { "/etc/systemd/system/${var}.service.d" }