This corrects kubelet cpumanager static cpuset tracking for isolcpus
for versions 1.26.1 and 1.27.5. This ensures that pods specified with
isolcpus + guaranteed QoS + integer cpu requests, are affined to
exclusive cpuset and tracked as non-isolated cpus.
Test Plan:
Set the "kube-cpu-mgr-policy=static" label and allocate isolcpus.
The following tests are performed for both k8s 1.26.1 and 1.27.5:
PASS: Guaranteed pod without isolcpus specified
(Pod is affined to exclusive cpu)
PASS: BestEffort pod with isolcpus specified
(Pod is affined to isolcpus)
PASS: Burstable pod with isolcpus specified
(Pod is affined to isolcpus)
PASS: Guaranteed pod with isolcpus specified (integer CPU)
(Pod is affined to exclusive cpu)
PASS: Guaranteed pod with isolcpus specified (fractional CPU)
(Pod is affined to defaultCpuSet)
Closes-Bug: 2042795
Change-Id: I54ac47d1ec697a53999299cfa84093cb5fd6477a
Signed-off-by: Boovan Rajendran <boovan.rajendran@windriver.com>