Documentation ¶
Index ¶
- Constants
- type SANStorageDriver
- func (d *SANStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
- func (d *SANStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
- func (d *SANStorageDriver) CreateFollowup(volConfig *storage.VolumeConfig) error
- func (d *SANStorageDriver) CreateHostForLocalHost() (api.HostEx, error)
- func (d *SANStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) bool
- 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) 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) 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) Resize(name string, sizeBytes uint64) error
- func (d *SANStorageDriver) SnapshotList(name string) ([]storage.Snapshot, error)
- func (d *SANStorageDriver) StoreConfig(b *storage.PersistentStorageBackendConfig)
- func (d *SANStorageDriver) Terminate()
- type SANStorageDriverConfigExternal
Constants ¶
const DefaultHostType = "linux_dm_mp"
const MinimumVolumeSizeBytes = 1048576 // 1 MiB
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 ¶
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(name, source, snapshot string, opts map[string]string) 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) bool
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) 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) 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) Resize ¶
func (d *SANStorageDriver) Resize(name string, 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) SnapshotList ¶
func (d *SANStorageDriver) SnapshotList(name string) ([]storage.Snapshot, error)
SnapshotList returns the list of snapshots associated with the named volume. The E-series volume plugin does not support snapshots, so this method always returns an empty array.
func (*SANStorageDriver) StoreConfig ¶
func (d *SANStorageDriver) StoreConfig(b *storage.PersistentStorageBackendConfig)
func (*SANStorageDriver) Terminate ¶
func (d *SANStorageDriver) Terminate()