dr

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2018 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArrayBasedFactory

type ArrayBasedFactory struct {
	// contains filtered or unexported fields
}

func (*ArrayBasedFactory) GetPrimaryOperator

func (a *ArrayBasedFactory) GetPrimaryOperator(controller volume.Controller) ReplicationOperator

func (*ArrayBasedFactory) GetSecondaryOperator

func (a *ArrayBasedFactory) GetSecondaryOperator(controller volume.Controller) ReplicationOperator

type ArrayPairOperator

type ArrayPairOperator struct {
	BaseOperator
}

func NewArrayPairOperator

func NewArrayPairOperator(controller volume.Controller, isPrimary bool) *ArrayPairOperator

func (*ArrayPairOperator) Create

func (a *ArrayPairOperator) Create(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) (*ReplicationSpec, error)

func (*ArrayPairOperator) Delete

func (a *ArrayPairOperator) Delete(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) error

type BaseOperator

type BaseOperator struct {
	// contains filtered or unexported fields
}

func (*BaseOperator) Disable

func (h *BaseOperator) Disable(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) error

func (*BaseOperator) Enable

func (h *BaseOperator) Enable(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) error

func (*BaseOperator) Failover

func (h *BaseOperator) Failover(ctx *c.Context, replica *ReplicationSpec, failover *FailoverReplicationSpec, vol *VolumeSpec) error

type Controller

type Controller interface {
	CreateReplication(ctx *c.Context, replica *ReplicationSpec, primaryVol, secondaryVol *VolumeSpec) (*ReplicationSpec, error)
	DeleteReplication(ctx *c.Context, replica *ReplicationSpec, primaryVol, secondaryVol *VolumeSpec) error
	EnableReplication(ctx *c.Context, replica *ReplicationSpec, primaryVol, secondaryVol *VolumeSpec) error
	DisableReplication(ctx *c.Context, replica *ReplicationSpec, primaryVol, secondaryVol *VolumeSpec) error
	FailoverReplication(ctx *c.Context, replica *ReplicationSpec, failover *FailoverReplicationSpec, primaryVol, secondaryVol *VolumeSpec) error
}

func NewController

func NewController(controller volume.Controller) Controller

NewController method creates a controller structure and expose its pointer.

type DrController

type DrController struct {
	// contains filtered or unexported fields
}

func (*DrController) CreateReplication

func (d *DrController) CreateReplication(ctx *c.Context, replica *ReplicationSpec, primaryVol,
	secondaryVol *VolumeSpec) (*ReplicationSpec, error)

func (*DrController) DeleteReplication

func (d *DrController) DeleteReplication(ctx *c.Context, replica *ReplicationSpec, primaryVol, secondaryVol *VolumeSpec) error

func (*DrController) DisableReplication

func (d *DrController) DisableReplication(ctx *c.Context, replica *ReplicationSpec, primaryVol, secondaryVol *VolumeSpec) error

func (*DrController) EnableReplication

func (d *DrController) EnableReplication(ctx *c.Context, replica *ReplicationSpec, primaryVol, secondaryVol *VolumeSpec) error

func (*DrController) FailoverReplication

func (d *DrController) FailoverReplication(ctx *c.Context, replica *ReplicationSpec,
	failover *FailoverReplicationSpec, primaryVol, secondaryVol *VolumeSpec) error

func (*DrController) LoadOperator

func (d *DrController) LoadOperator(replicationType string)

type HostBasedFactory

type HostBasedFactory struct {
	// contains filtered or unexported fields
}

func (*HostBasedFactory) GetPrimaryOperator

func (h *HostBasedFactory) GetPrimaryOperator(controller volume.Controller) ReplicationOperator

func (*HostBasedFactory) GetSecondaryOperator

func (h *HostBasedFactory) GetSecondaryOperator(controller volume.Controller) ReplicationOperator

type HostPairOperator

type HostPairOperator struct {
	BaseOperator
}

func NewHostPairOperator

func NewHostPairOperator(controller volume.Controller, isPrimary bool) *HostPairOperator

func (*HostPairOperator) Create

func (h *HostPairOperator) Create(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) (*ReplicationSpec, error)

func (*HostPairOperator) Delete

func (h *HostPairOperator) Delete(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) error

type ReplicationFactory

type ReplicationFactory interface {
	GetPrimaryOperator(controller volume.Controller) ReplicationOperator
	GetSecondaryOperator(controller volume.Controller) ReplicationOperator
}

func NewReplicationFactory

func NewReplicationFactory(replicaType string) ReplicationFactory

type ReplicationOperator

type ReplicationOperator interface {
	Create(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) (*ReplicationSpec, error)
	Delete(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) error
	Enable(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) error
	Disable(ctx *c.Context, replica *ReplicationSpec, vol *VolumeSpec) error
	Failover(ctx *c.Context, replica *ReplicationSpec, failover *FailoverReplicationSpec, vol *VolumeSpec) error
}

Jump to

Keyboard shortcuts

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