controller

package
v1.6.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	ControllerErrorNoBackendServiceUnavailable = "no available backend due to service unavailable"
	ControllerErrorNoBackendReplicaError       = "no available backend due to replica error"
)
View Source
const (
	DefaultEngineReplicaTimeout = 8 * time.Second
)

Variables

View Source
var (
	ErrNoBackend = errors.New("no backend available")
)

Functions

func DetermineEngineReplicaTimeout added in v1.4.0

func DetermineEngineReplicaTimeout(timeout time.Duration) time.Duration

func DetermineIscsiTargetRequestTimeout added in v1.4.0

func DetermineIscsiTargetRequestTimeout(engineReplicaTimeout time.Duration) time.Duration

func GetReplicaDisksAndHead added in v1.2.5

func GetReplicaDisksAndHead(address, volumeName, instanceName string) (map[string]types.DiskInfo, string, error)

func NewFrontend added in v1.4.0

func NewFrontend(frontendType string, iscsiTargetRequestTimeout time.Duration) (types.Frontend, error)

Types

type BackendError

type BackendError struct {
	Errors map[string]error
}

func (*BackendError) Error

func (b *BackendError) Error() string

type Controller

type Controller struct {
	sync.RWMutex
	VolumeName string

	DataServerProtocol types.DataServerProtocol

	SnapshotMaxSize int64

	GRPCAddress string
	GRPCServer  *grpc.Server

	ShutdownWG sync.WaitGroup
	// contains filtered or unexported fields
}

func NewController

func NewController(name string, factory types.BackendFactory, frontend types.Frontend, isUpgrade, disableRevCounter, salvageRequested, unmapMarkSnapChainRemoved bool,
	iscsiTargetRequestTimeout, engineReplicaTimeout time.Duration, dataServerProtocol types.DataServerProtocol, fileSyncHTTPClientTimeout, snapshotMaxCount int, snapshotMaxSize int64) *Controller

func (*Controller) AddReplica

func (c *Controller) AddReplica(address string, snapshotRequired bool, mode types.Mode) error

func (*Controller) Close

func (c *Controller) Close() error

func (*Controller) Endpoint

func (c *Controller) Endpoint() string

func (*Controller) Expand

func (c *Controller) Expand(size int64) error

func (*Controller) Frontend

func (c *Controller) Frontend() string

func (*Controller) FrontendState

func (c *Controller) FrontendState() string

func (*Controller) GetExpansionErrorInfo added in v0.8.1

func (c *Controller) GetExpansionErrorInfo() (string, string)

func (*Controller) GetLatestMetics

func (c *Controller) GetLatestMetics() *ptypes.Metrics

func (*Controller) GetSnapshotMaxCount added in v1.6.0

func (c *Controller) GetSnapshotMaxCount() int

func (*Controller) GetSnapshotMaxSize added in v1.6.0

func (c *Controller) GetSnapshotMaxSize() int64

func (*Controller) GetUnmapMarkSnapChainRemoved added in v1.4.0

func (c *Controller) GetUnmapMarkSnapChainRemoved() bool

func (*Controller) IsExpanding

func (c *Controller) IsExpanding() bool

func (*Controller) ListReplicas

func (c *Controller) ListReplicas() []types.Replica

func (*Controller) PrepareRebuildReplica

func (c *Controller) PrepareRebuildReplica(address, instanceName string) ([]types.SyncFileInfo, error)

func (*Controller) ReadAt

func (c *Controller) ReadAt(b []byte, off int64) (int, error)

func (*Controller) RemoveReplica

func (c *Controller) RemoveReplica(address string) error

func (*Controller) Revert

func (c *Controller) Revert(name string) error

func (*Controller) SetReplicaMode

func (c *Controller) SetReplicaMode(address string, mode types.Mode) error

func (*Controller) SetSnapshotMaxCount added in v1.6.0

func (c *Controller) SetSnapshotMaxCount(count int) error

func (*Controller) SetSnapshotMaxSize added in v1.6.0

func (c *Controller) SetSnapshotMaxSize(size int64) error

func (*Controller) SetUnmapMarkSnapChainRemoved added in v1.4.0

func (c *Controller) SetUnmapMarkSnapChainRemoved(enabled bool) error

func (*Controller) Shutdown

func (c *Controller) Shutdown() error

func (*Controller) ShutdownFrontend

func (c *Controller) ShutdownFrontend() error

func (*Controller) Size

func (c *Controller) Size() int64

func (*Controller) Snapshot

func (c *Controller) Snapshot(name string, labels map[string]string) (string, error)

Snapshot will try to freeze the filesystem of the volume if possible and will fallback to a system level sync in all other cases

func (*Controller) Start

func (c *Controller) Start(volumeSize, volumeCurrentSize int64, addresses ...string) error

func (*Controller) StartFrontend

func (c *Controller) StartFrontend(frontend string) error

func (*Controller) StartGRPCServer

func (c *Controller) StartGRPCServer() error

func (*Controller) UnmapAt added in v1.4.0

func (c *Controller) UnmapAt(length uint32, off int64) (int, error)

func (*Controller) VerifyRebuildReplica

func (c *Controller) VerifyRebuildReplica(address, instanceName string) error

func (*Controller) WaitForShutdown

func (c *Controller) WaitForShutdown() error

func (*Controller) WriteAt

func (c *Controller) WriteAt(b []byte, off int64) (int, error)

type MultiUnmapperAt added in v1.4.0

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

func (*MultiUnmapperAt) UnmapAt added in v1.4.0

func (m *MultiUnmapperAt) UnmapAt(length uint32, off int64) (int, error)

type MultiUnmapperError added in v1.4.0

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

func (*MultiUnmapperError) Error added in v1.4.0

func (m *MultiUnmapperError) Error() string

type MultiWriterAt

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

func (*MultiWriterAt) WriteAt

func (m *MultiWriterAt) WriteAt(p []byte, off int64) (int, error)

type MultiWriterError

type MultiWriterError struct {
	Writers []io.WriterAt
	Errors  []error
}

func (*MultiWriterError) Error

func (m *MultiWriterError) Error() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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