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

HyperShift Operator Panic in NodePool Reconciler (KubeVirt + InPlace Upgrade)

    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Description of problem:

      The HyperShift operator (NodePool controller) panics when attempting to reconcile a NodePool for a Hosted Control Plane (HCP) on KubeVirt when spec.management.upgradeType: InPlace is specified. The NodePool remains stuck with no nodes created, and the operator logs show a runtime error: invalid memory address or nil pointer dereference.

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

      HCP 4.20    
      OCP 4.20
      MCE 2.10
      ACM 2.15

      How reproducible:

          100%

      Steps to Reproduce:

      1. Deploy a Hosted Control Plane on KubeVirt.
      2. Apply a NodePool manifest using upgradeType: InPlace and strategy: RollingUpdate.
      3. Observe the NodePool status (it stays empty).
      4. Check the logs of the hypershift-operator pod in the hypershift namespace.

      Actual results:

          The NodePool controller crashes/panics during reconciliation. No VirtualMachines or Machine objects are created.
      
      {"level":"error","ts":"2026-02-11T12:20:49Z","msg":"Reconciler error","controller":"nodepool","error":"panic: runtime error: invalid memory address or nil pointer dereference [recovered]","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler..."}

      Expected results:

      The operator should either:
      
      Successfully reconcile and create the nodes using the In-Place upgrade logic.
      
      Gracefully fail with a validation error if InPlace is not yet supported for the KubeVirt platform in this version.

      Additional info:

          nodepool YAML:
      
      apiVersion: hypershift.openshift.io/v1beta1
      kind: NodePool
      metadata:
        name: hosted-kubevirt-custom
        namespace: clusters
      spec:
        clusterName: hosted-kubevirt
        management:
          autoRepair: false
          upgradeType: InPlace 
          replace:
            strategy: RollingUpdate
        platform:
          type: KubeVirt
          kubevirt:
            compute:
              cores: 4
              memory: 8Gi
      
      
      
      

       

              ocohen@redhat.com Oren Cohen
              rhn-support-dpateriy Divyam Pateriya
              Yu Li Yu Li
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: