---
name: openshift-ts-storage-ocs-pending
title: Why are the OpenShift Data Foundation pods stuck at `Pending`?
description: When you list pods in the `openshift-storage` namespace, the OpenShift Data Foundation pods are stuck at `Pending` status.
last-updated: 2026-06-26
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/openshift?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Why are the OpenShift Data Foundation pods stuck at `Pending`?
{: #ts-ocs-pods-pending-status}
{: support}

When you list pods in the `openshift-storage` namespace, the OpenShift Data Foundation pods are stuck at `Pending` status.
{: shortdesc}

When you run `oc get pods -n openshift-storage`, the OpenShift Data Foundation pods show a `Pending` status.
{: tsSymptoms}

To determine why your storage cluster pods are stuck at `Pending`, describe the pods that have the `Pending` status.
{: tsCauses}

```sh 
oc describe pod <pod> -n openshift-storage
```
{: pre}

In the output, check the `Events` section for the following error:
```sh
"Error: 0/3 nodes are available: 1 node(s) didn't match pod affinity/anti-affinity, 2 node(s) had volume node affinity conflict"
```
{: screen}

This error indicates that the classic or VPC cluster where your OpenShift Data Foundation storage cluster is installed is a multizone cluster, but the storage classes specified in the `monStorageClassName` or `osdStorageClassName` fields have a `VolumeBindingMode` parameter set to `Immediate`.

The `VolumeBindingMode` parameter controls when volume binding and dynamic provisioning occur. When set to `Immediate`, volumes are provisioned as soon as the PVC is created. However, multizone OpenShift Data Foundation deployments require storage classes with `VolumeBindingMode` set to `WaitForFirstConsumer`, which delays volume binding until a pod using the PVC is scheduled. This ensures that volumes are created in the same zone as the pod.
{: tsResolve}

1. [Create your own storage class](https://cloud.ibm.com/docs/openshift?topic=openshift-vpc-block&format=markdown#vpc-customize-storage-class) with the `VolumeBindingMode` set to `WaitForFirstConsumer`, or choose a pre-existing storage class with the same parameters.

2. List the name of your OpenShift Data Foundation storage cluster.
    ```sh
    oc get storagecluster -n openshift-storage
    ```
    {: pre}

    Example output:
    ```sh
    NAME                 AGE
    ocs-storagecluster   71d
    ```
    {: screen}

3. Delete the storage cluster.
    ```sh
    oc delete storagecluster <storage_cluster_name> -n openshift-storage
    ```
    {: pre}

4. Verify that your storage cluster is deleted and is not listed.
    ```sh
    oc get storagecluster -n openshift-storage
    ```
    {: pre}

5. [Re-create the storage cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-deploy-odf-vpc&format=markdown) with the storage class you chose in step 1. Make sure to specify the correct storage class in the `monStorageClassName` and `osdStorageClassName` fields.