-
Notifications
You must be signed in to change notification settings - Fork 192
Extend node tuning with kernel parameter configuration (sysctls) #2901
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
base: master
Are you sure you want to change the base?
Conversation
Skipping CI for Draft Pull Request. |
dad4af7
to
2f13aea
Compare
/test all |
2f13aea
to
5d9ef93
Compare
5d9ef93
to
5b5b797
Compare
/test all |
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.
Pull Request Overview
This PR extends the NodeConfig functionality to support kernel parameter (sysctl) configuration, providing a modern replacement for the deprecated ScyllaCluster.spec.sysctls field. The implementation adds new APIs, validation, job execution logic, and deprecation warnings.
- Adds sysctls field to NodeConfig spec for kernel parameter configuration
- Implements validation for sysctl names and prevents duplicates
- Creates dedicated jobs and RBAC resources for applying sysctls on nodes
- Deprecates ScyllaCluster.spec.sysctls with proper warnings and migration path
Reviewed Changes
Copilot reviewed 45 out of 45 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
pkg/api/scylla/v1alpha1/types_nodeconfig.go | Adds sysctls field to NodeConfig spec |
pkg/api/scylla/validation/nodeconfig_validation.go | Implements sysctl validation logic |
pkg/controller/nodetune/resource.go | Creates sysctls job generation and execution logic |
pkg/controller/nodeconfig/resource.go | Adds RBAC resources for sysctls service account |
pkg/naming/constants.go | Defines new job types and service account names |
test/e2e/set/scyllacluster/scyllacluster_webhooks.go | Tests deprecation warnings for ScyllaCluster sysctls |
test/e2e/set/nodeconfig/nodeconfig_optimizations.go | E2E tests for NodeConfig sysctls functionality |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
5b5b797
to
1aae34c
Compare
1aae34c
to
fa98281
Compare
/test all |
fa98281
to
043fa9a
Compare
043fa9a
to
2997fd3
Compare
…ith sysctl validation
08fb859
to
90b65e0
Compare
Had to update managed-hash annotations in unit tests after #2940 merged. |
cluster provisioning failed |
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.
/lgtm
assuming prior lgtm and only a rebase happening between the previous lgtm and now 👍
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: czeslavo, mflendrich, rzetelskik 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 |
/test images |
/retest |
/test images |
/test images |
/test images |
/retest |
/test images |
@rzetelskik: The following tests 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-sigs/prow repository. I understand the commands that are listed here. |
Description of your changes: Following the enhancement proposal, this PR extends the NodeConfig API with support for node-level kernel parameter configuration (sysctls). This bridges the feature gap between v1.ScyllaCluster and v1alpha1.ScyllaDBCluster APIs.
ScyllaCluster.scylla.scylladb.com/v1.spec.sysctls
is simultaneously deprecated.Which issue is resolved by this Pull Request:
Resolves #2457
/kind feature
/priority important-soon