The module lifecycle stage: Experimental

The module has requirements for installation

How to check the module health?

Check that all pods in the d8-csi-mind-ustor namespace are in the Running state:

d8 k -n d8-csi-mind-ustor get pods -o wide

The ustor-client-config pods run on every node selected by dataPlane.nodeSelector of the connection. The csi-node pods run on those of these nodes that have the uStor client installed, that is, the storage.deckhouse.io/csi-mind-ustor-client-ready=true label. The csi-controller pod runs only when a MindUstorStorageConnection exists.

Why is the MindUstorStorageConnection in the Failed phase?

The REASON column of the resource says what is wrong with the connection:

d8 k get mindustorstorageconnections.storage.deckhouse.io -o wide

The possible reasons and the actions to fix them:

Reason Action
Secret d8-csi-mind-ustor/<NAME> (...) not found Create the Secret in the d8-csi-mind-ustor namespace
Secret d8-csi-mind-ustor/<NAME> (...) lacks the keys ... Add the listed keys to the Secret
the login to the uStor management API fails (<REASON>): ... Fix the uStor user as described in Changing the password of the uStor user. A locked user must be unlocked by a uStor administrator
the module serves one uStor cluster and uses the MindUstorStorageConnection "<NAME>" Delete the extra connection: the module uses only the oldest one

Here, <NAME> is the name of the Secret or of the connection in use, and <REASON> is the reason of the Authenticated condition: UserLocked, PasswordExpired, TemporaryPassword, UserNotFound, LoginRejected or Unreachable.

Why is the MindUstorStorageClass in the Failed phase?

The REASON column of the resource says why the StorageClass is not created:

d8 k get mindustorstorageclasses.storage.deckhouse.io -o wide

The possible reasons and the actions to fix them:

Reason Action
MindUstorStorageConnection "<NAME>" not found Set connectionName to the name of an existing connection
MindUstorStorageConnection "<NAME>" is not in use: ... Fix the connection so that it is in the Created phase
StorageClass <NAME> already exists and is not managed by the module Delete the StorageClass or create the MindUstorStorageClass with another name

Here, <NAME> is the name of the connection or of the StorageClass.