[release-5.0] OCPBUGS-114738: E2E: Fix ovs dynamic pinning, kubelet and mustgather tests - #1621
Conversation
Earlier we used to modify performance profile to trigger reboot i.e change the topology manager to best-effort. This is problem when ran on ARM where changing topology manager to best-effort or any other value other than none causes ARM worker node to get stuck So instead we now use systemctl reboot to reboot the node Signed-off-by: Niranjan M.R <mniranja@redhat.com>
Earlier when kubelet experimental annotions e2e tests ran , it used to overwrite any existing annotations. When running on clusters deployed using ztp, the existing annotations need to be honoured. Modify the existing tests to honor the existing annotations. Also skip the tests if architecture is ARM where the annotations set kublet topology manager to any value other than none Signed-off-by: Niranjan M.R <mniranja@redhat.com>
Instead of using hardcoded performance profile name, fetch the performance profile name Signed-off-by: Niranjan M.R <mniranja@redhat.com>
Test 45488 — Multiple kubelet settings
1. Removed broken ps -ef | grep kubelet block —
systemReserved is in the drop-in config (/etc/openshift/kubelet.conf.d/20-auto-sizing.conf),
not in kubelet CLI flags or kubelet.conf
2. Added check via drop-in config file —
reads 20-auto-sizing.conf from the node and verifies it contains 300Mi
Test 45493 — Should not override PAO values
3. Changed annotation values to differ from PAO defaults —
was setting cpuManagerPolicy: "static" and cpuManagerReconcilePeriod: "5s" (same as what PAO sets, proving nothing).
Now sets "none" and "10s", and verifies PAO overrides them back to "static" and 5s
Test 45490 — Memory reservation changes
4. Re-fetch nodes after tuning update —
workerRTNodes was populated in CustomBeforeAll
with stale node.Status values. Now re-fetches nodes so
Capacity and Allocatable reflect the updated reservations
5. Account for hugepages in allocatable calculation —
pre-allocated hugepages are subtracted from allocatable
memory by the kubelet but included in node capacity.
Added loop to sum hugepages from node.Status.Capacity and
subtract from calculated allocatable
Test 45489 — Verify settings are reverted
6. Use WaitForTuningUpdated instead of WaitForTuningUpdating —
the revert may not trigger an MCP update when the only
annotation difference is a PAO-overridden value (e.g.,
topologyManagerPolicy set via annotation is always overridden
by the profile spec, so removing it produces the same rendered
KubeletConfig). WaitForTuningUpdated checks Updated=True which
passes immediately if no MCP rollout was needed, or waits for
completion if one was triggered. Applied same fix in AfterAll.
7. Replaced systemReserved check —
same as 45488: removed ps -ef approach,
added drop-in config file check verifying 300Mi is no longer present
8. Fixed nil vs empty slice assertion —
changed Equal(nil) to BeEmpty() for AllowedUnsafeSysctls,
since after reverting it's an empty slice ([]string{}), not nil
9. Replaced context.TODO() with ctx —
all ExecCommand, GetKubeletConfig, and ControlPlaneClient.Get calls
now use the existing ctx (context.Background()) variable for
consistent context usage
10. Added non-emptiness checks for node slices —
workerRTNodes and updatedNodes are now validated after
MatchingOptionalSelector to prevent out-of-bounds panics
11. Use workerRTNodes for ARM check —
replaced separate cnfNodes lookup with workerRTNodes[0] to
ensure the ARM check targets the same filtered node set
used by the tests
AI Attribution: AIA Human-AI blend, Content edits
Signed-off-by: Niranjan M.R <mniranja@redhat.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
@openshift-cherrypick-robot: Jira Issue OCPBUGS-112537 has been cloned as Jira Issue OCPBUGS-114738. Will retitle bug to link to clone. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@openshift-cherrypick-robot: This pull request references Jira Issue OCPBUGS-114738, which is valid. The bug has been moved to the POST state. 7 validation(s) were run on this bug
The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/verified by @mrniranjan |
|
@mrniranjan: This PR has been marked as verified by DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Scheduling required tests: |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: openshift-cherrypick-robot, Tal-or The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@openshift-cherrypick-robot: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
This is an automated cherry-pick of #1565
/assign mrniranjan