csimigrator

package
v1.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2024 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// NoState empty state of MigrationGroup
	NoState = ""
	// ReadyState name of first valid state of MigrationGroup
	ReadyState = "Ready"
	// ErrorState name of error state of MigrationGroup
	ErrorState = "Error"
	// MigratedState name of post migrate call state of MigrationGroup
	MigratedState = "Migrated"
	// CommitReadyState name of state of MigrationGroup post node rescan operation
	CommitReadyState = "CommitReady"
	// CommittedState name of state of MigrationGroup post commit operation
	CommittedState = "Committed"
	// DeletingState name deletion state of MigrationGroup
	DeletingState = "Deleting"
	// ArrayMigrationState key used to annotate MigrationGroup CR through ArrayMigration phases
	ArrayMigrationState = "ArrayMigrate"
	// MaxRetryDurationForActions maximum amount of time between retries of failed action
	MaxRetryDurationForActions = 1 * time.Hour
	// SymmetrixIDParam key for storing arrayID
	SymmetrixIDParam = "SYMID"
	// RemoteSymIDParam key for storing remote arrayID
	RemoteSymIDParam = "RemoteSYMID"
	// NodeLabelFilter is filter to get all pmax nodes
	NodeLabelFilter = "powermax-node"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ActionAnnotation added in v1.4.0

type ActionAnnotation struct {
	ActionName string `json:"name"`
}

ActionAnnotation represents annotation that contains information about migration action

type ActionType added in v1.4.0

type ActionType string

ActionType is to check the next action

type MigrationGroupReconciler added in v1.4.0

type MigrationGroupReconciler struct {
	client.Client
	Log                        logr.Logger
	Scheme                     *runtime.Scheme
	EventRecorder              record.EventRecorder
	DriverName                 string
	MigrationClient            csimigration.Migration
	MaxRetryDurationForActions time.Duration
}

MigrationGroupReconciler reconciles PersistentVolume resources

func (*MigrationGroupReconciler) Reconcile added in v1.4.0

Reconcile contains reconciliation logic that updates MigrationGroup depending on it's current state

func (*MigrationGroupReconciler) SetupWithManager added in v1.4.0

func (r *MigrationGroupReconciler) SetupWithManager(mgr ctrl.Manager, limiter ratelimiter.RateLimiter, maxReconcilers int) error

SetupWithManager start using reconciler by creating new controller managed by provided manager

type NodeList added in v1.4.0

type NodeList struct {
	NodeNames map[string]string
	AllSynced bool
}

NodeList has node names on which rescan will happen

var NodesToRescan NodeList

NodesToRescan is a list of all nodes where pods are scheduled

type PersistentVolumeReconciler

type PersistentVolumeReconciler struct {
	client.Client
	Log               logr.Logger
	Scheme            *runtime.Scheme
	EventRecorder     record.EventRecorder
	DriverName        string
	MigrationClient   csimigration.Migration
	ContextPrefix     string
	SingleFlightGroup singleflight.Group
	Domain            string
	ReplDomain        string
}

PersistentVolumeReconciler reconciles PersistentVolume resources

func (*PersistentVolumeReconciler) Reconcile

Reconcile contains reconciliation logic that updates PersistentVolume depending on it's current state

func (*PersistentVolumeReconciler) SetupWithManager

func (r *PersistentVolumeReconciler) SetupWithManager(_ context.Context, mgr ctrl.Manager, limiter ratelimiter.RateLimiter, maxReconcilers int) error

SetupWithManager start using reconciler by creating new controller managed by provided manager

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL