Uploaded image for project: 'OpenShift Container Platform (OCP) Strategy'
  1. OpenShift Container Platform (OCP) Strategy
  2. OCPSTRAT-1707

Align HCP NodePool minor-version skew limits with tested/supported versions

XMLWordPrintable

    • BU Product Work
    • False
    • Hide

      None

      Show
      None
    • 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

              Unassigned Unassigned
              azaalouk Adel Zaalouk
              W. Trevor King
              He Liu He Liu
              Matthew Werner Matthew Werner
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: