mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-17 20:00:23 +00:00
rbd: add mirroring helper for image
Add helper methods for the rbd image mirroring. Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commit is contained in:
parent
03de220380
commit
132f258569
@ -20,8 +20,10 @@ import (
|
||||
"context"
|
||||
|
||||
"github.com/container-storage-interface/spec/lib/go/csi"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
)
|
||||
|
||||
//nolint:interfacebloat // more than 10 methods are needed for the interface
|
||||
type Volume interface {
|
||||
// Destroy frees the resources used by the Volume.
|
||||
Destroy(ctx context.Context)
|
||||
@ -40,4 +42,21 @@ type Volume interface {
|
||||
|
||||
// RemoveFromGroup removes the Volume from the VolumeGroup.
|
||||
RemoveFromGroup(ctx context.Context, vg VolumeGroup) error
|
||||
|
||||
// GetPoolName returns the name of the pool where the volume is stored.
|
||||
GetPoolName() string
|
||||
// GetCreationTime returns the creation time of the volume.
|
||||
GetCreationTime() (*timestamppb.Timestamp, error)
|
||||
// GetMetadata returns the value of the metadata key from the volume.
|
||||
GetMetadata(key string) (string, error)
|
||||
// SetMetadata sets the value of the metadata key on the volume.
|
||||
SetMetadata(key, value string) error
|
||||
// RepairResyncedImageID updates the existing image ID with new one in OMAP.
|
||||
RepairResyncedImageID(ctx context.Context, ready bool) error
|
||||
// HandleParentImageExistence checks the image's parent.
|
||||
// if the parent image does not exist and is not in trash, it returns nil.
|
||||
// if the flattenMode is FlattenModeForce, it flattens the image itself.
|
||||
// if the parent image is in trash, it returns an error.
|
||||
// if the parent image exists and is not enabled for mirroring, it returns an error.
|
||||
HandleParentImageExistence(ctx context.Context, flattenMode FlattenMode) error
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user