Handle Delete operation if pool not found

If the backend rbd or cephfs pool is already deleted
we need to return success to the  DeleteVolume RPC
call to make it idempotent.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commit is contained in:
Madhu Rajanna
2020-01-31 14:19:11 +05:30
committed by mergify[bot]
parent 034b123478
commit 8dcb6a6105
8 changed files with 144 additions and 7 deletions

View File

@ -114,7 +114,7 @@ func GetPoolName(ctx context.Context, monitors string, cr *Credentials, poolID i
}
}
return "", fmt.Errorf("pool ID (%d) not found in Ceph cluster", poolID)
return "", ErrPoolNotFound{string(poolID), fmt.Errorf("pool ID (%d) not found in Ceph cluster", poolID)}
}
// SetOMapKeyValue sets the given key and value into the provided Ceph omap name

View File

@ -56,3 +56,13 @@ type ErrSnapNameConflict struct {
func (e ErrSnapNameConflict) Error() string {
return e.err.Error()
}
// ErrPoolNotFound is returned when pool is not found
type ErrPoolNotFound struct {
Pool string
Err error
}
func (e ErrPoolNotFound) Error() string {
return e.Err.Error()
}