cephfs: add various error strings for command validation

Compared to previous version of the error strings, this change
depend on error strings like ENOENT, EEXIST, EINVAL..etc
The format of the error strings change in different cluster versions
and the error code return should not change. This also add extra
error strings for snapshot and clone operation outputs

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
This commit is contained in:
Humble Chirammal 2020-08-04 00:13:31 +05:30 committed by mergify[bot]
parent 6dcf03a4bc
commit 1746b4e6ee

View File

@ -16,7 +16,10 @@ limitations under the License.
package cephfs package cephfs
import "errors" import (
"errors"
"fmt"
)
var ( var (
// ErrInvalidVolID is returned when a CSI passed VolumeID is not conformant to any known volume ID // ErrInvalidVolID is returned when a CSI passed VolumeID is not conformant to any known volume ID
@ -25,6 +28,17 @@ var (
// ErrNonStaticVolume is returned when a volume is detected as not being // ErrNonStaticVolume is returned when a volume is detected as not being
// statically provisioned. // statically provisioned.
ErrNonStaticVolume = errors.New("volume not static") ErrNonStaticVolume = errors.New("volume not static")
// ErrVolNotEmpty is returned when a subvolume has snapshots in it.
ErrVolNotEmpty = fmt.Errorf("%v", "Error ENOTEMPTY")
// ErrVolumeNotFound is returned when a subvolume is not found in CephFS. // ErrVolumeNotFound is returned when a subvolume is not found in CephFS.
ErrVolumeNotFound = errors.New("volume not found") ErrVolumeNotFound = fmt.Errorf("%v", "Error ENOENT")
// ErrInvalidCommand is returned when a command is not known to the cluster
ErrInvalidCommand = fmt.Errorf("%v", "Error EINVAL")
// ErrSnapNotFound is returned when snap name passed is not found in the list of snapshots for the
// given image.
ErrSnapNotFound = fmt.Errorf("%v", "Error ENOENT")
// ErrSnapProtectionExist is returned when the snapshot is already protected
ErrSnapProtectionExist = fmt.Errorf("%v", "Error EEXIST")
// ErrCloneInProgress is returned when snapshot clone state is `in progress`
ErrCloneInProgress = fmt.Errorf("in progress")
) )