Uploaded image for project: 'FlightPath'
  1. FlightPath
  2. FLPATH-2794

Deployment scripts use incorrect storage class name causing PVC provisioning failures

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False

      Description

      The deployment scripts (deploy-strimzi.sh and install-helm-chart.sh) hardcode an incorrect storage class name for OpenShift deployments. The scripts use odf-storagecluster-ceph-rbd but the actual storage class available on OpenShift clusters is ocs-storagecluster-ceph-rbd (note the ocs vs odf prefix).

      This causes PersistentVolumeClaim (PVC) provisioning failures during Kafka/Strimzi deployment, resulting in pods stuck in Pending state indefinitely.

      Issue Details

      Two deployment scripts contain the incorrect storage class name:
      1. scripts/deploy-strimzi.sh:70 - Sets STORAGE_CLASS="odf-storagecluster-ceph-rbd"
      2. scripts/install-helm-chart.sh:1219 - Sets --set global.storageClass=odf-storagecluster-ceph-rbd

      The correct storage class name on OpenShift with OCS/ODF is ocs-storagecluster-ceph-rbd.

      Steps to Reproduce

        1. Deploy on an OpenShift cluster with OCS/ODF installed
          2. Run the Kafka deployment script:
             ./deploy-strimzi.sh
             

          3. Observe Kafka cluster pods (ZooKeeper, Kafka brokers) stuck in Pending state
          4. Check PVC status:

             oc get pvc -n kafka
             

          5. See error: storageclass.storage.k8s.io "odf-storagecluster-ceph-rbd" not found

      Expected Behavior

      • Deployment scripts should use the correct storage class name ocs-storagecluster-ceph-rbd
      • PVCs should provision successfully
      • Kafka/Strimzi pods should start and reach Running state within the timeout period

      Actual Behavior

      • Scripts reference non-existent storage class odf-storagecluster-ceph-rbd
      • PVC provisioning fails with "storageclass not found" error
      • ZooKeeper and Kafka broker pods remain stuck in Pending state
      • Deployment times out after waiting for pods to become ready

      Error Messages

      PVC provisioning error:

      ProvisioningFailed: storageclass.storage.k8s.io "odf-storagecluster-ceph-rbd" not found
      

      Pod events:

      Warning  FailedScheduling  pod/kafka-cluster-zookeeper-0  0/6 nodes are available: pod has unbound immediate PersistentVolumeClaims
      

      Workaround

      Before running the deployment, manually edit the scripts to use the correct storage class name, or set it explicitly:

      # For deploy-strimzi.sh
      export STORAGE_CLASS=ocs-storagecluster-ceph-rbd
      ./deploy-strimzi.sh
      

      Fix

      Change the storage class name from odf-storagecluster-ceph-rbd to ocs-storagecluster-ceph-rbd in:

      • scripts/deploy-strimzi.sh line 70
      • scripts/install-helm-chart.sh line 1219

      Version Information

      • Helm Chart: ros-ocp version 0.1.6
      • Git Commit (with fix): 3235f9b2b74b7097097186e7be586c796927a67f
      • Git Branch: fix/storage-class-name
      • Affected Files:
      • scripts/deploy-strimzi.sh (line 70)
      • scripts/install-helm-chart.sh (line 1219)
      • Affected Version: IOP-POC-0.1
      • Platform: OpenShift with OCS/ODF storage
      • Storage Class (Incorrect): odf-storagecluster-ceph-rbd
      • Storage Class (Correct): ocs-storagecluster-ceph-rbd

      Additional Context

      This appears to be a naming convention confusion between OpenShift Container Storage (OCS) and OpenShift Data Foundation (ODF). While the product was rebranded from OCS to ODF, the storage class names retained the ocs- prefix on existing clusters.

              Unassigned Unassigned
              chadcrum Chad Crum
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: