Documentation
¶
Index ¶
Constants ¶
const ( // ReadyState name of correct state of ReplicationGroup ReadyState = "Ready" // InvalidState name of invalid state of ReplicationGroup InvalidState = "Invalid" // ErrorState name of error state of ReplicationGroup ErrorState = "Error" // NoState empty state of ReplicationGroup NoState = "" // InProgress name of in progress state of ReplicationGroup InProgress = "IN_PROGRESS" // DeletingState name deletion state of ReplicationGroup DeletingState = "Deleting" // Action name of action field Action = "Action" // MaxRetryDurationForActions maximum amount of time between retries of failed action MaxRetryDurationForActions = 1 * time.Hour // MaxNumberOfConditions maximum length of conditions list MaxNumberOfConditions = 20 )
Variables ¶
This section is empty.
Functions ¶
func GetProtectionGroupIndexer ¶ added in v1.5.0
func GetProtectionGroupIndexer() (object runtime.Object, key string, indexerFunc client.IndexerFunc)
GetProtectionGroupIndexer provides access to local data for creating a fake client and adding an index for DellCSIReplicationGroup to the clients list of indexes. The index associated with DellCSIReplicationGroup GVK will map the key to the indexerFunc that will be used to retreive the value.
Types ¶
type ActionAnnotation ¶
type ActionAnnotation struct {
ActionName string `json:"name"`
Completed bool `json:"completed"`
FinalError string `json:"finalError"`
FinishTime string `json:"finishTime"`
ProtectionGroupStatus string `json:"protectionGroupStatus"`
SnapshotNamespace string `json:"snapshotNamespace"`
SnapshotClass string `json:"snapshotClass"`
}
ActionAnnotation represents annotation that contains information about replication action
type ActionResult ¶
type ActionResult struct {
ActionType ActionType
Time time.Time
Error error
IsFinalError bool
PGStatus *csiext.StorageProtectionGroupStatus
ActionAttributes map[string]string
}
ActionResult represents end result of replication action
type ActionType ¶
type ActionType string
ActionType represent replication action (FAILOVER, REPROTECT and etc.)
func (ActionType) Equals ¶
func (a ActionType) Equals(ctx context.Context, val string) bool
Equals allows to check if provided string is equal to current action type
func (ActionType) String ¶
func (a ActionType) String() string
type PersistentVolumeClaimReconciler ¶
type PersistentVolumeClaimReconciler struct {
client.Client
Log logr.Logger
Scheme *runtime.Scheme
EventRecorder record.EventRecorder
DriverName string
ReplicationClient csireplication.Replication
ContextPrefix string
SingleFlightGroup singleflight.Group
Domain string
}
PersistentVolumeClaimReconciler reconciles a PersistentVolumeClaim object
func (*PersistentVolumeClaimReconciler) Reconcile ¶
func (r *PersistentVolumeClaimReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Reconcile contains reconciliation logic that updates PersistentVolumeClaim depending on it's current state
func (*PersistentVolumeClaimReconciler) SetupWithManager ¶
func (r *PersistentVolumeClaimReconciler) SetupWithManager(mgr ctrl.Manager, limiter workqueue.TypedRateLimiter[reconcile.Request], maxReconcilers int) error
SetupWithManager start using reconciler by creating new controller managed by provided manager
type PersistentVolumeReconciler ¶
type PersistentVolumeReconciler struct {
client.Client
Log logr.Logger
Scheme *runtime.Scheme
EventRecorder record.EventRecorder
DriverName string
ReplicationClient csireplication.Replication
ContextPrefix string
SingleFlightGroup singleflight.Group
Domain string
ClusterUID string
}
PersistentVolumeReconciler reconciles PersistentVolume resources
func (*PersistentVolumeReconciler) Reconcile ¶
func (r *PersistentVolumeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Reconcile contains reconciliation logic that updates PersistentVolume depending on it's current state
func (*PersistentVolumeReconciler) SetupWithManager ¶
func (r *PersistentVolumeReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager, limiter workqueue.TypedRateLimiter[reconcile.Request], maxReconcilers int) error
SetupWithManager start using reconciler by creating new controller managed by provided manager
type ReplicationGroupMonitoring ¶
type ReplicationGroupMonitoring struct {
Lock sync.Mutex
client.Client
EventRecorder record.EventRecorder
Log logr.Logger
DriverName string
ReplicationClient csireplication.Replication
MonitoringInterval time.Duration
}
ReplicationGroupMonitoring structure for monitoring current status of replication groups
type ReplicationGroupReconciler ¶
type ReplicationGroupReconciler struct {
client.Client
Log logr.Logger
Scheme *runtime.Scheme
EventRecorder record.EventRecorder
DriverName string
ReplicationClient csireplication.Replication
SupportedActions []*csiext.SupportedActions
MaxRetryDurationForActions time.Duration
}
ReplicationGroupReconciler is a structure that watches and reconciles events on ReplicationGroup resources
func (*ReplicationGroupReconciler) Reconcile ¶
func (r *ReplicationGroupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Reconcile contains reconciliation logic that updates ReplicationGroup depending on it's current state
func (*ReplicationGroupReconciler) SetupWithManager ¶
func (r *ReplicationGroupReconciler) SetupWithManager(mgr ctrl.Manager, limiter workqueue.TypedRateLimiter[reconcile.Request], maxReconcilers int) error
SetupWithManager start using reconciler by creating new controller managed by provided manager