solidfire

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (

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

	MaxLabelLength = 512
)
View Source
const MinimumVolumeSizeBytes = 1000000000 // 1 GB

Variables

This section is empty.

Functions

func MakeSolidFireName

func MakeSolidFireName(name string) string

MakeSolidFireName normalizes names for Solidfire

Types

type SANStorageDriver

type SANStorageDriver struct {
	Config drivers.SolidfireStorageDriverConfig

	Client           *api.Client
	AccountID        int64
	AccessGroups     []int64
	LegacyNamePrefix string
	InitiatorIFace   string
	DefaultMinIOPS   int64
	DefaultMaxIOPS   int64
	// contains filtered or unexported fields
}

SANStorageDriver is for iSCSI storage provisioning

func (*SANStorageDriver) AddMissingVolumesToVag

func (d *SANStorageDriver) AddMissingVolumesToVag(ctx context.Context, vagID int64, vols []int64) error

AddMissingVolumesToVag adds volume ID's in the provided list that aren't already a member of the specified VAG

func (*SANStorageDriver) BackendName

func (d *SANStorageDriver) BackendName() string

BackendName returns the name of the backend managed by this driver instance

func (*SANStorageDriver) CanSnapshot

CanSnapshot determines whether a snapshot as specified in the provided snapshot config may be taken.

func (*SANStorageDriver) Create

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

Create a SolidFire volume

func (*SANStorageDriver) CreateClone

func (d *SANStorageDriver) CreateClone(
	ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, storagePool storage.Pool,
) error

CreateClone creates a volume clone

func (*SANStorageDriver) CreateFollowup

func (d *SANStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error

func (*SANStorageDriver) CreatePrepare

func (d *SANStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)

func (*SANStorageDriver) CreateSnapshot

func (d *SANStorageDriver) CreateSnapshot(
	ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig,
) (*storage.Snapshot, error)

CreateSnapshot creates a snapshot for the given volume

func (*SANStorageDriver) DeleteSnapshot

func (d *SANStorageDriver) DeleteSnapshot(
	ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig,
) error

DeleteSnapshot deletes a snapshot of a volume.

func (*SANStorageDriver) Destroy

func (d *SANStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error

Destroy the requested docker volume

func (*SANStorageDriver) Get

func (d *SANStorageDriver) Get(ctx context.Context, name string) error

Get tests for the existence of a volume

func (SANStorageDriver) GetCommonConfig

GetCommonConfig returns driver's CommonConfig

func (*SANStorageDriver) GetExternalConfig

func (d *SANStorageDriver) GetExternalConfig(ctx context.Context) interface{}

func (*SANStorageDriver) GetInternalVolumeName

func (d *SANStorageDriver) GetInternalVolumeName(ctx context.Context, name string) string

func (*SANStorageDriver) GetProtocol

func (*SANStorageDriver) GetSnapshot

func (d *SANStorageDriver) GetSnapshot(
	ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig,
) (*storage.Snapshot, error)

GetSnapshot gets a snapshot. To distinguish between an API error reading the snapshot and a non-existent snapshot, this method may return (nil, nil).

func (*SANStorageDriver) GetSnapshots

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

GetSnapshots returns the list of snapshots associated with the specified volume

func (*SANStorageDriver) GetStorageBackendPhysicalPoolNames

func (d *SANStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string

GetStorageBackendPhysicalPoolNames retrieves storage backend physical pools

func (*SANStorageDriver) GetStorageBackendSpecs

func (d *SANStorageDriver) GetStorageBackendSpecs(_ context.Context, backend storage.Backend) error

GetStorageBackendSpecs retrieves storage backend capabilities

func (*SANStorageDriver) GetUpdateType

func (d *SANStorageDriver) GetUpdateType(ctx context.Context, driverOrig storage.Driver) *roaring.Bitmap

GetUpdateType returns a bitmap populated with updates to the driver

func (*SANStorageDriver) GetVolume

func (d *SANStorageDriver) GetVolume(ctx context.Context, name string) (api.Volume, error)

GetVolume returns volume, if the name of the volume is unique

func (*SANStorageDriver) GetVolumeExternal

func (d *SANStorageDriver) GetVolumeExternal(ctx context.Context, 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(ctx context.Context, 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, _ map[string]sa.Request,
) (map[string]string, error)

func (SANStorageDriver) GoString

func (d SANStorageDriver) GoString() string

GoString implements GoStringer interface for the SANStorageDriver driver

func (*SANStorageDriver) Import

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

func (*SANStorageDriver) Initialize

func (d *SANStorageDriver) Initialize(
	ctx context.Context, context tridentconfig.DriverContext, configJSON string,
	commonConfig *drivers.CommonStorageDriverConfig, backendSecret map[string]string, backendUUID string,
) error

Initialize from the provided config

func (*SANStorageDriver) Initialized

func (d *SANStorageDriver) Initialized() bool

func (SANStorageDriver) Name

func (d SANStorageDriver) Name() string

Name is for returning the name of this driver

func (*SANStorageDriver) Publish

func (d *SANStorageDriver) Publish(
	ctx context.Context, volConfig *storage.VolumeConfig, 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) ReconcileNodeAccess

func (d *SANStorageDriver) ReconcileNodeAccess(ctx context.Context, nodes []*utils.Node, _ string) error

func (*SANStorageDriver) Rename

func (*SANStorageDriver) Resize

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

Resize expands the volume size.

func (*SANStorageDriver) RestoreSnapshot

func (d *SANStorageDriver) RestoreSnapshot(
	ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig,
) error

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

func (*SANStorageDriver) StoreConfig

func (SANStorageDriver) String

func (d SANStorageDriver) String() string

String implements stringer interface for the SANStorageDriver driver

func (*SANStorageDriver) Terminate

func (d *SANStorageDriver) Terminate(ctx context.Context, _ string)

func (*SANStorageDriver) VerifyVags

func (d *SANStorageDriver) VerifyVags(ctx context.Context, vags []int64) ([]int64, error)

VerifyVags verifies that the provided list of VAG ID's exist, return list of those that don't

func (*SANStorageDriver) VolumeExists

func (d *SANStorageDriver) VolumeExists(ctx context.Context, name string) (bool, error)

VolumeExists returns true if at least one volume with name exists

type Telemetry

type Telemetry struct {
	tridentconfig.Telemetry
	Plugin string `json:"plugin"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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