arrayxtremio

package
v3.0.0-rc45 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package arrayxtremio drives a Dell EMC XtremIO array through its rest api.

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.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDriver

func NewDriver() array.Driver

NewDriver returns an XtremIO array driver.

Types

type Array

type Array struct {
	array.Array
	// contains filtered or unexported fields
}

Array is one XtremIO array, as the node or cluster configuration declares it.

func New

func New() *Array

New returns an XtremIO array.

func (*Array) Actions

func (t *Array) Actions() []array.Action

Actions returns what this array answers to.

func (*Array) AddDisk

func (t *Array) AddDisk(ctx context.Context, opt OptAddDisk) (any, error)

AddDisk creates a volume and exports it.

func (*Array) AddMap

func (t *Array) AddMap(ctx context.Context, opt OptAddMap) (any, error)

AddMap exports a volume.

Naming the mappings asks the array which groups the ports belong to, and one mapping is made per pair of groups. Naming an initiator group instead makes the one mapping it names.

func (*Array) DelDisk

func (t *Array) DelDisk(ctx context.Context, volume string) (any, error)

DelDisk unexports a volume and deletes it.

func (*Array) DelMap

func (t *Array) DelMap(ctx context.Context, mapping string) error

DelMap removes one mapping, named by index or by name.

func (*Array) DelVolumeMappings

func (t *Array) DelVolumeMappings(ctx context.Context, volume string) error

DelVolumeMappings unexports a volume from everything it is exported to.

func (*Array) GetVolume

func (t *Array) GetVolume(ctx context.Context, volume string) (*volumeContent, error)

GetVolume returns what the array says about one volume, named by index or by name.

func (*Array) GetVolumeMappings

func (t *Array) GetVolumeMappings(ctx context.Context, volume string) (lunMapsAnswer, error)

GetVolumeMappings returns the mappings of a volume.

func (*Array) Reports

func (t *Array) Reports() []array.Report

Reports returns the sections of its configuration this array pushes to the collector.

The section names are the ones v2 pushes for an xtremio array, because the collector reads them to know what it was handed.

func (*Array) ResizeDisk

func (t *Array) ResizeDisk(ctx context.Context, volume, size string) (any, error)

ResizeDisk grows a volume. A size beginning with a plus is added to the size the volume has.

func (*Array) Run

func (t *Array) Run(args []string) error

Run builds the command tree of this array and runs the arguments through it. What the tree holds is declared in Actions.

type OptAddDisk

type OptAddDisk struct {
	Name              string
	Size              string
	Blocksize         int
	Tags              []string
	AlignmentOffset   int
	SmallIOAlerts     string
	UnalignedIOAlerts string
	VAAITPAlerts      string
	Access            string
	Mappings          []string
	LUN               int
}

OptAddDisk is what "add disk" was asked for.

type OptAddMap

type OptAddMap struct {
	Volume         string
	Mappings       []string
	InitiatorGroup string
	TargetGroup    string
	LUN            int
}

OptAddMap is what "add map" was asked for.

type OptDelMap

type OptDelMap struct {
	Mapping        string
	Volume         string
	InitiatorGroup string
	TargetGroup    string
}

OptDelMap is what "del map" was asked for.

Jump to

Keyboard shortcuts

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