Documentation ¶
Overview ¶
Copyright 2022 NetApp, Inc. All Rights Reserved.
Index ¶
- Constants
- func CleanBackendName(backendName string) string
- func EMSHeartbeat(ctx context.Context, driver StorageDriver)
- func GetEncryptionValue(encryption string) (*bool, error)
- func GetISCSITargetInfo(ctx context.Context, clientAPI api.OntapAPI, ...) (iSCSINodeName string, iSCSIInterfaces []string, returnError error)
- func GetLUNPathEconomy(bucketName, volNameInternal string) string
- func GetOntapDriverRedactList() []string
- func GetSnapshotReserve(snapshotPolicy, snapshotReserve string) (int, error)
- func GetVolumeSize(sizeBytes uint64, poolDefaultSizeBytes string) (uint64, error)
- func InitializeOntapAPI(ctx context.Context, config *drivers.OntapStorageDriverConfig) (api.OntapAPI, error)
- func InitializeOntapConfig(ctx context.Context, driverContext tridentconfig.DriverContext, ...) (*drivers.OntapStorageDriverConfig, error)
- func InitializeOntapDriver(ctx context.Context, config *drivers.OntapStorageDriverConfig) (api.OntapAPI, error)
- func InitializeSANDriver(ctx context.Context, driverContext tridentconfig.DriverContext, ...) error
- func InitializeStoragePoolsCommon(ctx context.Context, d StorageDriver, poolAttributes map[string]sa.Offer, ...) (map[string]storage.Pool, map[string]storage.Pool, error)
- func IsDefaultAuthTypeCHAP(response api.IscsiInitiatorAuth) (bool, error)
- func IsDefaultAuthTypeDeny(response api.IscsiInitiatorAuth) (bool, error)
- func IsDefaultAuthTypeNone(response api.IscsiInitiatorAuth) (bool, error)
- func LunUnmapAllIgroups(ctx context.Context, clientAPI api.OntapAPI, lunPath string) error
- func PopulateConfigurationDefaults(ctx context.Context, config *drivers.OntapStorageDriverConfig) error
- func PopulateOntapLunMapping(ctx context.Context, clientAPI api.OntapAPI, ips []string, ...) error
- func PublishLUN(ctx context.Context, clientAPI api.OntapAPI, ...) error
- func RestoreSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func SplitVolumeFromBusySnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func ValidateDataLIF(ctx context.Context, dataLIF string, dataLIFs []string) ([]string, error)
- func ValidateNASDriver(ctx context.Context, api api.OntapAPI, ...) error
- func ValidateSANDriver(ctx context.Context, config *drivers.OntapStorageDriverConfig, ips []string) error
- func ValidateStoragePools(ctx context.Context, physicalPools, virtualPools map[string]storage.Pool, ...) error
- func ValidateStoragePrefix(storagePrefix string) error
- func ValidateStoragePrefixEconomy(storagePrefix string) error
- type ChapCredentials
- type HousekeepingTask
- type LUNHelper
- func (o *LUNHelper) GetBucketName(lunPath string) string
- func (o *LUNHelper) GetExternalVolumeNameFromPath(lunPath string) string
- func (o *LUNHelper) GetInternalVolumeName(volName string) string
- func (o *LUNHelper) GetInternalVolumeNameFromPath(path string) string
- func (o *LUNHelper) GetLUNPath(bucketName, volName string) string
- func (o *LUNHelper) GetLUNPathPattern(volName string) string
- func (o *LUNHelper) GetSnapPath(bucketName, internalVolName, snapName string) string
- func (o *LUNHelper) GetSnapPathPattern(bucketName string) string
- func (o *LUNHelper) GetSnapPathPatternForVolume(externalVolumeName string) string
- func (o *LUNHelper) GetSnapshotName(internalVolName, snapName string) string
- func (o *LUNHelper) GetSnapshotNameFromSnapLUNPath(snapLunPath string) string
- func (o *LUNHelper) IsValidSnapLUNPath(snapLunPath string) bool
- type NASDriver
- type NASFlexGroupStorageDriver
- func (d *NASFlexGroupStorageDriver) BackendName() string
- func (d *NASFlexGroupStorageDriver) CanSnapshot(_ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig) error
- func (d *NASFlexGroupStorageDriver) Create(ctx context.Context, volConfig *storage.VolumeConfig, storagePool storage.Pool, ...) error
- func (d *NASFlexGroupStorageDriver) CreateClone(ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, ...) error
- func (d *NASFlexGroupStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *NASFlexGroupStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)
- func (d *NASFlexGroupStorageDriver) CreateSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *NASFlexGroupStorageDriver) DeleteSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *NASFlexGroupStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *NASFlexGroupStorageDriver) Get(ctx context.Context, name string) error
- func (d *NASFlexGroupStorageDriver) GetAPI() api.OntapAPI
- func (d NASFlexGroupStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
- func (d *NASFlexGroupStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
- func (d *NASFlexGroupStorageDriver) GetExternalConfig(ctx context.Context) interface{}
- func (d *NASFlexGroupStorageDriver) GetInternalVolumeName(_ context.Context, name string) string
- func (d *NASFlexGroupStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
- func (d *NASFlexGroupStorageDriver) GetSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *NASFlexGroupStorageDriver) GetSnapshots(ctx context.Context, volConfig *storage.VolumeConfig) ([]*storage.Snapshot, error)
- func (d *NASFlexGroupStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string
- func (d *NASFlexGroupStorageDriver) GetStorageBackendSpecs(_ context.Context, backend storage.Backend) error
- func (d *NASFlexGroupStorageDriver) GetTelemetry() *Telemetry
- func (d *NASFlexGroupStorageDriver) GetUpdateType(_ context.Context, driverOrig storage.Driver) *roaring.Bitmap
- func (d *NASFlexGroupStorageDriver) GetVolumeExternal(ctx context.Context, name string) (*storage.VolumeExternal, error)
- func (d *NASFlexGroupStorageDriver) GetVolumeExternalWrappers(ctx context.Context, channel chan *storage.VolumeExternalWrapper)
- func (d *NASFlexGroupStorageDriver) GetVolumeOpts(ctx context.Context, volConfig *storage.VolumeConfig, ...) (map[string]string, error)
- func (d NASFlexGroupStorageDriver) GoString() string
- func (d *NASFlexGroupStorageDriver) Import(ctx context.Context, volConfig *storage.VolumeConfig, originalName string) error
- func (d *NASFlexGroupStorageDriver) Initialize(ctx context.Context, driverContext tridentconfig.DriverContext, ...) error
- func (d *NASFlexGroupStorageDriver) Initialized() bool
- func (d *NASFlexGroupStorageDriver) Name() string
- func (d *NASFlexGroupStorageDriver) Publish(ctx context.Context, volConfig *storage.VolumeConfig, ...) error
- func (d *NASFlexGroupStorageDriver) ReconcileNodeAccess(ctx context.Context, nodes []*utils.Node, backendUUID string) error
- func (d *NASFlexGroupStorageDriver) Rename(context.Context, string, string) error
- func (d *NASFlexGroupStorageDriver) Resize(ctx context.Context, volConfig *storage.VolumeConfig, ...) error
- func (d *NASFlexGroupStorageDriver) RestoreSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *NASFlexGroupStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
- func (d NASFlexGroupStorageDriver) String() string
- func (d *NASFlexGroupStorageDriver) Terminate(ctx context.Context, backendUUID string)
- type NASQtreeStorageDriver
- func (d *NASQtreeStorageDriver) BackendName() string
- func (d *NASQtreeStorageDriver) CanSnapshot(_ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig) error
- func (d *NASQtreeStorageDriver) Create(ctx context.Context, volConfig *storage.VolumeConfig, storagePool storage.Pool, ...) error
- func (d *NASQtreeStorageDriver) CreateClone(ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, _ storage.Pool) error
- func (d *NASQtreeStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *NASQtreeStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)
- func (d *NASQtreeStorageDriver) CreateSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *NASQtreeStorageDriver) DeleteSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *NASQtreeStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *NASQtreeStorageDriver) FlexvolNamePrefix() string
- func (d *NASQtreeStorageDriver) Get(ctx context.Context, name string) error
- func (d *NASQtreeStorageDriver) GetAPI() api.OntapAPI
- func (d NASQtreeStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
- func (d *NASQtreeStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
- func (d *NASQtreeStorageDriver) GetExternalConfig(ctx context.Context) interface{}
- func (d *NASQtreeStorageDriver) GetInternalVolumeName(ctx context.Context, name string) string
- func (d *NASQtreeStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
- func (d *NASQtreeStorageDriver) GetSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *NASQtreeStorageDriver) GetSnapshots(ctx context.Context, volConfig *storage.VolumeConfig) ([]*storage.Snapshot, error)
- func (d *NASQtreeStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string
- func (d *NASQtreeStorageDriver) GetStorageBackendSpecs(_ context.Context, backend storage.Backend) error
- func (d *NASQtreeStorageDriver) GetTelemetry() *Telemetry
- func (d *NASQtreeStorageDriver) GetUpdateType(_ context.Context, driverOrig storage.Driver) *roaring.Bitmap
- func (d *NASQtreeStorageDriver) GetVolumeExternal(ctx context.Context, name string) (*storage.VolumeExternal, error)
- func (d *NASQtreeStorageDriver) GetVolumeExternalWrappers(ctx context.Context, channel chan *storage.VolumeExternalWrapper)
- func (d *NASQtreeStorageDriver) GetVolumeOpts(ctx context.Context, volConfig *storage.VolumeConfig, ...) (map[string]string, error)
- func (d NASQtreeStorageDriver) GoString() string
- func (d *NASQtreeStorageDriver) Import(context.Context, *storage.VolumeConfig, string) error
- func (d *NASQtreeStorageDriver) Initialize(ctx context.Context, driverContext tridentconfig.DriverContext, ...) error
- func (d *NASQtreeStorageDriver) Initialized() bool
- func (d *NASQtreeStorageDriver) Name() string
- func (d *NASQtreeStorageDriver) Publish(ctx context.Context, volConfig *storage.VolumeConfig, ...) error
- func (d *NASQtreeStorageDriver) ReconcileNodeAccess(ctx context.Context, nodes []*utils.Node, backendUUID string) error
- func (d *NASQtreeStorageDriver) Rename(context.Context, string, string) error
- func (d *NASQtreeStorageDriver) Resize(ctx context.Context, volConfig *storage.VolumeConfig, sizeBytes uint64) error
- func (d *NASQtreeStorageDriver) RestoreSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *NASQtreeStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
- func (d NASQtreeStorageDriver) String() string
- func (d *NASQtreeStorageDriver) Terminate(ctx context.Context, backendUUID string)
- type NASStorageDriver
- func (d *NASStorageDriver) BackendName() string
- func (d *NASStorageDriver) CanSnapshot(_ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig) error
- func (d *NASStorageDriver) Create(ctx context.Context, volConfig *storage.VolumeConfig, storagePool storage.Pool, ...) error
- func (d *NASStorageDriver) CreateClone(ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, ...) error
- func (d *NASStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *NASStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)
- func (d *NASStorageDriver) CreateSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *NASStorageDriver) DeleteSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *NASStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *NASStorageDriver) EstablishMirror(ctx context.Context, ...) error
- func (d *NASStorageDriver) Get(ctx context.Context, name string) error
- func (d *NASStorageDriver) GetAPI() api.OntapAPI
- func (d NASStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
- func (d *NASStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
- func (d *NASStorageDriver) GetExternalConfig(ctx context.Context) interface{}
- func (d *NASStorageDriver) GetInternalVolumeName(_ context.Context, name string) string
- func (d *NASStorageDriver) GetMirrorStatus(ctx context.Context, localVolumeHandle, remoteVolumeHandle string) (string, error)
- func (d *NASStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
- func (d *NASStorageDriver) GetReplicationDetails(ctx context.Context, localVolumeHandle, remoteVolumeHandle string) (string, string, error)
- func (d *NASStorageDriver) GetSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *NASStorageDriver) GetSnapshots(ctx context.Context, volConfig *storage.VolumeConfig) ([]*storage.Snapshot, error)
- func (d *NASStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string
- func (d *NASStorageDriver) GetStorageBackendSpecs(_ context.Context, backend storage.Backend) error
- func (d *NASStorageDriver) GetTelemetry() *Telemetry
- func (d *NASStorageDriver) GetUpdateType(ctx context.Context, driverOrig storage.Driver) *roaring.Bitmap
- func (d *NASStorageDriver) GetVolumeExternal(ctx context.Context, name string) (*storage.VolumeExternal, error)
- func (d *NASStorageDriver) GetVolumeExternalWrappers(ctx context.Context, channel chan *storage.VolumeExternalWrapper)
- func (d *NASStorageDriver) GetVolumeOpts(ctx context.Context, volConfig *storage.VolumeConfig, ...) (map[string]string, error)
- func (d NASStorageDriver) GoString() string
- func (d *NASStorageDriver) Import(ctx context.Context, volConfig *storage.VolumeConfig, originalName string) error
- func (d *NASStorageDriver) Initialize(ctx context.Context, driverContext tridentconfig.DriverContext, ...) error
- func (d *NASStorageDriver) Initialized() bool
- func (d *NASStorageDriver) Name() string
- func (d *NASStorageDriver) PromoteMirror(ctx context.Context, ...) (bool, error)
- func (d *NASStorageDriver) Publish(ctx context.Context, volConfig *storage.VolumeConfig, ...) error
- func (d *NASStorageDriver) ReconcileNodeAccess(ctx context.Context, nodes []*utils.Node, backendUUID string) error
- func (d *NASStorageDriver) ReestablishMirror(ctx context.Context, ...) error
- func (d *NASStorageDriver) ReleaseMirror(ctx context.Context, localVolumeHandle string) error
- func (d *NASStorageDriver) Rename(ctx context.Context, name, newName string) error
- func (d *NASStorageDriver) Resize(ctx context.Context, volConfig *storage.VolumeConfig, ...) error
- func (d *NASStorageDriver) RestoreSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *NASStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
- func (d NASStorageDriver) String() string
- func (d *NASStorageDriver) Terminate(ctx context.Context, backendUUID string)
- type SANEconomyStorageDriver
- func (d *SANEconomyStorageDriver) BackendName() string
- func (d *SANEconomyStorageDriver) CanSnapshot(_ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig) error
- func (d *SANEconomyStorageDriver) Create(ctx context.Context, volConfig *storage.VolumeConfig, storagePool storage.Pool, ...) error
- func (d *SANEconomyStorageDriver) CreateClone(ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, _ storage.Pool) error
- func (d *SANEconomyStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *SANEconomyStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)
- func (d *SANEconomyStorageDriver) CreateSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *SANEconomyStorageDriver) DeleteBucketIfEmpty(ctx context.Context, bucketVol string) error
- func (d *SANEconomyStorageDriver) DeleteSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *SANEconomyStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *SANEconomyStorageDriver) FlexvolNamePrefix() string
- func (d *SANEconomyStorageDriver) Get(ctx context.Context, name string) error
- func (d *SANEconomyStorageDriver) GetAPI() api.OntapAPI
- func (d *SANEconomyStorageDriver) GetChapInfo(_ context.Context, _, _ string) (*utils.IscsiChapInfo, error)
- func (d SANEconomyStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
- func (d *SANEconomyStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
- func (d *SANEconomyStorageDriver) GetExternalConfig(ctx context.Context) interface{}
- func (d *SANEconomyStorageDriver) GetInternalVolumeName(_ context.Context, name string) string
- func (d *SANEconomyStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
- func (d *SANEconomyStorageDriver) GetSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *SANEconomyStorageDriver) GetSnapshots(ctx context.Context, volConfig *storage.VolumeConfig) ([]*storage.Snapshot, error)
- func (d *SANEconomyStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string
- func (d *SANEconomyStorageDriver) GetStorageBackendSpecs(_ context.Context, backend storage.Backend) error
- func (d *SANEconomyStorageDriver) GetTelemetry() *Telemetry
- func (d *SANEconomyStorageDriver) GetUpdateType(_ context.Context, driverOrig storage.Driver) *roaring.Bitmap
- func (d *SANEconomyStorageDriver) GetVolumeExternal(ctx context.Context, name string) (*storage.VolumeExternal, error)
- func (d *SANEconomyStorageDriver) GetVolumeExternalWrappers(ctx context.Context, channel chan *storage.VolumeExternalWrapper)
- func (d *SANEconomyStorageDriver) GetVolumeOpts(ctx context.Context, volConfig *storage.VolumeConfig, ...) (map[string]string, error)
- func (d SANEconomyStorageDriver) GoString() string
- func (d *SANEconomyStorageDriver) Import(ctx context.Context, volConfig *storage.VolumeConfig, originalName string) error
- func (d *SANEconomyStorageDriver) Initialize(ctx context.Context, driverContext tridentconfig.DriverContext, ...) error
- func (d *SANEconomyStorageDriver) Initialized() bool
- func (d *SANEconomyStorageDriver) LUNExists(ctx context.Context, name, bucketPrefix string) (bool, string, error)
- func (d *SANEconomyStorageDriver) Name() string
- func (d *SANEconomyStorageDriver) Publish(ctx context.Context, volConfig *storage.VolumeConfig, ...) error
- func (d *SANEconomyStorageDriver) ReconcileNodeAccess(ctx context.Context, nodes []*utils.Node, _ string) error
- func (d *SANEconomyStorageDriver) Rename(ctx context.Context, name, newName string) error
- func (d *SANEconomyStorageDriver) Resize(ctx context.Context, volConfig *storage.VolumeConfig, sizeBytes uint64) error
- func (d *SANEconomyStorageDriver) RestoreSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *SANEconomyStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
- func (d SANEconomyStorageDriver) String() string
- func (d *SANEconomyStorageDriver) Terminate(ctx context.Context, _ string)
- type SANStorageDriver
- func (d *SANStorageDriver) BackendName() string
- func (d *SANStorageDriver) CanSnapshot(_ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig) error
- func (d *SANStorageDriver) Create(ctx context.Context, volConfig *storage.VolumeConfig, storagePool storage.Pool, ...) error
- func (d *SANStorageDriver) CreateClone(ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, ...) error
- func (d *SANStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *SANStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)
- func (d *SANStorageDriver) CreateSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *SANStorageDriver) DeleteSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *SANStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
- func (d *SANStorageDriver) EnablePublishEnforcement(ctx context.Context, volume *storage.Volume) error
- func (d *SANStorageDriver) EstablishMirror(ctx context.Context, ...) error
- func (d *SANStorageDriver) Get(ctx context.Context, name string) error
- func (d *SANStorageDriver) GetAPI() api.OntapAPI
- func (d *SANStorageDriver) GetChapInfo(_ context.Context, _, _ string) (*utils.IscsiChapInfo, error)
- func (d SANStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
- func (d *SANStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
- func (d *SANStorageDriver) GetExternalConfig(ctx context.Context) interface{}
- func (d *SANStorageDriver) GetInternalVolumeName(_ context.Context, name string) string
- func (d *SANStorageDriver) GetMirrorStatus(ctx context.Context, localVolumeHandle, remoteVolumeHandle string) (string, error)
- func (d *SANStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
- func (d *SANStorageDriver) GetReplicationDetails(ctx context.Context, localVolumeHandle, remoteVolumeHandle string) (string, string, error)
- func (d *SANStorageDriver) GetSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) (*storage.Snapshot, error)
- func (d *SANStorageDriver) GetSnapshots(ctx context.Context, volConfig *storage.VolumeConfig) ([]*storage.Snapshot, error)
- func (d *SANStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string
- func (d *SANStorageDriver) GetStorageBackendSpecs(_ context.Context, backend storage.Backend) error
- func (d *SANStorageDriver) GetTelemetry() *Telemetry
- func (d *SANStorageDriver) GetUpdateType(_ context.Context, driverOrig storage.Driver) *roaring.Bitmap
- func (d *SANStorageDriver) GetVolumeExternal(ctx context.Context, name string) (*storage.VolumeExternal, error)
- func (d *SANStorageDriver) GetVolumeExternalWrappers(ctx context.Context, channel chan *storage.VolumeExternalWrapper)
- func (d *SANStorageDriver) GetVolumeOpts(ctx context.Context, volConfig *storage.VolumeConfig, ...) (map[string]string, error)
- func (d *SANStorageDriver) GoString() string
- func (d *SANStorageDriver) Import(ctx context.Context, volConfig *storage.VolumeConfig, originalName string) error
- func (d *SANStorageDriver) Initialize(ctx context.Context, driverContext tridentconfig.DriverContext, ...) error
- func (d *SANStorageDriver) Initialized() bool
- func (d SANStorageDriver) Name() string
- func (d *SANStorageDriver) PromoteMirror(ctx context.Context, ...) (bool, error)
- func (d *SANStorageDriver) Publish(ctx context.Context, volConfig *storage.VolumeConfig, ...) error
- func (d *SANStorageDriver) ReconcileNodeAccess(ctx context.Context, nodes []*utils.Node, _ string) error
- func (d *SANStorageDriver) ReestablishMirror(ctx context.Context, ...) error
- func (d *SANStorageDriver) ReleaseMirror(ctx context.Context, localVolumeHandle string) error
- func (d *SANStorageDriver) Rename(ctx context.Context, name, newName string) error
- func (d *SANStorageDriver) Resize(ctx context.Context, volConfig *storage.VolumeConfig, ...) error
- func (d *SANStorageDriver) RestoreSnapshot(ctx context.Context, snapConfig *storage.SnapshotConfig, ...) error
- func (d *SANStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
- func (d SANStorageDriver) String() string
- func (d *SANStorageDriver) Terminate(ctx context.Context, _ string)
- func (d *SANStorageDriver) Unpublish(ctx context.Context, volConfig *storage.VolumeConfig, ...) error
- type StorageDriver
- type Telemetry
Constants ¶
const ( MinimumVolumeSizeBytes = 20971520 // 20 MiB HousekeepingStartupDelaySecs = 10 LUNMetadataBufferMultiplier = 1.1 // 10% // Constants for internal pool attributes Size = "size" Region = "region" Zone = "zone" Media = "media" SpaceAllocation = "spaceAllocation" SnapshotDir = "snapshotDir" SpaceReserve = "spaceReserve" SnapshotPolicy = "snapshotPolicy" SnapshotReserve = "snapshotReserve" UnixPermissions = "unixPermissions" ExportPolicy = "exportPolicy" SecurityStyle = "securityStyle" BackendType = "backendType" Replication = "replication" Snapshots = "snapshots" Clones = "clones" Encryption = "encryption" LUKSEncryption = "LUKSEncryption" FileSystemType = "fileSystemType" ProvisioningType = "provisioningType" SplitOnClone = "splitOnClone" TieringPolicy = "tieringPolicy" QosPolicy = "qosPolicy" AdaptiveQosPolicy = "adaptiveQosPolicy" VolTypeRW = "rw" // read-write VolTypeLS = "ls" // load-sharing VolTypeDP = "dp" // data-protection VolTypeDC = "dc" // data-cache VolTypeTMP = "tmp" // temporary )
const ( DefaultSpaceReserve = "none" DefaultSnapshotPolicy = "none" DefaultSnapshotReserve = "5" DefaultUnixPermissions = "---rwxrwxrwx" DefaultSnapshotDir = "false" DefaultExportPolicy = "default" DefaultSecurityStyle = "unix" DefaultNfsMountOptionsDocker = "-o nfsvers=3" DefaultNfsMountOptionsKubernetes = "" DefaultSplitOnClone = "false" DefaultLuksEncryption = "false" DefaultMirroring = "false" DefaultLimitAggregateUsage = "" DefaultLimitVolumeSize = "" DefaultTieringPolicy = "" )
const DefaultSpaceAllocation = "true"
Enable space-allocation by default. If not enabled, Data ONTAP takes the LUNs offline when they're seen as full. see: https://github.com/NetApp/trident/issues/135
const (
LUNAttributeFSType = "com.netapp.ndvp.fstype"
)
For legacy reasons, these strings mustn't change
const MSecPerHour = 1000 * 60 * 60 // millis * seconds * minutes
Variables ¶
This section is empty.
Functions ¶
func CleanBackendName ¶
CleanBackendName removes brackets and replaces colons with periods to avoid regex parsing errors.
func EMSHeartbeat ¶
func EMSHeartbeat(ctx context.Context, driver StorageDriver)
EMSHeartbeat logs an ASUP message on a timer view them via filer::> event log show -severity NOTICE
func GetEncryptionValue ¶
GetEncryptionValue: Returns "true"/"false" if encryption is explicitely mentioned in the backend or storage class. Otherwise, it returns "nil" which enables NAE/NVE on the volume depending on the aggregate properties.
func GetISCSITargetInfo ¶
func GetISCSITargetInfo( ctx context.Context, clientAPI api.OntapAPI, config *drivers.OntapStorageDriverConfig, ) (iSCSINodeName string, iSCSIInterfaces []string, returnError error)
GetISCSITargetInfo returns the iSCSI node name and iSCSI interfaces using the provided client's SVM.
func GetLUNPathEconomy ¶
func GetOntapDriverRedactList ¶
func GetOntapDriverRedactList() []string
func GetSnapshotReserve ¶
func GetVolumeSize ¶
func InitializeOntapAPI ¶
func InitializeOntapAPI( ctx context.Context, config *drivers.OntapStorageDriverConfig, ) (api.OntapAPI, error)
InitializeOntapAPI returns an ontap.Client ZAPI or REST client. If the SVM isn't specified in the config file, this method attempts to derive the one to use for ZAPI.
func InitializeOntapConfig ¶
func InitializeOntapConfig( ctx context.Context, driverContext tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig, backendSecret map[string]string, ) (*drivers.OntapStorageDriverConfig, error)
InitializeOntapConfig parses the ONTAP config, mixing in the specified common config.
func InitializeOntapDriver ¶
func InitializeOntapDriver( ctx context.Context, config *drivers.OntapStorageDriverConfig, ) (api.OntapAPI, error)
InitializeOntapDriver sets up the API client and performs all other initialization tasks that are common to all the ONTAP drivers.
func InitializeSANDriver ¶
func InitializeSANDriver( ctx context.Context, driverContext tridentconfig.DriverContext, clientAPI api.OntapAPI, config *drivers.OntapStorageDriverConfig, validate func(context.Context) error, backendUUID string, ) error
InitializeSANDriver performs common ONTAP SAN driver initialization.
func IsDefaultAuthTypeCHAP ¶
func IsDefaultAuthTypeCHAP(response api.IscsiInitiatorAuth) (bool, error)
IsDefaultAuthTypeCHAP returns true if the default initiator's auth-type field is set to the value "CHAP"
func IsDefaultAuthTypeDeny ¶
func IsDefaultAuthTypeDeny(response api.IscsiInitiatorAuth) (bool, error)
IsDefaultAuthTypeDeny returns true if the default initiator's auth-type field is set to the value "deny"
func IsDefaultAuthTypeNone ¶
func IsDefaultAuthTypeNone(response api.IscsiInitiatorAuth) (bool, error)
IsDefaultAuthTypeNone returns true if the default initiator's auth-type field is set to the value "none"
func LunUnmapAllIgroups ¶
LunUnmapAllIgroups removes all maps from a given LUN
func PopulateConfigurationDefaults ¶
func PopulateConfigurationDefaults(ctx context.Context, config *drivers.OntapStorageDriverConfig) error
PopulateConfigurationDefaults fills in default values for configuration settings if not supplied in the config file
func PopulateOntapLunMapping ¶
func PopulateOntapLunMapping( ctx context.Context, clientAPI api.OntapAPI, ips []string, volConfig *storage.VolumeConfig, lunID int, lunPath, igroupName string, ) error
PopulateOntapLunMapping helper function to fill in volConfig with its LUN mapping values. This function assumes that the list of data LIFs has not changed since driver initialization and volume creation
func PublishLUN ¶
func PublishLUN( ctx context.Context, clientAPI api.OntapAPI, config *drivers.OntapStorageDriverConfig, ips []string, publishInfo *utils.VolumePublishInfo, lunPath, igroupName, iSCSINodeName string, ) error
PublishLUN publishes the volume to the host specified in publishInfo from ontap-san or ontap-san-economy. 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. This function assumes that the list of data LIF IP addresses does not change between driver initialization and publish
func RestoreSnapshot ¶
func RestoreSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, config *drivers.OntapStorageDriverConfig, client api.OntapAPI, ) error
RestoreSnapshot restores a volume (in place) from a snapshot.
func SplitVolumeFromBusySnapshot ¶
func SplitVolumeFromBusySnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, config *drivers.OntapStorageDriverConfig, client api.OntapAPI, cloneSplitStart func(ctx context.Context, cloneName string) error, ) error
SplitVolumeFromBusySnapshot gets the list of volumes backed by a busy snapshot and starts a split operation on the first one (sorted by volume name).
func ValidateDataLIF ¶
func ValidateNASDriver ¶
func ValidateNASDriver( ctx context.Context, api api.OntapAPI, config *drivers.OntapStorageDriverConfig, ) error
ValidateNASDriver contains the validation logic shared between ontap-nas and ontap-nas-economy.
func ValidateSANDriver ¶
func ValidateSANDriver( ctx context.Context, config *drivers.OntapStorageDriverConfig, ips []string, ) error
ValidateSANDriver contains the validation logic shared between ontap-san and ontap-san-economy.
func ValidateStoragePools ¶
func ValidateStoragePools( ctx context.Context, physicalPools, virtualPools map[string]storage.Pool, d StorageDriver, labelLimit int, ) error
ValidateStoragePools makes sure that values are set for the fields, if value(s) were not specified for a field then a default should have been set in for that field in the initialize storage pools
func ValidateStoragePrefix ¶
Types ¶
type ChapCredentials ¶
type ChapCredentials struct { ChapUsername string ChapInitiatorSecret string ChapTargetUsername string ChapTargetInitiatorSecret string }
ChapCredentials holds the bidrectional chap settings
func ValidateBidrectionalChapCredentials ¶
func ValidateBidrectionalChapCredentials( defaultAuth api.IscsiInitiatorAuth, config *drivers.OntapStorageDriverConfig, ) (*ChapCredentials, error)
ValidateBidrectionalChapCredentials validates the bidirectional CHAP settings
type HousekeepingTask ¶
type HousekeepingTask struct { Name string Ticker *time.Ticker InitialDelay time.Duration Done chan struct{} Tasks []func(context.Context) Driver *NASQtreeStorageDriver // contains filtered or unexported fields }
func NewPruneTask ¶
func NewPruneTask(ctx context.Context, d *NASQtreeStorageDriver, tasks []func(context.Context)) *HousekeepingTask
func NewResizeTask ¶
func NewResizeTask(ctx context.Context, d *NASQtreeStorageDriver, tasks []func(context.Context)) *HousekeepingTask
func (*HousekeepingTask) Start ¶
func (t *HousekeepingTask) Start(ctx context.Context)
func (*HousekeepingTask) Stop ¶
func (t *HousekeepingTask) Stop(ctx context.Context)
type LUNHelper ¶
type LUNHelper struct { Config drivers.OntapStorageDriverConfig Context tridentconfig.DriverContext SnapshotRegexp *regexp.Regexp }
func NewLUNHelper ¶
func NewLUNHelper(config drivers.OntapStorageDriverConfig, context tridentconfig.DriverContext) *LUNHelper
func (*LUNHelper) GetBucketName ¶
parameter: snapLunPath=/vol/myBucket/storagePrefix_myLun_snapshot_mySnap result [1] is the bucket name: myBucket
func (*LUNHelper) GetExternalVolumeNameFromPath ¶
parameter: snapLunPath=/vol/myBucket/storagePrefix_myLun_snapshot_mySnap result [2] is the volume name: myLun
func (*LUNHelper) GetInternalVolumeName ¶
parameter: volName=my-Lun output: storagePrefix_my_Lun parameter: volName=storagePrefix_my-Lun output: storagePrefix_my_Lun
func (*LUNHelper) GetInternalVolumeNameFromPath ¶
parameter: /vol/my_Bucket/storagePrefix_my-Lun output: storagePrefix_my-Lun
func (*LUNHelper) GetLUNPath ¶
parameters: bucketName=my-Bucket volName=my-Lun output: /vol/my_Bucket/storagePrefix_my_Lun parameters: bucketName=my-Bucket volName=storagePrefix_my-Lun output: /vol/my_Bucket/storagePrefix_my_Lun
func (*LUNHelper) GetLUNPathPattern ¶
parameter: volName=my-Lun output: /vol/*/storagePrefix_my_Vol
func (*LUNHelper) GetSnapPath ¶
parameters: bucketName=my-Bucket internalVolName=storagePrefix_my-Lun snapName=snap-1 output: /vol/my_Bucket/storagePrefix_my_Lun_snapshot_snap_1
func (*LUNHelper) GetSnapPathPattern ¶
parameter: bucketName=my-Bucket output: /vol/my_Bucket/storagePrefix_*_snapshot_*
func (*LUNHelper) GetSnapPathPatternForVolume ¶
parameter: volName=my-Vol output: /vol/*/storagePrefix_my_Vol_snapshot_*
func (*LUNHelper) GetSnapshotName ¶
internalVolName is expected to have the storage prefix included parameters: internalVolName=storagePrefix_my-Lun snapName=my-Snapshot output: storagePrefix_my_Lun_snapshot_my_Snapshot
func (*LUNHelper) GetSnapshotNameFromSnapLUNPath ¶
parameter: snapLunPath=/vol/myBucket/storagePrefix_myLun_snapshot_mySnap result [4] is the snapshot name: mySnap
func (*LUNHelper) IsValidSnapLUNPath ¶
identifies if the given snapLunPath has a valid snapshot name
type NASFlexGroupStorageDriver ¶
type NASFlexGroupStorageDriver struct { Config drivers.OntapStorageDriverConfig API api.OntapAPI // contains filtered or unexported fields }
NASFlexGroupStorageDriver is for NFS FlexGroup storage provisioning
func (*NASFlexGroupStorageDriver) BackendName ¶
func (d *NASFlexGroupStorageDriver) BackendName() string
BackendName returns the name of the backend managed by this driver instance
func (*NASFlexGroupStorageDriver) CanSnapshot ¶
func (d *NASFlexGroupStorageDriver) CanSnapshot( _ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
CanSnapshot determines whether a snapshot as specified in the provided snapshot config may be taken.
func (*NASFlexGroupStorageDriver) Create ¶
func (d *NASFlexGroupStorageDriver) Create( ctx context.Context, volConfig *storage.VolumeConfig, storagePool storage.Pool, volAttributes map[string]sa.Request, ) error
Create a volume with the specified options
func (*NASFlexGroupStorageDriver) CreateClone ¶
func (d *NASFlexGroupStorageDriver) CreateClone( ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, storagePool storage.Pool, ) error
CreateClone creates a flexgroup clone
func (*NASFlexGroupStorageDriver) CreateFollowup ¶
func (d *NASFlexGroupStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error
func (*NASFlexGroupStorageDriver) CreatePrepare ¶
func (d *NASFlexGroupStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)
func (*NASFlexGroupStorageDriver) CreateSnapshot ¶
func (d *NASFlexGroupStorageDriver) CreateSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) (*storage.Snapshot, error)
CreateSnapshot creates a snapshot for the given volume
func (*NASFlexGroupStorageDriver) DeleteSnapshot ¶
func (d *NASFlexGroupStorageDriver) DeleteSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
DeleteSnapshot creates a snapshot of a volume.
func (*NASFlexGroupStorageDriver) Destroy ¶
func (d *NASFlexGroupStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
Destroy the volume
func (*NASFlexGroupStorageDriver) Get ¶
func (d *NASFlexGroupStorageDriver) Get(ctx context.Context, name string) error
Get tests the existence of a FlexGroup. Returns nil if the FlexGroup exists and an error otherwise.
func (*NASFlexGroupStorageDriver) GetAPI ¶
func (d *NASFlexGroupStorageDriver) GetAPI() api.OntapAPI
func (NASFlexGroupStorageDriver) GetCommonConfig ¶
func (d NASFlexGroupStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
GetCommonConfig returns driver's CommonConfig
func (*NASFlexGroupStorageDriver) GetConfig ¶
func (d *NASFlexGroupStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
func (*NASFlexGroupStorageDriver) GetExternalConfig ¶
func (d *NASFlexGroupStorageDriver) GetExternalConfig(ctx context.Context) interface{}
func (*NASFlexGroupStorageDriver) GetInternalVolumeName ¶
func (d *NASFlexGroupStorageDriver) GetInternalVolumeName(_ context.Context, name string) string
func (*NASFlexGroupStorageDriver) GetProtocol ¶
func (d *NASFlexGroupStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
func (*NASFlexGroupStorageDriver) GetSnapshot ¶
func (d *NASFlexGroupStorageDriver) 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 (*NASFlexGroupStorageDriver) GetSnapshots ¶
func (d *NASFlexGroupStorageDriver) GetSnapshots( ctx context.Context, volConfig *storage.VolumeConfig, ) ([]*storage.Snapshot, error)
GetSnapshots returns the list of snapshots associated with the specified volume
func (*NASFlexGroupStorageDriver) GetStorageBackendPhysicalPoolNames ¶
func (d *NASFlexGroupStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string
GetStorageBackendPhysicalPoolNames retrieves storage backend physical pools
func (*NASFlexGroupStorageDriver) GetStorageBackendSpecs ¶
func (d *NASFlexGroupStorageDriver) GetStorageBackendSpecs(_ context.Context, backend storage.Backend) error
GetStorageBackendSpecs updates the specified Backend object with StoragePools.
func (*NASFlexGroupStorageDriver) GetTelemetry ¶
func (d *NASFlexGroupStorageDriver) GetTelemetry() *Telemetry
func (*NASFlexGroupStorageDriver) GetUpdateType ¶
func (d *NASFlexGroupStorageDriver) GetUpdateType(_ context.Context, driverOrig storage.Driver) *roaring.Bitmap
GetUpdateType returns a bitmap populated with updates to the driver
func (*NASFlexGroupStorageDriver) GetVolumeExternal ¶
func (d *NASFlexGroupStorageDriver) 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 (*NASFlexGroupStorageDriver) GetVolumeExternalWrappers ¶
func (d *NASFlexGroupStorageDriver) 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 (*NASFlexGroupStorageDriver) GetVolumeOpts ¶
func (NASFlexGroupStorageDriver) GoString ¶
func (d NASFlexGroupStorageDriver) GoString() string
GoString makes NASFlexGroupStorageDriver satisfy the GoStringer interface.
func (*NASFlexGroupStorageDriver) Import ¶
func (d *NASFlexGroupStorageDriver) Import( ctx context.Context, volConfig *storage.VolumeConfig, originalName string, ) error
Import brings an existing volume under trident's control
func (*NASFlexGroupStorageDriver) Initialize ¶
func (d *NASFlexGroupStorageDriver) Initialize( ctx context.Context, driverContext tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig, backendSecret map[string]string, backendUUID string, ) error
Initialize from the provided config
func (*NASFlexGroupStorageDriver) Initialized ¶
func (d *NASFlexGroupStorageDriver) Initialized() bool
func (*NASFlexGroupStorageDriver) Name ¶
func (d *NASFlexGroupStorageDriver) Name() string
Name is for returning the name of this driver
func (*NASFlexGroupStorageDriver) Publish ¶
func (d *NASFlexGroupStorageDriver) 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 (*NASFlexGroupStorageDriver) ReconcileNodeAccess ¶
func (*NASFlexGroupStorageDriver) Resize ¶
func (d *NASFlexGroupStorageDriver) Resize( ctx context.Context, volConfig *storage.VolumeConfig, requestedSizeBytes uint64, ) error
Resize expands the FlexGroup size.
func (*NASFlexGroupStorageDriver) RestoreSnapshot ¶
func (d *NASFlexGroupStorageDriver) RestoreSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
RestoreSnapshot restores a volume (in place) from a snapshot.
func (*NASFlexGroupStorageDriver) StoreConfig ¶
func (d *NASFlexGroupStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
func (NASFlexGroupStorageDriver) String ¶
func (d NASFlexGroupStorageDriver) String() string
String makes NASFlexGroupStorageDriver satisfy the Stringer interface.
type NASQtreeStorageDriver ¶
type NASQtreeStorageDriver struct { Config drivers.OntapStorageDriverConfig API api.OntapAPI // contains filtered or unexported fields }
NASQtreeStorageDriver is for NFS storage provisioning of qtrees
func (*NASQtreeStorageDriver) BackendName ¶
func (d *NASQtreeStorageDriver) BackendName() string
BackendName returns the name of the backend managed by this driver instance
func (*NASQtreeStorageDriver) CanSnapshot ¶
func (d *NASQtreeStorageDriver) CanSnapshot( _ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
CanSnapshot determines whether a snapshot as specified in the provided snapshot config may be taken.
func (*NASQtreeStorageDriver) Create ¶
func (d *NASQtreeStorageDriver) Create( ctx context.Context, volConfig *storage.VolumeConfig, storagePool storage.Pool, volAttributes map[string]sa.Request, ) error
Create a qtree-backed volume with the specified options
func (*NASQtreeStorageDriver) CreateClone ¶
func (d *NASQtreeStorageDriver) CreateClone( ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, _ storage.Pool, ) error
CreateClone creates a volume clone
func (*NASQtreeStorageDriver) CreateFollowup ¶
func (d *NASQtreeStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error
func (*NASQtreeStorageDriver) CreatePrepare ¶
func (d *NASQtreeStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)
func (*NASQtreeStorageDriver) CreateSnapshot ¶
func (d *NASQtreeStorageDriver) CreateSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) (*storage.Snapshot, error)
CreateSnapshot creates a snapshot for the given volume
func (*NASQtreeStorageDriver) DeleteSnapshot ¶
func (d *NASQtreeStorageDriver) DeleteSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
DeleteSnapshot creates a snapshot of a volume.
func (*NASQtreeStorageDriver) Destroy ¶
func (d *NASQtreeStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
Destroy the volume
func (*NASQtreeStorageDriver) FlexvolNamePrefix ¶
func (d *NASQtreeStorageDriver) FlexvolNamePrefix() string
func (*NASQtreeStorageDriver) Get ¶
func (d *NASQtreeStorageDriver) Get(ctx context.Context, name string) error
Get tests for the existence of a volume
func (*NASQtreeStorageDriver) GetAPI ¶
func (d *NASQtreeStorageDriver) GetAPI() api.OntapAPI
func (NASQtreeStorageDriver) GetCommonConfig ¶
func (d NASQtreeStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
GetCommonConfig returns driver's CommonConfig
func (*NASQtreeStorageDriver) GetConfig ¶
func (d *NASQtreeStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
func (*NASQtreeStorageDriver) GetExternalConfig ¶
func (d *NASQtreeStorageDriver) GetExternalConfig(ctx context.Context) interface{}
func (*NASQtreeStorageDriver) GetInternalVolumeName ¶
func (d *NASQtreeStorageDriver) GetInternalVolumeName(ctx context.Context, name string) string
func (*NASQtreeStorageDriver) GetProtocol ¶
func (d *NASQtreeStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
func (*NASQtreeStorageDriver) GetSnapshot ¶
func (d *NASQtreeStorageDriver) GetSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) (*storage.Snapshot, error)
GetSnapshot returns a snapshot of a volume, or an error if it does not exist.
func (*NASQtreeStorageDriver) GetSnapshots ¶
func (d *NASQtreeStorageDriver) GetSnapshots(ctx context.Context, volConfig *storage.VolumeConfig) ( []*storage.Snapshot, error, )
GetSnapshots returns the list of snapshots associated with the specified volume
func (*NASQtreeStorageDriver) GetStorageBackendPhysicalPoolNames ¶
func (d *NASQtreeStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string
GetStorageBackendPhysicalPoolNames retrieves storage backend physical pools
func (*NASQtreeStorageDriver) GetStorageBackendSpecs ¶
func (d *NASQtreeStorageDriver) GetStorageBackendSpecs(_ context.Context, backend storage.Backend) error
GetStorageBackendSpecs retrieves storage backend capabilities
func (*NASQtreeStorageDriver) GetTelemetry ¶
func (d *NASQtreeStorageDriver) GetTelemetry() *Telemetry
func (*NASQtreeStorageDriver) GetUpdateType ¶
func (d *NASQtreeStorageDriver) GetUpdateType(_ context.Context, driverOrig storage.Driver) *roaring.Bitmap
GetUpdateType returns a bitmap populated with updates to the driver
func (*NASQtreeStorageDriver) GetVolumeExternal ¶
func (d *NASQtreeStorageDriver) 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 (*NASQtreeStorageDriver) GetVolumeExternalWrappers ¶
func (d *NASQtreeStorageDriver) 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 (*NASQtreeStorageDriver) GetVolumeOpts ¶
func (NASQtreeStorageDriver) GoString ¶
func (d NASQtreeStorageDriver) GoString() string
GoString makes NASQtreeStorageDriver satisfy the GoStringer interface.
func (*NASQtreeStorageDriver) Import ¶
func (d *NASQtreeStorageDriver) Import( context.Context, *storage.VolumeConfig, string, ) error
func (*NASQtreeStorageDriver) Initialize ¶
func (d *NASQtreeStorageDriver) Initialize( ctx context.Context, driverContext tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig, backendSecret map[string]string, backendUUID string, ) error
Initialize from the provided config
func (*NASQtreeStorageDriver) Initialized ¶
func (d *NASQtreeStorageDriver) Initialized() bool
func (*NASQtreeStorageDriver) Name ¶
func (d *NASQtreeStorageDriver) Name() string
Name is for returning the name of this driver
func (*NASQtreeStorageDriver) Publish ¶
func (d *NASQtreeStorageDriver) 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 (*NASQtreeStorageDriver) ReconcileNodeAccess ¶
func (*NASQtreeStorageDriver) Resize ¶
func (d *NASQtreeStorageDriver) Resize(ctx context.Context, volConfig *storage.VolumeConfig, sizeBytes uint64) error
Resize expands the Flexvol containing the Qtree and updates the Qtree quota.
func (*NASQtreeStorageDriver) RestoreSnapshot ¶
func (d *NASQtreeStorageDriver) RestoreSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
RestoreSnapshot restores a volume (in place) from a snapshot.
func (*NASQtreeStorageDriver) StoreConfig ¶
func (d *NASQtreeStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
func (NASQtreeStorageDriver) String ¶
func (d NASQtreeStorageDriver) String() string
String makes NASQtreeStorageDriver satisfy the Stringer interface.
type NASStorageDriver ¶
type NASStorageDriver struct { Config drivers.OntapStorageDriverConfig API api.OntapAPI // contains filtered or unexported fields }
NASStorageDriver is for NFS storage provisioning
func (*NASStorageDriver) BackendName ¶
func (d *NASStorageDriver) BackendName() string
BackendName returns the name of the backend managed by this driver instance
func (*NASStorageDriver) CanSnapshot ¶
func (d *NASStorageDriver) CanSnapshot(_ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig) error
CanSnapshot determines whether a snapshot as specified in the provided snapshot config may be taken.
func (*NASStorageDriver) Create ¶
func (d *NASStorageDriver) Create( ctx context.Context, volConfig *storage.VolumeConfig, storagePool storage.Pool, volAttributes map[string]sa.Request, ) error
Create a volume with the specified options
func (*NASStorageDriver) CreateClone ¶
func (d *NASStorageDriver) CreateClone( ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, storagePool storage.Pool, ) error
CreateClone creates a volume clone
func (*NASStorageDriver) CreateFollowup ¶
func (d *NASStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error
func (*NASStorageDriver) CreatePrepare ¶
func (d *NASStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)
func (*NASStorageDriver) CreateSnapshot ¶
func (d *NASStorageDriver) CreateSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) (*storage.Snapshot, error)
CreateSnapshot creates a snapshot for the given volume
func (*NASStorageDriver) DeleteSnapshot ¶
func (d *NASStorageDriver) DeleteSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
DeleteSnapshot creates a snapshot of a volume.
func (*NASStorageDriver) Destroy ¶
func (d *NASStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
Destroy the volume
func (*NASStorageDriver) EstablishMirror ¶
func (d *NASStorageDriver) EstablishMirror( ctx context.Context, localVolumeHandle, remoteVolumeHandle, replicationPolicy, replicationSchedule string, ) error
EstablishMirror will create a new snapmirror relationship between a RW and a DP volume that have not previously had a relationship
func (*NASStorageDriver) Get ¶
func (d *NASStorageDriver) Get(ctx context.Context, name string) error
Get tests for the existence of a volume
func (*NASStorageDriver) GetAPI ¶
func (d *NASStorageDriver) GetAPI() api.OntapAPI
func (NASStorageDriver) GetCommonConfig ¶
func (d NASStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
GetCommonConfig returns driver's CommonConfig
func (*NASStorageDriver) GetConfig ¶
func (d *NASStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
func (*NASStorageDriver) GetExternalConfig ¶
func (d *NASStorageDriver) GetExternalConfig(ctx context.Context) interface{}
func (*NASStorageDriver) GetInternalVolumeName ¶
func (d *NASStorageDriver) GetInternalVolumeName(_ context.Context, name string) string
func (*NASStorageDriver) GetMirrorStatus ¶
func (d *NASStorageDriver) GetMirrorStatus( ctx context.Context, localVolumeHandle, remoteVolumeHandle string, ) (string, error)
GetMirrorStatus returns the current state of a snapmirror relationship
func (*NASStorageDriver) GetProtocol ¶
func (d *NASStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
func (*NASStorageDriver) GetReplicationDetails ¶
func (d *NASStorageDriver) GetReplicationDetails( ctx context.Context, localVolumeHandle, remoteVolumeHandle string, ) (string, string, error)
GetReplicationDetails returns the replication policy and schedule of a snapmirror relationship
func (*NASStorageDriver) GetSnapshot ¶
func (d *NASStorageDriver) 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 (*NASStorageDriver) GetSnapshots ¶
func (d *NASStorageDriver) GetSnapshots(ctx context.Context, volConfig *storage.VolumeConfig) ( []*storage.Snapshot, error, )
GetSnapshots returns the list of snapshots associated with the specified volume
func (*NASStorageDriver) GetStorageBackendPhysicalPoolNames ¶
func (d *NASStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string
GetStorageBackendPhysicalPoolNames retrieves storage backend physical pools
func (*NASStorageDriver) GetStorageBackendSpecs ¶
func (d *NASStorageDriver) GetStorageBackendSpecs( _ context.Context, backend storage.Backend, ) error
GetStorageBackendSpecs retrieves storage backend capabilities
func (*NASStorageDriver) GetTelemetry ¶
func (d *NASStorageDriver) GetTelemetry() *Telemetry
func (*NASStorageDriver) GetUpdateType ¶
func (d *NASStorageDriver) GetUpdateType(ctx context.Context, driverOrig storage.Driver) *roaring.Bitmap
GetUpdateType returns a bitmap populated with updates to the driver
func (*NASStorageDriver) GetVolumeExternal ¶
func (d *NASStorageDriver) 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 (*NASStorageDriver) GetVolumeExternalWrappers ¶
func (d *NASStorageDriver) 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 (*NASStorageDriver) GetVolumeOpts ¶
func (NASStorageDriver) GoString ¶
func (d NASStorageDriver) GoString() string
GoString makes NASStorageDriver satisfy the GoStringer interface.
func (*NASStorageDriver) Import ¶
func (d *NASStorageDriver) Import( ctx context.Context, volConfig *storage.VolumeConfig, originalName string, ) error
func (*NASStorageDriver) Initialize ¶
func (d *NASStorageDriver) Initialize( ctx context.Context, driverContext tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig, backendSecret map[string]string, backendUUID string, ) error
Initialize from the provided config
func (*NASStorageDriver) Initialized ¶
func (d *NASStorageDriver) Initialized() bool
func (*NASStorageDriver) Name ¶
func (d *NASStorageDriver) Name() string
Name is for returning the name of this driver
func (*NASStorageDriver) PromoteMirror ¶
func (d *NASStorageDriver) PromoteMirror( ctx context.Context, localVolumeHandle, remoteVolumeHandle, snapshotName string, ) (bool, error)
PromoteMirror will break the snapmirror and make the destination volume RW, optionally after a given snapshot has synced
func (*NASStorageDriver) Publish ¶
func (d *NASStorageDriver) 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 (*NASStorageDriver) ReconcileNodeAccess ¶
func (*NASStorageDriver) ReestablishMirror ¶
func (d *NASStorageDriver) ReestablishMirror( ctx context.Context, localVolumeHandle, remoteVolumeHandle, replicationPolicy, replicationSchedule string, ) error
ReestablishMirror will attempt to resync a snapmirror relationship, if and only if the relationship existed previously
func (*NASStorageDriver) ReleaseMirror ¶
func (d *NASStorageDriver) ReleaseMirror(ctx context.Context, localVolumeHandle string) error
ReleaseMirror will release the snapmirror relationship data of the source volume
func (*NASStorageDriver) Rename ¶
func (d *NASStorageDriver) Rename(ctx context.Context, name, newName string) error
Rename changes the name of a volume
func (*NASStorageDriver) Resize ¶
func (d *NASStorageDriver) Resize( ctx context.Context, volConfig *storage.VolumeConfig, requestedSizeBytes uint64, ) error
Resize expands the volume size.
func (*NASStorageDriver) RestoreSnapshot ¶
func (d *NASStorageDriver) RestoreSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
RestoreSnapshot restores a volume (in place) from a snapshot.
func (*NASStorageDriver) StoreConfig ¶
func (d *NASStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
func (NASStorageDriver) String ¶
func (d NASStorageDriver) String() string
String makes NASStorageDriver satisfy the Stringer interface.
type SANEconomyStorageDriver ¶
type SANEconomyStorageDriver struct { Config drivers.OntapStorageDriverConfig API api.OntapAPI // contains filtered or unexported fields }
SANEconomyStorageDriver is for iSCSI storage provisioning of LUNs
func (*SANEconomyStorageDriver) BackendName ¶
func (d *SANEconomyStorageDriver) BackendName() string
BackendName returns the name of the backend managed by this driver instance
func (*SANEconomyStorageDriver) CanSnapshot ¶
func (d *SANEconomyStorageDriver) CanSnapshot( _ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
CanSnapshot determines whether a snapshot as specified in the provided snapshot config may be taken.
func (*SANEconomyStorageDriver) Create ¶
func (d *SANEconomyStorageDriver) Create( ctx context.Context, volConfig *storage.VolumeConfig, storagePool storage.Pool, volAttributes map[string]sa.Request, ) error
Create a volume+LUN with the specified options
func (*SANEconomyStorageDriver) CreateClone ¶
func (d *SANEconomyStorageDriver) CreateClone( ctx context.Context, _, cloneVolConfig *storage.VolumeConfig, _ storage.Pool, ) error
CreateClone creates a volume clone
func (*SANEconomyStorageDriver) CreateFollowup ¶
func (d *SANEconomyStorageDriver) CreateFollowup(ctx context.Context, volConfig *storage.VolumeConfig) error
func (*SANEconomyStorageDriver) CreatePrepare ¶
func (d *SANEconomyStorageDriver) CreatePrepare(ctx context.Context, volConfig *storage.VolumeConfig)
func (*SANEconomyStorageDriver) CreateSnapshot ¶
func (d *SANEconomyStorageDriver) CreateSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) (*storage.Snapshot, error)
CreateSnapshot creates a snapshot for the given volume.
func (*SANEconomyStorageDriver) DeleteBucketIfEmpty ¶
func (d *SANEconomyStorageDriver) DeleteBucketIfEmpty(ctx context.Context, bucketVol string) error
DeleteBucketIfEmpty will check if the given bucket volume is empty, if the bucket is empty it will be deleted. Otherwise, it will be resized.
func (*SANEconomyStorageDriver) DeleteSnapshot ¶
func (d *SANEconomyStorageDriver) DeleteSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
DeleteSnapshot deletes a LUN snapshot.
func (*SANEconomyStorageDriver) Destroy ¶
func (d *SANEconomyStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
Destroy the LUN
func (*SANEconomyStorageDriver) FlexvolNamePrefix ¶
func (d *SANEconomyStorageDriver) FlexvolNamePrefix() string
func (*SANEconomyStorageDriver) Get ¶
func (d *SANEconomyStorageDriver) Get(ctx context.Context, name string) error
Get tests for the existence of a volume
func (*SANEconomyStorageDriver) GetAPI ¶
func (d *SANEconomyStorageDriver) GetAPI() api.OntapAPI
func (*SANEconomyStorageDriver) GetChapInfo ¶
func (d *SANEconomyStorageDriver) GetChapInfo(_ context.Context, _, _ string) (*utils.IscsiChapInfo, error)
func (SANEconomyStorageDriver) GetCommonConfig ¶
func (d SANEconomyStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
GetCommonConfig returns driver's CommonConfig
func (*SANEconomyStorageDriver) GetConfig ¶
func (d *SANEconomyStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
func (*SANEconomyStorageDriver) GetExternalConfig ¶
func (d *SANEconomyStorageDriver) GetExternalConfig(ctx context.Context) interface{}
func (*SANEconomyStorageDriver) GetInternalVolumeName ¶
func (d *SANEconomyStorageDriver) GetInternalVolumeName(_ context.Context, name string) string
func (*SANEconomyStorageDriver) GetProtocol ¶
func (d *SANEconomyStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
func (*SANEconomyStorageDriver) GetSnapshot ¶
func (d *SANEconomyStorageDriver) 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 (*SANEconomyStorageDriver) GetSnapshots ¶
func (d *SANEconomyStorageDriver) GetSnapshots( ctx context.Context, volConfig *storage.VolumeConfig, ) ([]*storage.Snapshot, error)
func (*SANEconomyStorageDriver) GetStorageBackendPhysicalPoolNames ¶
func (d *SANEconomyStorageDriver) GetStorageBackendPhysicalPoolNames(context.Context) []string
GetStorageBackendPhysicalPoolNames retrieves storage backend physical pools
func (*SANEconomyStorageDriver) GetStorageBackendSpecs ¶
func (d *SANEconomyStorageDriver) GetStorageBackendSpecs(_ context.Context, backend storage.Backend) error
GetStorageBackendSpecs retrieves storage backend capabilities
func (*SANEconomyStorageDriver) GetTelemetry ¶
func (d *SANEconomyStorageDriver) GetTelemetry() *Telemetry
func (*SANEconomyStorageDriver) GetUpdateType ¶
func (d *SANEconomyStorageDriver) GetUpdateType(_ context.Context, driverOrig storage.Driver) *roaring.Bitmap
GetUpdateType returns a bitmap populated with updates to the driver
func (*SANEconomyStorageDriver) GetVolumeExternal ¶
func (d *SANEconomyStorageDriver) 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 (*SANEconomyStorageDriver) GetVolumeExternalWrappers ¶
func (d *SANEconomyStorageDriver) 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 (*SANEconomyStorageDriver) GetVolumeOpts ¶
func (SANEconomyStorageDriver) GoString ¶
func (d SANEconomyStorageDriver) GoString() string
GoString makes SANEconomyStorageDriver satisfy the GoStringer interface.
func (*SANEconomyStorageDriver) Import ¶
func (d *SANEconomyStorageDriver) Import( ctx context.Context, volConfig *storage.VolumeConfig, originalName string, ) error
func (*SANEconomyStorageDriver) Initialize ¶
func (d *SANEconomyStorageDriver) Initialize( ctx context.Context, driverContext tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig, backendSecret map[string]string, backendUUID string, ) error
Initialize from the provided config
func (*SANEconomyStorageDriver) Initialized ¶
func (d *SANEconomyStorageDriver) Initialized() bool
func (*SANEconomyStorageDriver) LUNExists ¶
func (d *SANEconomyStorageDriver) LUNExists(ctx context.Context, name, bucketPrefix string) (bool, string, error)
LUNExists returns true if the named LUN exists across all buckets. This should be called with the actual LUN name, i.e. the internal volume name or snap-LUN name.
func (*SANEconomyStorageDriver) Name ¶
func (d *SANEconomyStorageDriver) Name() string
Name is for returning the name of this driver
func (*SANEconomyStorageDriver) Publish ¶
func (d *SANEconomyStorageDriver) 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 (*SANEconomyStorageDriver) ReconcileNodeAccess ¶
func (*SANEconomyStorageDriver) Rename ¶
func (d *SANEconomyStorageDriver) Rename(ctx context.Context, name, newName string) error
func (*SANEconomyStorageDriver) Resize ¶
func (d *SANEconomyStorageDriver) Resize(ctx context.Context, volConfig *storage.VolumeConfig, sizeBytes uint64) error
Resize a LUN with the specified options and find (or create) a bucket volume for the LUN
func (*SANEconomyStorageDriver) RestoreSnapshot ¶
func (d *SANEconomyStorageDriver) RestoreSnapshot( ctx context.Context, snapConfig *storage.SnapshotConfig, _ *storage.VolumeConfig, ) error
RestoreSnapshot restores a volume (in place) from a snapshot.
func (*SANEconomyStorageDriver) StoreConfig ¶
func (d *SANEconomyStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
func (SANEconomyStorageDriver) String ¶
func (d SANEconomyStorageDriver) String() string
String makes SANEconomyStorageDriver satisfy the Stringer interface.
type SANStorageDriver ¶
type SANStorageDriver struct { Config drivers.OntapStorageDriverConfig API api.OntapAPI // contains filtered or unexported fields }
SANStorageDriver is for iSCSI storage provisioning
func (*SANStorageDriver) BackendName ¶
func (d *SANStorageDriver) BackendName() string
BackendName returns the name of the backend managed by this driver instance
func (*SANStorageDriver) CanSnapshot ¶
func (d *SANStorageDriver) CanSnapshot(_ context.Context, _ *storage.SnapshotConfig, _ *storage.VolumeConfig) error
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 volume+LUN with the specified options
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 creates a snapshot of a volume.
func (*SANStorageDriver) Destroy ¶
func (d *SANStorageDriver) Destroy(ctx context.Context, volConfig *storage.VolumeConfig) error
Destroy the requested (volume,lun) storage tuple
func (*SANStorageDriver) EnablePublishEnforcement ¶
func (*SANStorageDriver) EstablishMirror ¶
func (d *SANStorageDriver) EstablishMirror( ctx context.Context, localVolumeHandle, remoteVolumeHandle, replicationPolicy, replicationSchedule string, ) error
EstablishMirror will create a new snapmirror relationship between a RW and a DP volume that have not previously had a relationship
func (*SANStorageDriver) Get ¶
func (d *SANStorageDriver) Get(ctx context.Context, name string) error
Get tests for the existence of a volume
func (*SANStorageDriver) GetAPI ¶
func (d *SANStorageDriver) GetAPI() api.OntapAPI
func (*SANStorageDriver) GetChapInfo ¶
func (d *SANStorageDriver) GetChapInfo(_ context.Context, _, _ string) (*utils.IscsiChapInfo, error)
func (SANStorageDriver) GetCommonConfig ¶
func (d SANStorageDriver) GetCommonConfig(context.Context) *drivers.CommonStorageDriverConfig
GetCommonConfig returns driver's CommonConfig
func (*SANStorageDriver) GetConfig ¶
func (d *SANStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
func (*SANStorageDriver) GetExternalConfig ¶
func (d *SANStorageDriver) GetExternalConfig(ctx context.Context) interface{}
func (*SANStorageDriver) GetInternalVolumeName ¶
func (d *SANStorageDriver) GetInternalVolumeName(_ context.Context, name string) string
func (*SANStorageDriver) GetMirrorStatus ¶
func (d *SANStorageDriver) GetMirrorStatus( ctx context.Context, localVolumeHandle, remoteVolumeHandle string, ) (string, error)
GetMirrorStatus returns the current state of a snapmirror relationship
func (*SANStorageDriver) GetProtocol ¶
func (d *SANStorageDriver) GetProtocol(context.Context) tridentconfig.Protocol
func (*SANStorageDriver) GetReplicationDetails ¶
func (d *SANStorageDriver) GetReplicationDetails( ctx context.Context, localVolumeHandle, remoteVolumeHandle string, ) (string, string, error)
GetReplicationDetails returns the replication policy and schedule of a snapmirror relationship
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 ¶
GetStorageBackendSpecs retrieves storage backend capabilities
func (*SANStorageDriver) GetTelemetry ¶
func (d *SANStorageDriver) GetTelemetry() *Telemetry
func (*SANStorageDriver) GetUpdateType ¶
func (d *SANStorageDriver) GetUpdateType(_ context.Context, driverOrig storage.Driver) *roaring.Bitmap
GetUpdateType returns a bitmap populated with updates to the driver
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 (*SANStorageDriver) GoString ¶
func (d *SANStorageDriver) GoString() string
GoString makes SANStorageDriver satisfy the GoStringer interface.
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, driverContext 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) PromoteMirror ¶
func (d *SANStorageDriver) PromoteMirror( ctx context.Context, localVolumeHandle, remoteVolumeHandle, snapshotName string, ) (bool, error)
PromoteMirror will break the snapmirror and make the destination volume RW, optionally after a given snapshot has synced
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 (*SANStorageDriver) ReestablishMirror ¶
func (d *SANStorageDriver) ReestablishMirror( ctx context.Context, localVolumeHandle, remoteVolumeHandle, replicationPolicy, replicationSchedule string, ) error
ReestablishMirror will attempt to resync a snapmirror relationship, if and only if the relationship existed previously
func (*SANStorageDriver) ReleaseMirror ¶
func (d *SANStorageDriver) ReleaseMirror(ctx context.Context, localVolumeHandle string) error
ReleaseMirror will release the snapmirror relationship data of the source volume
func (*SANStorageDriver) Rename ¶
func (d *SANStorageDriver) Rename(ctx context.Context, name, newName string) error
func (*SANStorageDriver) Resize ¶
func (d *SANStorageDriver) Resize( ctx context.Context, volConfig *storage.VolumeConfig, requestedSizeBytes 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 (d *SANStorageDriver) StoreConfig(_ context.Context, b *storage.PersistentStorageBackendConfig)
func (SANStorageDriver) String ¶
func (d SANStorageDriver) String() string
String makes SANStorageDriver satisfy the Stringer interface.
func (*SANStorageDriver) Terminate ¶
func (d *SANStorageDriver) Terminate(ctx context.Context, _ string)
func (*SANStorageDriver) Unpublish ¶
func (d *SANStorageDriver) Unpublish( ctx context.Context, volConfig *storage.VolumeConfig, publishInfo *utils.VolumePublishInfo, ) error
Unpublish the volume from 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.
type StorageDriver ¶
type Telemetry ¶
type Telemetry struct { config.Telemetry Plugin string `json:"plugin"` SVM string `json:"svm"` StoragePrefix string `json:"storagePrefix"` Driver StorageDriver `json:"-"` // contains filtered or unexported fields }
func NewOntapTelemetry ¶
func NewOntapTelemetry(ctx context.Context, d StorageDriver) *Telemetry
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
DO NOT EDIT: Auto generated using 'ifacemaker -f ontap_rest.go -s RestClient -i RestClientInterface -p api'
|
DO NOT EDIT: Auto generated using 'ifacemaker -f ontap_rest.go -s RestClient -i RestClientInterface -p api' |