eseries

package
v19.10.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2020 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultHostType        = "linux_dm_mp"
	MinimumVolumeSizeBytes = 1048576 // 1 MiB

	// Constants for internal pool attributes
	Size   = "size"
	Region = "region"
	Zone   = "zone"
	Media  = "media"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type SANStorageDriver

type SANStorageDriver struct {
	Config drivers.ESeriesStorageDriverConfig
	API    *api.Client
	// contains filtered or unexported fields
}

SANStorageDriver is for storage provisioning via the Web Services Proxy RESTful interface that communicates with E-Series controllers via the SYMbol API.

func (*SANStorageDriver) Create

func (d *SANStorageDriver) Create(
	volConfig *storage.VolumeConfig, storagePool *storage.Pool, volAttributes map[string]sa.Request,
) error

Create is called by Docker to create a container volume. Besides the volume name, a few optional parameters such as size and disk media type may be provided in the opts map. If more than one pool on the storage controller can satisfy the request, the one with the most free space is selected.

func (*SANStorageDriver) CreateClone

func (d *SANStorageDriver) CreateClone(volConfig *storage.VolumeConfig) error

CreateClone creates a new volume from the named volume, either by direct clone or from the named snapshot. The E-series volume plugin does not support cloning or snapshots, so this method always returns an error.

func (*SANStorageDriver) CreateFollowup

func (d *SANStorageDriver) CreateFollowup(volConfig *storage.VolumeConfig) error

func (*SANStorageDriver) CreateHostForLocalHost

func (d *SANStorageDriver) CreateHostForLocalHost() (api.HostEx, error)

CreateHostForLocalHost ensures a Host definition corresponding to the local host exists on the array, defining a Host & HostGroup if not.

func (*SANStorageDriver) CreatePrepare

func (d *SANStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) error

func (*SANStorageDriver) CreateSnapshot

func (d *SANStorageDriver) CreateSnapshot(snapConfig *storage.SnapshotConfig) (*storage.Snapshot, error)

CreateSnapshot creates a snapshot for the given volume. The E-series volume plugin does not support cloning or snapshots, so this method always returns an error.

func (*SANStorageDriver) DeleteSnapshot

func (d *SANStorageDriver) DeleteSnapshot(snapConfig *storage.SnapshotConfig) error

DeleteSnapshot deletes a volume snapshot.

func (*SANStorageDriver) Destroy

func (d *SANStorageDriver) Destroy(name string) error

Destroy is called by Docker to delete a container volume.

func (*SANStorageDriver) Get

func (d *SANStorageDriver) Get(name string) error

Get test for the existence of a volume

func (*SANStorageDriver) GetExternalConfig

func (d *SANStorageDriver) GetExternalConfig() interface{}

func (*SANStorageDriver) GetInternalVolumeName

func (d *SANStorageDriver) GetInternalVolumeName(name string) string

func (*SANStorageDriver) GetProtocol

func (d *SANStorageDriver) GetProtocol() tridentconfig.Protocol

func (*SANStorageDriver) GetSnapshot

func (d *SANStorageDriver) GetSnapshot(snapConfig *storage.SnapshotConfig) (*storage.Snapshot, error)

GetSnapshot returns a snapshot of a volume, or an error if it does not exist.

func (*SANStorageDriver) GetSnapshots

func (d *SANStorageDriver) GetSnapshots(volConfig *storage.VolumeConfig) ([]*storage.Snapshot, error)

SnapshotList returns the list of snapshots associated with the specified volume. The E-series volume plugin does not support snapshots, so this method always returns an empty array.

func (*SANStorageDriver) GetStorageBackendSpecs

func (d *SANStorageDriver) GetStorageBackendSpecs(backend *storage.Backend) error

GetStorageBackendSpecs retrieve storage capabilities and register pools with specified backend.

func (*SANStorageDriver) GetUpdateType

func (d *SANStorageDriver) GetUpdateType(driverOrig storage.Driver) *roaring.Bitmap

GetUpdateType returns a bitmap populated with updates to the driver

func (*SANStorageDriver) GetVolumeExternal

func (d *SANStorageDriver) GetVolumeExternal(name string) (*storage.VolumeExternal, error)

GetVolumeExternal queries the storage backend for all relevant info about a single container volume managed by this driver and returns a VolumeExternal representation of the volume.

func (*SANStorageDriver) GetVolumeExternalWrappers

func (d *SANStorageDriver) GetVolumeExternalWrappers(
	channel chan *storage.VolumeExternalWrapper)

GetVolumeExternalWrappers queries the storage backend for all relevant info about container volumes managed by this driver. It then writes a VolumeExternal representation of each volume to the supplied channel, closing the channel when finished.

func (*SANStorageDriver) GetVolumeOpts

func (d *SANStorageDriver) GetVolumeOpts(
	volConfig *storage.VolumeConfig,
	pool *storage.Pool,
	requests map[string]sa.Request,
) (map[string]string, error)

func (*SANStorageDriver) Import

func (d *SANStorageDriver) Import(volConfig *storage.VolumeConfig, originalName string) error

func (*SANStorageDriver) Initialize

func (d *SANStorageDriver) Initialize(
	context tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig,
) error

Initialize from the provided config

func (*SANStorageDriver) Initialized

func (d *SANStorageDriver) Initialized() bool

func (*SANStorageDriver) MapVolumeToLocalHost

func (d *SANStorageDriver) MapVolumeToLocalHost(volume api.VolumeEx) (api.LUNMapping, error)

MapVolumeToLocalHost gets the iSCSI identity of the local host, ensures a corresponding Host definition exists on the array (defining a Host & HostGroup if not), maps the specified volume to the host/group (if it isn't already), and returns the mapping info.

func (*SANStorageDriver) Name

func (d *SANStorageDriver) Name() string

func (*SANStorageDriver) Protocol

func (d *SANStorageDriver) Protocol() string

func (*SANStorageDriver) Publish

func (d *SANStorageDriver) Publish(name string, publishInfo *utils.VolumePublishInfo) error

Publish the volume to the host specified in publishInfo. This method may or may not be running on the host where the volume will be mounted, so it should limit itself to updating access rules, initiator groups, etc. that require some host identity (but not locality) as well as storage controller API access.

func (*SANStorageDriver) Rename

func (d *SANStorageDriver) Rename(name string, newName string) error

func (*SANStorageDriver) Resize

func (d *SANStorageDriver) Resize(volConfig *storage.VolumeConfig, sizeBytes uint64) error

Resize expands the volume size. This method relies on the desired state model of Kubernetes and will not work with Docker.

func (*SANStorageDriver) RestoreSnapshot

func (d *SANStorageDriver) RestoreSnapshot(snapConfig *storage.SnapshotConfig) error

RestoreSnapshot restores a volume (in place) from a snapshot.

func (*SANStorageDriver) StoreConfig

func (*SANStorageDriver) Terminate

func (d *SANStorageDriver) Terminate()

Directories

Path Synopsis
This package provides a high-level interface to the E-series Web Services Proxy REST API.
This package provides a high-level interface to the E-series Web Services Proxy REST API.

Jump to

Keyboard shortcuts

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