-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.16
-
None
-
Quality / Stability / Reliability
-
False
-
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
SLCM latency tests fail when using the PerformanceProfile recommended for tier-1 partner in the Blueprint document. The profile is missing a required kubelet configuration for enabling certain sysctls, which are necessary for the latency tests to pass.
Version-Release number of selected component (if applicable):
OpenShift version: 4.16
How reproducible:
Always
Steps to Reproduce:
Deploy a Single Node OpenShift (SNO) using the following PerformanceProfile:
yamlCopyEditkind: PerformanceProfile
apiVersion: "performance.openshift.io/v2"
metadata:
name: sno-perf-profile
spec:
cpu:
isolated: "2-55,58-111"
reserved: "0,1,56,57"
hugepages:
pages:
- size: "1G"
count: 52
node: 0
- size: "1G"
count: 52
node: 1
numa:
topologyPolicy: restricted
realTimeKernel:
enabled: true
workloadHints:
highPowerConsumption: false
perPodPowerManagement: false
realTime: true
nodeSelector:
node-role.kubernetes.io/master: ""
machineConfigPoolSelector:
pools.operator.machineconfiguration.openshift.io/master: ""
Run SLCM latency test suite as defined.
Observe that the latency tests fail due to missing sysctl configuration.
Actual results:
Latency tests fail with the default profile provided in the Blueprint.
Expected results:
All latency tests should pass when using the Blueprint-recommended PerformanceProfile.
Additional info:
# Fix: Add the following annotation to the PerformanceProfile to allow TCP socket reuse for pods on nodes with isolated CPUs:
annotations:
kubeletconfig.experimental: |
{"allowedUnsafeSysctls":["net.ipv4.tcp_tw_reuse"]}