-
Notifications
You must be signed in to change notification settings - Fork 382
Closed
Labels
Description
There is no ListVolumesError
message and so currently the only way to return error information from the RPC call Controller.ListVolumes
is to use a GeneralError
message:
message GeneralError {
enum GeneralErrorCode {
// Default value for backwards compatibility. SHOULD NOT be
// returned by Plugins. However, if a Plugin returns a
// `GeneralErrorCode` code that an older CSI client is not aware
// of, the client will see this code (the default fallback).
//
// Recovery behavior: Caller SHOULD consider updating CSI client
// to match Plugin CSI version.
UNKNOWN = 0;
// Indicates that an undefined error occurred. More human-readable
// information MAY be provided in the `error_description` field.
// The `caller_must_not_retry` field MUST be set appropriately by
// the Plugin to provide callers expected recovery behavior.
//
// Recovery behavior: Caller MAY retry (with exponential backoff),
// if `caller_must_not_retry` is set to false. Otherwise, the
// caller MUST not reissue the same request.
UNDEFINED = 1;
// Indicates that the version specified in the request is not
// supported by the Plugin. The `caller_must_not_retry` field MUST
// be set to true.
//
// Recovery behavior: Caller MUST NOT retry; caller SHOULD call
// `GetPluginInfo` to discover which CSI versions the Plugin
// supports.
UNSUPPORTED_REQUEST_VERSION = 2;
// Indicates that a required field is missing from the request.
// More human-readable information MAY be provided in the
// `error_description` field. The `caller_must_not_retry` field
// MUST be set to true.
//
// Recovery behavior: Caller MUST fix the request by adding the
// missing required field before retrying.
MISSING_REQUIRED_FIELD = 3;
}
The above error codes do not provide a meaningful response to the following Controller.ListVolumes
error cases:
- The
starting_token
value may be invalid. - If
max_entries
is greater than zero then a plug-in may need to return an error to indicate that it does not support pagination.