resdiskxp8

package
v3.0.0-rc5 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrReplicationLinkFailed = errors.New("replication link failed")
)
View Source
var Keywords = []*keywords.Keyword{
	{
		Attr:      "Instance",
		Converter: "int",
		Example:   "0",
		Option:    "instance",
		Required:  true,
		Scopable:  true,
		Text:      keywords.NewText(fs, "text/kw/instance"),
	},
	{
		Attr:     "Group",
		Example:  "orasvc1",
		Option:   "group",
		Required: true,
		Scopable: true,
		Text:     keywords.NewText(fs, "text/kw/group"),
	},
	{
		Attr:      "SplitStart",
		Option:    "split_start",
		Converter: "bool",
		Default:   "false",
		Scopable:  true,
		Text:      keywords.NewText(fs, "text/kw/split_start"),
	},
	{
		Attr:      "Timeout",
		Converter: "duration",
		Default:   "10s",
		Option:    "timeout",
		Scopable:  true,
		Text:      keywords.NewText(fs, "text/kw/timeout"),
	},
	{
		Attr:      "StartTimeout",
		Converter: "duration",
		Default:   "5m",
		Option:    "start_timeout",
		Scopable:  true,
		Text:      keywords.NewText(fs, "text/kw/start_timeout"),
	},
}

Keywords exposes the driver keyword definitions to the om3 manifest system.

Functions

func New

func New() resource.Driver

New returns a new driver instance satisfying resource.Driver.

Types

type T

type T struct {
	resdisk.T

	Path naming.Path `json:"path"`

	// Instance is the local HORCM instance number (used with -g and -I flags).
	Instance int `json:"instance"`

	// Group is the volume group name as defined in horcm.conf.
	Group string `json:"group"`

	// Timeout is the maximum duration to wait for a pair query operation to complete.
	Timeout *time.Duration `json:"timeout"`

	// StartTimeout is the maximum duration to wait for a pair takeover operation to complete.
	StartTimeout *time.Duration `json:"start_timeout"`

	// SplitStart must be set to allow start on a SSUS S-VOL (split pair)
	SplitStart bool `json:"split_start"`
	// contains filtered or unexported fields
}

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

func (*T) Abort

func (t *T) Abort(ctx context.Context) bool

Abort prevents starting the instance when we can forsee it will fail at this resource.

func (*T) BeforeGroup

func (t *T) BeforeGroup() driver.Group

func (*T) Boot

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

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 om3 core the driver identity and keyword schema.

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 XP8 pairs exist.

func (*T) Resync

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

SyncResync re-establishes the replication after a split.

func (*T) Split

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

SyncSplit splits the pair (suspend replication), making the R-VOL read-write accessible on the remote side.

func (*T) Start

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

func (*T) Status

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

Status returns the resource status.

The resource is considered Up (in-sync) when all pairs report PAIR state. COPY mean a resync is in progress — reported as Warn. PSUS/PDUB are reported as Down.

func (*T) Stop

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

func (*T) SubDevices

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

Jump to

Keyboard shortcuts

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