-
Notifications
You must be signed in to change notification settings - Fork 570
OCPBUGS-62068: NodeSwap Feature Gate usage to be removed #2494
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
OCPBUGS-62068: NodeSwap Feature Gate usage to be removed #2494
Conversation
Hello @ngopalak-redhat! Some important instructions when contributing to openshift/api: |
Skipping CI for Draft Pull Request. |
@ngopalak-redhat: This pull request references Jira Issue OCPBUGS-62068, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
Requesting review from QA contact: The bug has been updated to refer to the pull request using the external bug tracker. 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 openshift-eng/jira-lifecycle-plugin repository. |
@ngopalak-redhat: This pull request references Jira Issue OCPBUGS-62068, which is valid. 3 validation(s) were run on this bug
Requesting review from QA contact: 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 openshift-eng/jira-lifecycle-plugin repository. |
features/features.go
Outdated
// NodeSwap is now GA and locked to true in Kubernetes 1.34+ | ||
// Must be enabled to align with upstream Kubernetes behavior. |
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 don't think this comment is necessary anymore
features/features.go
Outdated
FeatureGateNodeSwap = newFeatureGate("NodeSwap"). | ||
reportProblemsToJiraComponent("node"). | ||
contactPerson("haircommander"). | ||
productScope(kubernetes). | ||
enhancementPR("https://github.com/kubernetes/enhancements/issues/2400"). | ||
enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). | ||
enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). |
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.
@JoelSpeed do we still need to keep this standza if we're just going to follow a GA feature upstream? as in: should we even have this in the feature gates openshift is aware of anymore?
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.
You have a choice. You can enable it in default now (1.33), or leave it to the promotion.
If you leave it to the promotion, you need to remove the gate now so that we fall back to the built-in behaviour, rather than being dictated by the feature gate opinions here.
What is the default upstream feature state in 1.33?
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.
NodeSwap is true from 1.30 onwards in Upstream https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/
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.
Do we have any testing to show what this feature is doing when it is enabled? Any E2E? Looks like nothing is showing up in sippy tagged by this gate, but perhaps there's some upstream tests?
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 we only want it in 1.34/4.21 and onward, and I'm inclined to just leave it to promotion as it's not only on by default but GA (and there's another toggle in the kubelet config to actually use it)
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.
we won't have any e2e testing it downstream I believe because we're only using it (kubeletconfig swapMode: limitedSwap) in CNV environments, otherwise we'll block users from setting it (see openshift/machine-config-operator#5294)
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.
@JoelSpeed @haircommander Here's are the steps as I understand for the removal of the NodeSwap gate:
- Ensure the NodeSwap gate is not used anywhere in openshift code and docs. All the references from this search https://github.com/search?q=org%3Aopenshift%20NodeSwap&type=code have to be addressed for removal.
- Remove it from the NodeSwap gate in this repo after all the references are removed.
This will allow the promotion to happen when 1.34 merges into openshift. Right?
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 have removed the Flag and tested. Results are good and updated in the description
/test verify-feature-promotion |
/test verify-feature-promotion |
/lgtm Assuming CI works, this should be good |
@ngopalak-redhat: This pull request references Jira Issue OCPBUGS-62068, which is valid. 3 validation(s) were run on this bug
Requesting review from QA contact: The bug has been updated to refer to the pull request using the external bug tracker. 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 openshift-eng/jira-lifecycle-plugin repository. |
/test remaining-required |
@ngopalak-redhat: The specified target(s) for
The following commands are available to trigger optional jobs:
Use
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-sigs/prow repository. |
/test e2e-aws-ovn |
/retest-required |
4 similar comments
/retest-required |
/retest-required |
/retest-required |
/retest-required |
/verified later @BhargaviGudi |
@ngopalak-redhat: This PR has been marked to be verified later by 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 openshift-eng/jira-lifecycle-plugin repository. |
/retest-required |
/test e2e-aws-ovn-techpreview |
4 similar comments
/test e2e-aws-ovn-techpreview |
/test e2e-aws-ovn-techpreview |
/test e2e-aws-ovn-techpreview |
/test e2e-aws-ovn-techpreview |
/retest-required |
/test e2e-aws-ovn-techpreview |
1 similar comment
/test e2e-aws-ovn-techpreview |
/retest |
/retest-required |
2 similar comments
/retest-required |
/retest-required |
@ngopalak-redhat: 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-sigs/prow repository. I understand the commands that are listed here. |
7f24529
into
openshift:master
@ngopalak-redhat: Jira Issue OCPBUGS-62068: All pull requests linked via external trackers have merged: This pull request has the 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 openshift-eng/jira-lifecycle-plugin repository. |
Setting the NodeSwap feature gate to false blocks the use of memorySwap -> swapDesired option in the KubeletConfig. With 1.34 the NodeSwap feature gate is always set to true. Hence this PR sets the NodeSwap feature gate to true for all the types of clusters.
Tested by removing the Flag completely:
The cluster was created with:
This PR needs to be merged before openshift/machine-config-operator#5294.
This PR is tested along with openshift/machine-config-operator#5294
Fixes: https://issues.redhat.com/browse/OCPBUGS-62068
Installer using NodeSwap Feature Gate: https://github.com/openshift/installer/blob/main/pkg/types/defaults/validation/featuregates.go#L39