Documentation ¶
Index ¶
- Constants
- type SANStorageDriver
- func (d *SANStorageDriver) Create(volConfig *storage.VolumeConfig, storagePool *storage.Pool, ...) error
- func (d *SANStorageDriver) CreateClone(volConfig *storage.VolumeConfig) error
- func (d *SANStorageDriver) CreateFollowup(volConfig *storage.VolumeConfig) error
- func (d *SANStorageDriver) CreateHostForLocalHost() (api.HostEx, error)
- func (d *SANStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) error
- func (d *SANStorageDriver) CreateSnapshot(snapConfig *storage.SnapshotConfig) (*storage.Snapshot, error)
- func (d *SANStorageDriver) DeleteSnapshot(snapConfig *storage.SnapshotConfig) error
- func (d *SANStorageDriver) Destroy(name string) error
- func (d *SANStorageDriver) Get(name string) error
- func (d *SANStorageDriver) GetExternalConfig() interface{}
- func (d *SANStorageDriver) GetInternalVolumeName(name string) string
- func (d *SANStorageDriver) GetProtocol() tridentconfig.Protocol
- func (d *SANStorageDriver) GetSnapshot(snapConfig *storage.SnapshotConfig) (*storage.Snapshot, error)
- func (d *SANStorageDriver) GetSnapshots(volConfig *storage.VolumeConfig) ([]*storage.Snapshot, error)
- func (d *SANStorageDriver) GetStorageBackendSpecs(backend *storage.Backend) error
- func (d *SANStorageDriver) GetUpdateType(driverOrig storage.Driver) *roaring.Bitmap
- func (d *SANStorageDriver) GetVolumeExternal(name string) (*storage.VolumeExternal, error)
- func (d *SANStorageDriver) GetVolumeExternalWrappers(channel chan *storage.VolumeExternalWrapper)
- func (d *SANStorageDriver) GetVolumeOpts(volConfig *storage.VolumeConfig, pool *storage.Pool, ...) (map[string]string, error)
- func (d *SANStorageDriver) Import(volConfig *storage.VolumeConfig, originalName string) error
- func (d *SANStorageDriver) Initialize(context tridentconfig.DriverContext, configJSON string, ...) error
- func (d *SANStorageDriver) Initialized() bool
- func (d *SANStorageDriver) MapVolumeToLocalHost(volume api.VolumeEx) (api.LUNMapping, error)
- func (d *SANStorageDriver) Name() string
- func (d *SANStorageDriver) Protocol() string
- func (d *SANStorageDriver) Publish(name string, publishInfo *utils.VolumePublishInfo) error
- func (d *SANStorageDriver) Rename(name string, newName string) error
- func (d *SANStorageDriver) Resize(volConfig *storage.VolumeConfig, sizeBytes uint64) error
- func (d *SANStorageDriver) RestoreSnapshot(snapConfig *storage.SnapshotConfig) error
- func (d *SANStorageDriver) StoreConfig(b *storage.PersistentStorageBackendConfig)
- func (d *SANStorageDriver) Terminate()
Constants ¶
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 (*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 (d *SANStorageDriver) StoreConfig(b *storage.PersistentStorageBackendConfig)
func (*SANStorageDriver) Terminate ¶
func (d *SANStorageDriver) Terminate()