Troubleshoot Extended Storage Backend Issues

This section describes common issues that occur when configuring an ESB with StarlingX OpenStack, and how to resolve them.

Inspect a Down Storage Backend

If a backend shows down in openstack volume service list, the driver failed to initialize. Check the Cinder volume pod log to determine whether the issue is caused by authentication failure, a missing driver option, or a network connectivity problem.

~(keystone_admin)]$ kubectl -n openstack logs \
                    $(kubectl get pods -n openstack -o name | grep cinder-volume | head -n 1) \
                    -c cinder-volume | grep -iE "driver|error"

Common Issues

Issue

Resolution

A backend is missing from Cinder but there is no error in the apply output.

Verify that the backend is enabled, included in a priority list, and configured with a valid protocol value: iscsi, fcp, or nfs. An entry with an invalid protocol, no matching backends_conf entry, or a reserved strict-backend name (ceph, netapp-nfs, netapp-iscsi, netapp-fc) is skipped when another valid backend exists.

The apply succeeds but the backend shows down.

The driver failed to initialize. Check the Cinder volume pod log. Authentication errors indicate wrong credentials in the Secret, a “not initialized” error indicates an incomplete volume_backend, and a timeout indicates a connectivity issues.

The apply is blocked because the Secret or a declared key is missing.

Create the Secret in the correct namespace and verify that it contains every key referenced in secretRef.keys .

The apply is blocked while resolving a StorageClass for a chart.

The chart’s priority list does not contain a backend with a usable StorageClass. Add a backend with a real k8s_storage_class, and verify that the StorageClass exists using kubectl get storageclass.

The apply fails while upgrading the MariaDB or RabbitMQ release (StatefulSet update forbidden).

The StorageClass of an existing claim was changed. Follow the procedure in Select the Backend for Other Services to back up, remove, delete the claims, and re-apply.

The apply times out on the Libvirt release with the Libvirt pod Pending.

The Nova ephemeral PVC path is pointed at a SAN StorageClass. Use an NFS-based StorageClass, or leave Nova on host-path.

The TLS handshake to the array fails at runtime, though the apply succeeded.

The certificate path in storage_conf.tls.host_cert did not exist at apply time, so the certificate was not mounted. Place the CA certificate at the configured path and re-apply.