-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
improve the irqbalance restore flow #6388
improve the irqbalance restore flow #6388
Conversation
Hi @jlojosnegros. Thanks for your PR. I'm waiting for a cri-o member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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 kubernetes/test-infra repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for taking over!
/ok-to-test |
42cb308
to
b0e712a
Compare
/retest |
possibly relevant: #6392 |
b0e712a
to
e830f4f
Compare
94a1b0d
to
7518ace
Compare
d722aa1
to
ab817fd
Compare
/assign @haircommander |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #6388 +/- ##
==========================================
- Coverage 44.55% 44.55% -0.01%
==========================================
Files 128 127 -1
Lines 14888 14919 +31
==========================================
+ Hits 6634 6647 +13
- Misses 7458 7477 +19
+ Partials 796 795 -1 |
@@ -124,6 +124,8 @@ const ( | |||
const ( | |||
// DefaultIrqBalanceConfigFile default irqbalance service configuration file path | |||
DefaultIrqBalanceConfigFile = "/etc/sysconfig/irqbalance" | |||
// DefaultIrqBalanceConfigRestoreFile contains the banned cpu mask configuration to restore. Name due to backward compatibility. | |||
DefaultIrqBalanceConfigRestoreFile = "/etc/sysconfig/orig_irq_banned_cpus" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would expect this config option would mean we remove the hard-coded one in internal/runtimehandlerhooks/high_performance_hooks.go
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also, given the name of the file, I wouldn't expect it to be a restore file. Is this file's name/format documented anywhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this PR provides an alternative param for the user to have more control over the restore process while keeping the already working way to do it, so it will keep the exact same behaviour if the user do not give the new option.
At least that is how I have understood the change but I could be wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's true. We keep the filename originally added back in time for full backward compatibility.
Use `internal/log`, not logrus directly in the rest of the high performance hooks code. To enable this, change the functions signatures to accept context.Context, which is a good idea in general. Signed-off-by: Francesco Romani <fromani@redhat.com>
Use ExpectWithOffset in the common hjelper to get a more immediate understanding of where a test failed. Signed-off-by: Francesco Romani <fromani@redhat.com>
Add logs in the irqbalance restore flow to improve the debuggability. This code runs once at startup, so the extra weight in the logs should be negligible. Signed-off-by: Francesco Romani <fromani@redhat.com>
1cb0f1a
to
d2a6860
Compare
rebase and minor typo ... |
/lgtm |
/override ci/prow/e2e-gcp-ovn @saschagrunert PTAL for final approval |
@haircommander: Overrode contexts on behalf of haircommander: ci/prow/e2e-aws-ovn, ci/prow/e2e-gcp-ovn In 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 kubernetes/test-infra repository. |
Since cri-o#4441 , to support the dynamic irqbalance configuration in turn needed by the high performance hooks, CRI-O runs the restore code at startup. In some configuration scenarios it's preferred to have more control over this step. Some configuration wants to have more control over the mask to be restored, or to disable the restore flow entirely. For this reason, we add an option to provide a user-supplied restore file. Users wishing to exert more control can provide their data, or they can disable the flow entirely setting the path to the restore file "disable". The new option defaults are meant to ensure full backward compatibility. Signed-off-by: Francesco Romani <fromani@redhat.com>
Add integration tests for the irqbalance CPU ban list save/restore feature. Signed-off-by: Francesco Romani <fromani@redhat.com>
irqbalance tests relay on some file contents to work. If tests are run in parallel test will not find the expected content in the files and will fail. Signed-off-by: Jose Luis Ojosnegros Manchón <jojosneg@redhat.com>
d2a6860
to
1a488f5
Compare
Minor changes to solve doc and completion validations failures. |
@jlojosnegros: The following test failed, say
Full PR test history. Your PR dashboard. 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 kubernetes/test-infra repository. I understand the commands that are listed here. |
/lgtm |
/override ci/prow/e2e-aws-ovn |
@haircommander: Overrode contexts on behalf of haircommander: ci/prow/e2e-aws-ovn, ci/prow/e2e-gcp-ovn In 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 kubernetes/test-infra repository. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: haircommander, jlojosnegros The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What type of PR is this?
/kind cleanup
/kind feature
note: this PR is substitute #6105 PR from @fromanirh due to workload issues
What this PR does / why we need it:
Since #4441 , to support the dynamic irqbalance configuration in turn needed by the high
performance hooks, CRI-O runs the restore code at startup.
In some configuration scenarios it's preferred to have more control over this step. Some configuration wants
to have more control over the mask to be restored, or to disable the restore flow entirely.
For this reason, we add an option to provide a user-supplied restore file. Users wishing to exert more control can provide
their data, or they can disable the flow entirely setting the path to the restore file to empty string ("").
The new option defaults are meant to ensure full backward compatibility.
Which issue(s) this PR fixes:
None
Special notes for your reviewer:
Does this PR introduce a user-facing change?