Why do I see wrong s3fs or IAM API endpoints when I create a PVC?

Troubleshoot persistent volume claims that fail with S3FS and IAM endpoint errors.

Virtual Private Cloud Classic infrastructure

This troubleshooting topic applies only to Red Hat OpenShift clusters that run version 3.11.

When you create the PVC, the PVC remains in a pending state. After you run the oc describe pvc <pvc_name> command, you see one of the following error messages:

Bad value for ibm.io/object-store-endpoint XXXX: scheme is missing. Must be of the form http://<hostname> or https://<hostname>
Bad value for ibm.io/iam-endpoint XXXX: scheme is missing. Must be of the form http://<hostname> or https://<hostname>

The s3fs API endpoint for the bucket that you want to use might have the wrong format, or your cluster is deployed in a location that is supported in Red Hat OpenShift on IBM Cloud but is not yet supported by the IBM Cloud Object Storage plug-in.

Complete the following steps:

  1. Check the s3fs API endpoint that was automatically assigned by the ibmc Helm plug-in to your storage classes during the IBM Cloud Object Storage plug-in installation. The endpoint is based on the location that your cluster is deployed to.

    oc get sc ibmc-s3fs-standard-regional -o yaml | grep object-store-endpoint
    

    If the command returns ibm.io/object-store-endpoint: NA, your cluster is deployed in a location that is supported in Red Hat OpenShift on IBM Cloud but is not yet supported by the IBM Cloud Object Storage plug-in. To add the location to the Red Hat OpenShift on IBM Cloud, post a question in Slack or open an IBM Cloud support case. For more information, see Getting help and support.

  2. If you manually added the s3fs API endpoint with the ibm.io/endpoint annotation or the IAM API endpoint with the ibm.io/iam-endpoint annotation in your PVC, make sure that you added the endpoints in the format https://<s3fs_api_endpoint> and https://<iam_api_endpoint>. The annotation overwrites the API endpoints that are automatically set by the ibmc plug-in in the IBM Cloud Object Storage storage classes.

    oc describe pvc <pvc_name>