-
Feature
-
Resolution: Unresolved
-
Critical
-
None
-
None
-
BU Product Work
-
False
-
-
False
-
100% To Do, 0% In Progress, 0% Done
-
8
-
0
Feature Overview (aka. Goal Summary)
Hypershift currently allows NodePools to be up to three minor versions behind the HostedCluster control plane (y-3), by virtue of refererencing the floating upstream docs (which changed from n-2 to n-3), but only tests configurations up to two minor versions behind at best (y-2).
This feature will align the allowed NodePool skew with the tested and supported versions to improve stability and prevent users from deploying unsupported configurations.
Background
Hypershift currently allows for NodePool minor version skew based on the upstream Kubernetes skew policy. However, our testing capacity only allows us to fully validate up to y-2 skew at best. This mismatch creates a potential risk for users deploying unsupported configurations.
Goals (aka. expected user outcomes)
- As a cluster service consumer I can reliably deploy NodePools with a maximum minor version skew of y-2.
- As a cluster service consumer , I am prevented from deploying NodePools with an unsupported skew (y-3) or any untested upstream limit.
- As a cluster service consumer , I understand the supported NodePool skew limits through clear documentation.
Requirements (aka. Acceptance Criteria):
- The HCP documentation accurately reflects the supported NodePool minor version skew of y-2 and removes the floating reference to upstream kubernetes.
- HCP prevents the creation of NodePools with a skew greater than y-2 (for 4.even control planes) or y-1 (for 4.odd control planes) through code guardrails. Example of how[ its done in standalone OpenShift|https://github.com/openshift/cluster-kube-apiserver-operator/pull/1199#issue-958481467].
- Existing NodePools with a skew greater than y-2 are not impacted (but upgrading the control plane may be blocked).
- Appropriate error messages are provided to users when attempting to create NodePools with an unsupported skew.
Deployment considerations | List applicable specific needs (N/A = not applicable) |
Self-managed, managed, or both | both |
Classic (standalone cluster) | |
Hosted control planes | yes |
Multi node, Compact (three node), or Single node (SNO), or all | |
Connected / Restricted Network | |
Architectures, e.g. x86_x64, ARM (aarch64), IBM Power (ppc64le), and IBM Z (s390x) | |
Operator compatibility | |
Backport needed (list applicable versions) | |
UI need (e.g. OpenShift Console, dynamic plugin, OCM) | |
Other (please specify) |
Use Cases (Optional):
- Main Success Scenario: A user attempts to create a NodePool with a supported skew (y-2 or less). The NodePool is created successfully.
- Alternative Flow Scenario: A user attempts to create a NodePool with an unsupported skew (y-3). An error message is displayed, and the NodePool creation is blocked by a gate.
Customer Considerations
Customers who have deployed NodePools with a skew greater than y-2 may need to upgrade their NodePools before upgrading the HostedCluster control plane in the future.
Documentation Considerations
The HCP documentation ] on NodePool versioning and upgrading needs to be updated to reflect the new supported skew limits.
Interoperability Considerations
Impacts ROSA/ARO HCP
- relates to
-
OCPSTRAT-1587 Expand Control Plane Only Updates to 4.N to 4.N+2 and 4.N+3 independent of EUS versions from 4.16+
- In Progress