[release-4.22] OCPBUGS-85020: e2e: Add irqbalance StartLimitBurst >= 100 config test#1506
Conversation
Automating OCPBUGS-45112 - Config test CRI-O restarts irqbalance on every guaranteed pod create/delete. The default systemd StartLimitBurst=5 was too low Fix was drop-in from cri-o raising StartLimitBurst to 100. Checking for this updated value added systemd.ShowPropertyValue to utils/systemd/systemd.go Signed-off-by: oblau <oblau@redhat.com>
|
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:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Review Summary by QodoAdd irqbalance StartLimitBurst >= 100 e2e configuration test
WalkthroughsDescription• Add e2e test for irqbalance StartLimitBurst >= 100 configuration • Implement systemd.ShowPropertyValue utility function for property queries • Automate OCPBUGS-45112 verification in performance profile tests • Validate irqbalance restart limit configuration on worker nodes Diagramflowchart LR
A["irqbalance.go test"] -->|uses| B["systemd.ShowPropertyValue"]
B -->|queries| C["systemctl show property"]
C -->|validates| D["StartLimitBurst >= 100"]
D -->|verifies| E["OCPBUGS-45112 fix"]
File Changes1. test/e2e/performanceprofile/functests/1_performance/irqbalance.go
|
Code Review by Qodo
1. ShowPropertyValue can time out
|
|
@openshift-cherrypick-robot: Jira Issue OCPBUGS-84938 has been cloned as Jira Issue OCPBUGS-85020. Will retitle bug to link to clone. WARNING: Unexpected sprint field type []interface {} on source issue. Please update sprint manually on clone. /retitle [release-4.22] OCPBUGS-85020: e2e: Add irqbalance StartLimitBurst >= 100 config test 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-85020, which is invalid:
Comment 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. |
|
/jira refresh |
|
@oblau: This pull request references Jira Issue OCPBUGS-85020, which is invalid:
Comment 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. |
| func ShowPropertyValue(ctx context.Context, unitfile string, property string, node *corev1.Node) (string, error) { | ||
| cmd := []string{"/bin/bash", "-c", fmt.Sprintf("chroot /rootfs systemctl show -p %s %s --value --no-pager", property, unitfile)} | ||
| out, err := nodes.ExecCommand(ctx, node, cmd) | ||
| return string(out), err |
There was a problem hiding this comment.
1. Showpropertyvalue can time out 🐞 Bug ☼ Reliability
systemd.ShowPropertyValue runs systemctl show ... --value, which can legitimately return empty stdout for unset/empty properties; the node exec path polls until stdout is non-empty, so this can hang for ~1 minute and then fail even when the command succeeded. The helper also builds a shell string via bash -c, making argument handling brittle compared to passing argv directly.
Agent Prompt
### Issue description
`systemd.ShowPropertyValue()` executes `systemctl show ... --value` through `nodes.ExecCommand()`. The node exec stack uses `pods.WaitForPodOutput()` which waits until stdout is non-empty; if the property value is legitimately empty, the helper will poll for up to a minute and then fail.
### Issue Context
This is a known constraint in this test framework (commands with empty stdout can fail/time out). A value-only systemd query is more likely to return empty output than the `Key=Value` form.
### Fix Focus Areas
- Implement `ShowPropertyValue` without relying on `--value` producing non-empty stdout, e.g.:
- run `systemctl show -p <prop> <unit> --no-pager` (no `--value`), then parse the returned `Prop=...` line to extract the value.
- Prefer passing argv directly (e.g. `[]string{"chroot","/rootfs","systemctl","show","-p",property,unitfile,"--no-pager"}`) instead of `bash -c`.
- file focus:
- test/e2e/performanceprofile/functests/utils/systemd/systemd.go[23-26]
### Notes
After parsing, return the raw value (optionally trimmed). Ensure the function behaves correctly when the value is empty (should return "" with nil error).
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
|
/jira refresh |
|
@oblau: This pull request references Jira Issue OCPBUGS-85020, which is valid. The bug has been moved to the POST state. 7 validation(s) were run on this bug
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. |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: openshift-cherrypick-robot, yanirq The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest |
|
/jira refresh |
|
@oblau: This pull request references Jira Issue OCPBUGS-85020, which is valid. 7 validation(s) were run on this bug
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. |
|
/retest |
|
/jira refresh |
|
@oblau: This pull request references Jira Issue OCPBUGS-85020, which is invalid:
Comment 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. |
|
/jira refresh |
|
@oblau: This pull request references Jira Issue OCPBUGS-85020, which is valid. 7 validation(s) were run on this bug
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 oblau |
|
@oblau: 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. |
|
/jira refresh |
|
@oblau: This pull request references Jira Issue OCPBUGS-85020, which is invalid:
Comment 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. |
|
/jira refresh |
|
@oblau: This pull request references Jira Issue OCPBUGS-85020, which is valid. 7 validation(s) were run on this bug
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: all tests passed! 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. |
|
/label backport-risk-assessed test changes only. no core payload |
74d2449
into
openshift:release-4.22
|
@openshift-cherrypick-robot: Jira Issue Verification Checks: Jira Issue OCPBUGS-85020 Jira Issue OCPBUGS-85020 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓 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. |
|
Fix included in release 4.22.0-0.nightly-2026-05-07-131723 |
This is an automated cherry-pick of #1493
/assign oblau