Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-46373

HyperShift CEL validation blocks ARM64 NodePool creation for non-AWS/Azure platforms

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 4.17.z, 4.16.z, 4.18.0
    • HyperShift
    • Important
    • None
    • Hypershift Sprint 263
    • 1
    • Proposed
    • False
    • Hide

      None

      Show
      None
    • Hide
      *Cause*: ARM64 not allowed in the NodePool API in Agent platform.
      *Consequence*: Cannot deploy heterogeneous clusters in Agent.
      *Fix*: Changed the API to allow ARM64 based NodePool on Agent platform.
      *Result*: Bug doesn’t present anymore.
      Show
      *Cause*: ARM64 not allowed in the NodePool API in Agent platform. *Consequence*: Cannot deploy heterogeneous clusters in Agent. *Fix*: Changed the API to allow ARM64 based NodePool on Agent platform. *Result*: Bug doesn’t present anymore.
    • Bug Fix
    • In Progress

      This is a clone of issue OCPBUGS-46342. The following is the description of the original issue:

      Description of problem:

      HyperShift CEL validation blocks ARM64 NodePool creation for non-AWS/Azure platforms
      Can't add a Bare Metal worker node to the hosted cluster. 
      This was discussed on #project-hypershift Slack channel.

      Version-Release number of selected component (if applicable):

      MultiClusterEngine v2.7.2 
      HyperShift Operator image: 
      registry.redhat.io/multicluster-engine/hypershift-rhel9-operator@sha256:56bd0210fa2a6b9494697dc7e2322952cd3d1500abc9f1f0bbf49964005a7c3a   

      How reproducible:

      Always

      Steps to Reproduce:

      1. Create a HyperShift HostedCluster on a non-AWS/non-Azure platform
      2. Try to create a NodePool with ARM64 architecture specification

      Actual results:

      - CEL validation blocks creating NodePool with arch: arm64 on non-AWS/Azure platforms
      - Receive error: "The NodePool is invalid: spec: Invalid value: "object": Setting Arch to arm64 is only supported for AWS and Azure"
      - Additional validation in NodePool spec also blocks arm64 architecture

      Expected results:

      - Allow ARM64 architecture specification for NodePools on BareMetal platform 
      - Remove or update the CEL validation to support this use case

      Additional info:

      NodePool YAML:
      apiVersion: hypershift.openshift.io/v1beta1
      kind: NodePool
      metadata:
        name: nodepool-doca5-1
        namespace: doca5
      spec:
        arch: arm64
        clusterName: doca5
        management:
          autoRepair: false
          replace:
            rollingUpdate:
              maxSurge: 1
              maxUnavailable: 0
            strategy: RollingUpdate
          upgradeType: InPlace
        platform:
          agent:
            agentLabelSelector: {}
          type: Agent
        release:
          image: quay.io/openshift-release-dev/ocp-release:4.16.21-multi
        replicas: 1    

              jparrill@redhat.com Juan Manuel Parrilla Madrid
              openshift-crt-jira-prow OpenShift Prow Bot
              Liangquan Li Liangquan Li
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: