Documentation
¶
Overview ¶
Package arrayhds drives a Hitachi array through the HiCommand Device Manager command line interface.
It is a port of the v2 agent driver, and answers to the same commands with the same options, because the collector drives an array by running them. The collector calls this driver for its hds, hm700 and r700 models alike: they are one array type, named three ways.
Index ¶
- func NewDriver() array.Driver
- type Array
- func (t *Array) Actions() []array.Action
- func (t *Array) AddDisk(ctx context.Context, opt OptAddDisk) (any, error)
- func (t *Array) AddMap(ctx context.Context, opt OptAddMap) (any, error)
- func (t *Array) DelDisk(ctx context.Context, devnum string) (any, error)
- func (t *Array) DelMap(ctx context.Context, devnum string, mappings []string) (any, error)
- func (t *Array) ListLogicalUnits(ctx context.Context, devnum string) (any, error)
- func (t *Array) RenameDisk(ctx context.Context, devnum, name string) (any, error)
- func (t *Array) Reports() []array.Report
- func (t *Array) ResizeDisk(ctx context.Context, opt OptResizeDisk) (any, error)
- func (t *Array) Run(args []string) error
- type OptAddDisk
- type OptAddMap
- type OptResizeDisk
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Array ¶
Array is one Hitachi array, as the node or cluster configuration declares it.
func (*Array) AddDisk ¶
AddDisk creates a volume in a pool, names it, and exports it.
What is returned is what v2 returned, which a collector form stores: the disk id, the display name as the disk devid, the volume as the manager lists it, the paths to it, and the log of the commands run.
func (*Array) AddMap ¶
AddMap exports a volume to the domains the named initiators reach it through.
Every initiator and target pair must resolve to a port and to a domain of that port knowing the initiator: a pair that does not is a path the host would be missing, and is an error rather than skipped.
func (*Array) DelMap ¶
DelMap unexports a volume.
Naming the mappings unexports those. Naming none unexports every path to the volume, which is what deleting it does on the way.
func (*Array) ListLogicalUnits ¶
ListLogicalUnits returns the volumes of the array, or the one of a device number.
func (*Array) RenameDisk ¶
RenameDisk gives a volume a label.
func (*Array) Reports ¶
Reports returns the sections of its configuration this array pushes to the collector.
The section names are the ones v2 pushes for an hds array, because the collector reads them to know what it was handed.
func (*Array) ResizeDisk ¶
ResizeDisk resizes a volume. A size beginning with a plus is added to the size the volume has.
The volume is read first in every case: its capacity is what a size to add to is added to, and what a new size is checked against, as a size below it drops the end of the volume and is done only when truncating is allowed.
type OptAddDisk ¶
OptAddDisk is what "add disk" was asked for.
type OptResizeDisk ¶
OptResizeDisk is what "resize disk" was asked for.