resdiskhp3par

package
v3.0.0-rc21 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2026 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrBuildCommand       = errors.New("error building command")
	ErrRCGNotFound        = errors.New("remote copy group not found")
	ErrArrayNotAccessible = errors.New("array not accessible")
	ErrReplicationFailed  = errors.New("replication operation failed")
)

Functions

func New

func New() resource.Driver

New returns a new driver instance satisfying resource.Driver.

Types

type Config

type Config struct {
	// Method is the connection method: ssh or cli
	Method string `json:"method"`
	// Manager is the array name or IP address
	Manager string `json:"manager"`
	// Username for SSH connections
	Username string `json:"username,omitempty"`
	// Key is the SSH private key file path or datastore reference
	Key string `json:"key,omitempty"`
	// CLI is the 3PAR CLI binary path or datastore reference
	CLI string `json:"cli,omitempty"`
	// PWF is the password file for CLI connections or datastore reference
	PWF string `json:"pwf,omitempty"`
}

Config holds the array configuration from the cluster config.

type T

type T struct {
	resdisk.T

	Path naming.Path `json:"path"`

	// Array is the suffix of the array configuration section (array#<suffix>).
	Array string `json:"array"`

	// Group is the name of the HP 3PAR remote copy group.
	Group string `json:"group"`

	// Mode is the replication mode: "sync" or "async".
	Mode string `json:"mode"`

	// MaxDelay is the max age of the last sync.
	MaxDelay *time.Duration `json:"max_delay"`

	// ForceSync trigger a sync before migrate if the group mode is Periodic.
	ForceSync bool

	// AutoTakeover allows failover when the arrays are split.
	AutoTakeover bool

	// Allow role swap when the arrays are joined.
	SwapRoles bool

	// Timeout is the maximum duration to wait for operations to complete.
	Timeout *time.Duration `json:"timeout"`

	// StartTimeout is the maximum duration to wait for start operations.
	StartTimeout *time.Duration `json:"start_timeout"`
	// contains filtered or unexported fields
}

T is the driver structure embedding the common disk resource base.

func (*T) Configure

func (t *T) Configure() error

func (*T) DriverID

func (t *T) DriverID() driver.ID

func (*T) Info

func (t *T) Info(ctx context.Context) (resource.InfoKeys, error)

Info returns key/value pairs used for resource info display.

func (*T) Label

func (t *T) Label(_ context.Context) string

Label returns a short human-readable description of the resource.

func (*T) Manifest

func (t *T) Manifest() *manifest.T

Manifest exposes to the core the input expected by the driver.

func (*T) Name

func (t *T) Name() string

func (*T) Provisioned

func (t *T) Provisioned(ctx context.Context) (provisioned.T, error)

Provisioned returns whether the RCG exists.

func (*T) Resume

func (t *T) Resume(ctx context.Context) error

Resume resumes the replication.

func (*T) Resync

func (t *T) Resync(ctx context.Context) error

Resync re-establishes the replication after a split.

func (*T) Split

func (t *T) Split(ctx context.Context) error

Split quiesces the replication.

func (*T) Start

func (t *T) Start(ctx context.Context) error

Start starts the replication in the appropriate direction.

func (*T) Status

func (t *T) Status(ctx context.Context) status.T

Status returns the resource status.

func (*T) Stop

func (t *T) Stop(ctx context.Context) error

Stop stops the replication.

func (*T) SubDevices

func (t *T) SubDevices(ctx context.Context) device.L

SubDevices returns the list of device files managed by this resource.

func (*T) Swap

func (t *T) Swap(ctx context.Context) error

Swap swaps the replication direction.

func (*T) Update

func (t *T) Update(ctx context.Context) error

Update performs a sync operation.

Jump to

Keyboard shortcuts

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