This ports the remaining kubernetes 1.24.4 patches.
The following patches were refactored slightly to allow for
upstream changes:
kubelet-cpumanager-disable-CFS-quota-throttling-for-.patch
kubelet-cpumanager-keep-normal-containers-off-reserv.patch
The following patch was added to get tests working again:
cpumanager-policy-static-test-refactor.patch
Test-plan:
1. Revert-use-subpath-for-coredns-only-for-default-repo:
Kubeadm commands worked as expected
2. enable-support-for-kubernetes-to-ignore-isolcpus:
Set kube-cpu-mgr-policy as static and allocated some isolcpus.
i. Deployed a pod with dedicated CPU and verified that it is not
affined to isolcpus.
ii. kube-ignore-isol-cpus is set to enabled, deployed a pod with
dedicated CPU and verified that is allocated to isolated CPU.
3. kubeadm-create-platform-pods-with-zero-CPU-resources:
Verified the usage of CPUs is 0 in coredns, kube-controller-manager,
kube-scheduler, and kube-apiserver pods of kube-system namespace.
4. kubelet-cpumanager-disable-CFS-quota-throttling-for- :
Verified that pods that in the "Guaranteed" QoS class, on hosts that
have "kube-cpu-mgr-policy=static" have cpu.cfs_quota_us set to -1.
5. kubelet-cpumanager-infra-pods-use-system-reserved-CP:
Verified that platform pods are affined to platform CPUs
6. kubelet-cpumanager-introduce-concept-of-isolated-CPU:
Verified pods can allocate isolated CPUs and are affined to them.
Verified pods allocating application CPUs don't get isolated CPUs.
Verified that pods allocating dedicated and isolated CPUs are affined
to the dedicated CPUs.
Verified that pods allocating non-dedicated and isolated CPUs are
affined to the isolated CPUs.
7. kubelet-cpumanager-keep-normal-containers-off-reserv:
Verified the pod which is not in platform namespace are affined to
application or application isolated CPUs
8. kubelet-sort-isolcpus-allocation-when-SMT-enabled:
Verified after enabling SMT multithreading that isolated CPUs are
allocated as lowest-numbered SMT siblings first and then
higher-numbered SMT siblings, then any single thread.
9. kubernetes-make-isolcpus-allocation-SMT-aware:
Verified after enabling SMT multithreading that isolated CPUs are
allocated as pairs of SMT siblings first, then already-existing
single SMT siblings, then we allocate one of a pair of SMT siblings
as a last resort.
Story: 2010301
Task: 46315
Signed-off-by: Sachin Gopala Krishna <saching.krishna@windriver.com>
Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
Change-Id: Ic8f3d53f58f09ae13f9c299fb31e5f91a0a5bc9f