Documentation ¶
Index ¶
- Constants
- func CreateOntapClone(name, source, snapshot string, split bool, ...) error
- func EMSHeartbeat(driver StorageDriver)
- func GetSnapshotList(name string, config *drivers.OntapStorageDriverConfig, client *api.Client) ([]storage.Snapshot, error)
- func GetSnapshotReserve(snapshotPolicy, snapshotReserve string) (int, error)
- func GetVolume(name string, client *api.Client, config *drivers.OntapStorageDriverConfig) error
- func GetVolumeSize(sizeBytes uint64, config drivers.OntapStorageDriverConfig) (uint64, error)
- func InitializeOntapAPI(config *drivers.OntapStorageDriverConfig) (*api.Client, error)
- func InitializeOntapConfig(context tridentconfig.DriverContext, configJSON string, ...) (*drivers.OntapStorageDriverConfig, error)
- func InitializeOntapDriver(config *drivers.OntapStorageDriverConfig) (*api.Client, error)
- func PopulateConfigurationDefaults(config *drivers.OntapStorageDriverConfig) error
- func UpdateLoadSharingMirrors(client *api.Client)
- func ValidateDataLIF(dataLIF string, dataLIFs []string) ([]string, error)
- func ValidateEncryptionAttribute(encryption string, client *api.Client) (*bool, error)
- func ValidateNASDriver(api *api.Client, config *drivers.OntapStorageDriverConfig) error
- type HousekeepingTask
- type NASFlexGroupStorageDriver
- func (d *NASFlexGroupStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
- func (d *NASFlexGroupStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
- func (d *NASFlexGroupStorageDriver) CreateFollowup(volConfig *storage.VolumeConfig) error
- func (d *NASFlexGroupStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) bool
- func (d *NASFlexGroupStorageDriver) Destroy(name string) error
- func (d *NASFlexGroupStorageDriver) Get(name string) error
- func (d *NASFlexGroupStorageDriver) GetAPI() *api.Client
- func (d *NASFlexGroupStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
- func (d *NASFlexGroupStorageDriver) GetExternalConfig() interface{}
- func (d *NASFlexGroupStorageDriver) GetInternalVolumeName(name string) string
- func (d *NASFlexGroupStorageDriver) GetProtocol() tridentconfig.Protocol
- func (d *NASFlexGroupStorageDriver) GetStorageBackendSpecs(backend *storage.Backend) error
- func (d *NASFlexGroupStorageDriver) GetTelemetry() *Telemetry
- func (d *NASFlexGroupStorageDriver) GetUpdateType(driverOrig storage.Driver) *roaring.Bitmap
- func (d *NASFlexGroupStorageDriver) GetVolumeExternal(name string) (*storage.VolumeExternal, error)
- func (d *NASFlexGroupStorageDriver) GetVolumeExternalWrappers(channel chan *storage.VolumeExternalWrapper)
- func (d *NASFlexGroupStorageDriver) GetVolumeOpts(volConfig *storage.VolumeConfig, pool *storage.Pool, ...) (map[string]string, error)
- func (d *NASFlexGroupStorageDriver) Initialize(context tridentconfig.DriverContext, configJSON string, ...) error
- func (d *NASFlexGroupStorageDriver) Initialized() bool
- func (d *NASFlexGroupStorageDriver) Name() string
- func (d *NASFlexGroupStorageDriver) Publish(name string, publishInfo *utils.VolumePublishInfo) error
- func (d *NASFlexGroupStorageDriver) Resize(name string, sizeBytes uint64) error
- func (d *NASFlexGroupStorageDriver) SnapshotList(name string) ([]storage.Snapshot, error)
- func (d *NASFlexGroupStorageDriver) StoreConfig(b *storage.PersistentStorageBackendConfig)
- func (d *NASFlexGroupStorageDriver) Terminate()
- type NASQtreeStorageDriver
- func (d *NASQtreeStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
- func (d *NASQtreeStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
- func (d *NASQtreeStorageDriver) CreateFollowup(volConfig *storage.VolumeConfig) error
- func (d *NASQtreeStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) bool
- func (d *NASQtreeStorageDriver) Destroy(name string) error
- func (d *NASQtreeStorageDriver) FlexvolNamePrefix() string
- func (d *NASQtreeStorageDriver) Get(name string) error
- func (d *NASQtreeStorageDriver) GetAPI() *api.Client
- func (d *NASQtreeStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
- func (d *NASQtreeStorageDriver) GetExternalConfig() interface{}
- func (d *NASQtreeStorageDriver) GetInternalVolumeName(name string) string
- func (d *NASQtreeStorageDriver) GetProtocol() tridentconfig.Protocol
- func (d *NASQtreeStorageDriver) GetStorageBackendSpecs(backend *storage.Backend) error
- func (d *NASQtreeStorageDriver) GetTelemetry() *Telemetry
- func (d *NASQtreeStorageDriver) GetUpdateType(driverOrig storage.Driver) *roaring.Bitmap
- func (d *NASQtreeStorageDriver) GetVolumeExternal(name string) (*storage.VolumeExternal, error)
- func (d *NASQtreeStorageDriver) GetVolumeExternalWrappers(channel chan *storage.VolumeExternalWrapper)
- func (d *NASQtreeStorageDriver) GetVolumeOpts(volConfig *storage.VolumeConfig, pool *storage.Pool, ...) (map[string]string, error)
- func (d *NASQtreeStorageDriver) Initialize(context tridentconfig.DriverContext, configJSON string, ...) error
- func (d *NASQtreeStorageDriver) Initialized() bool
- func (d *NASQtreeStorageDriver) Name() string
- func (d *NASQtreeStorageDriver) Publish(name string, publishInfo *utils.VolumePublishInfo) error
- func (d *NASQtreeStorageDriver) Resize(name string, sizeBytes uint64) error
- func (d *NASQtreeStorageDriver) SnapshotList(name string) ([]storage.Snapshot, error)
- func (d *NASQtreeStorageDriver) StoreConfig(b *storage.PersistentStorageBackendConfig)
- func (d *NASQtreeStorageDriver) Terminate()
- type NASStorageDriver
- func (d *NASStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
- func (d *NASStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
- func (d *NASStorageDriver) CreateFollowup(volConfig *storage.VolumeConfig) error
- func (d *NASStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) bool
- func (d *NASStorageDriver) Destroy(name string) error
- func (d *NASStorageDriver) Get(name string) error
- func (d *NASStorageDriver) GetAPI() *api.Client
- func (d *NASStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
- func (d *NASStorageDriver) GetExternalConfig() interface{}
- func (d *NASStorageDriver) GetInternalVolumeName(name string) string
- func (d *NASStorageDriver) GetProtocol() tridentconfig.Protocol
- func (d *NASStorageDriver) GetStorageBackendSpecs(backend *storage.Backend) error
- func (d *NASStorageDriver) GetTelemetry() *Telemetry
- func (d *NASStorageDriver) GetUpdateType(driverOrig storage.Driver) *roaring.Bitmap
- func (d *NASStorageDriver) GetVolumeExternal(name string) (*storage.VolumeExternal, error)
- func (d *NASStorageDriver) GetVolumeExternalWrappers(channel chan *storage.VolumeExternalWrapper)
- func (d *NASStorageDriver) GetVolumeOpts(volConfig *storage.VolumeConfig, pool *storage.Pool, ...) (map[string]string, error)
- func (d *NASStorageDriver) Initialize(context tridentconfig.DriverContext, configJSON string, ...) error
- func (d *NASStorageDriver) Initialized() bool
- func (d *NASStorageDriver) Name() string
- func (d *NASStorageDriver) Publish(name string, publishInfo *utils.VolumePublishInfo) error
- func (d *NASStorageDriver) Resize(name string, sizeBytes uint64) error
- func (d *NASStorageDriver) SnapshotList(name string) ([]storage.Snapshot, error)
- func (d *NASStorageDriver) StoreConfig(b *storage.PersistentStorageBackendConfig)
- func (d *NASStorageDriver) Terminate()
- 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) CreatePrepare(volConfig *storage.VolumeConfig) bool
- func (d *SANStorageDriver) Destroy(name string) error
- func (d *SANStorageDriver) Get(name string) error
- func (d *SANStorageDriver) GetAPI() *api.Client
- func (d *SANStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
- 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) GetTelemetry() *Telemetry
- 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) Name() 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 StorageDriver
- type Telemetry
Constants ¶
const ( LSMirrorIdleTimeoutSecs = 30 MinimumVolumeSizeBytes = 20971520 // 20 MiB HousekeepingStartupDelaySecs = 10 )
const DefaultEncryption = "false"
const DefaultExportPolicy = "default"
const DefaultFileSystemType = "ext4"
const DefaultLimitAggregateUsage = ""
const DefaultLimitVolumeSize = ""
const DefaultNfsMountOptions = "-o nfsvers=3"
const DefaultSecurityStyle = "unix"
const DefaultSnapshotDir = "false"
const DefaultSnapshotPolicy = "none"
const DefaultSnapshotReserve = ""
const DefaultSpaceReserve = "none"
const DefaultSplitOnClone = "false"
const DefaultUnixPermissions = "---rwxrwxrwx"
const LUNAttributeFSType = "com.netapp.ndvp.fstype"
const MSecPerHour = 1000 * 60 * 60 // millis * seconds * minutes
Variables ¶
This section is empty.
Functions ¶
func CreateOntapClone ¶
func CreateOntapClone( name, source, snapshot string, split bool, config *drivers.OntapStorageDriverConfig, client *api.Client, ) error
Create a volume clone
func EMSHeartbeat ¶
func EMSHeartbeat(driver StorageDriver)
EMSHeartbeat logs an ASUP message on a timer view them via filer::> event log show -severity NOTICE
func GetSnapshotList ¶
func GetSnapshotList(name string, config *drivers.OntapStorageDriverConfig, client *api.Client) ([]storage.Snapshot, error)
Return the list of snapshots associated with the named volume
func GetSnapshotReserve ¶
func GetVolume ¶
GetVolume checks for the existence of a volume. It returns nil if the volume exists and an error if it does not (or the API call fails).
func GetVolumeSize ¶
func GetVolumeSize(sizeBytes uint64, config drivers.OntapStorageDriverConfig) (uint64, error)
func InitializeOntapAPI ¶
func InitializeOntapAPI(config *drivers.OntapStorageDriverConfig) (*api.Client, error)
InitializeOntapAPI returns an ontap.Client ZAPI client. If the SVM isn't specified in the config file, this method attempts to derive the one to use.
func InitializeOntapConfig ¶
func InitializeOntapConfig( context tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig, ) (*drivers.OntapStorageDriverConfig, error)
InitializeOntapConfig parses the ONTAP config, mixing in the specified common config.
func InitializeOntapDriver ¶
func InitializeOntapDriver(config *drivers.OntapStorageDriverConfig) (*api.Client, error)
InitializeOntapDriver sets up the API client and performs all other initialization tasks that are common to all the ONTAP drivers.
func PopulateConfigurationDefaults ¶
func PopulateConfigurationDefaults(config *drivers.OntapStorageDriverConfig) error
PopulateConfigurationDefaults fills in default values for configuration settings if not supplied in the config file
func UpdateLoadSharingMirrors ¶
UpdateLoadSharingMirrors checks for the present of LS mirrors on the SVM root volume, and if present, starts an update and waits for them to become idle.
func ValidateEncryptionAttribute ¶
ValidateEncryptionAttribute returns true/false if encryption is being requested of a backend that supports NetApp Volume Encryption, and nil otherwise so that the ZAPIs may be sent without any reference to encryption.
func ValidateNASDriver ¶
func ValidateNASDriver(api *api.Client, config *drivers.OntapStorageDriverConfig) error
ValidateNASDriver contains the validation logic shared between ontap-nas and ontap-nas-economy.
Types ¶
type HousekeepingTask ¶
type HousekeepingTask struct { Name string Ticker *time.Ticker InitialDelay time.Duration Done chan struct{} Tasks []func() Driver *NASQtreeStorageDriver }
func NewPruneTask ¶
func NewPruneTask(d *NASQtreeStorageDriver, tasks []func()) *HousekeepingTask
func NewResizeTask ¶
func NewResizeTask(d *NASQtreeStorageDriver, tasks []func()) *HousekeepingTask
func (*HousekeepingTask) Start ¶
func (t *HousekeepingTask) Start()
func (*HousekeepingTask) Stop ¶
func (t *HousekeepingTask) Stop()
type NASFlexGroupStorageDriver ¶
type NASFlexGroupStorageDriver struct { Config drivers.OntapStorageDriverConfig API *api.Client Telemetry *Telemetry // contains filtered or unexported fields }
NASFlexGroupStorageDriver is for NFS FlexGroup storage provisioning
func (*NASFlexGroupStorageDriver) Create ¶
func (d *NASFlexGroupStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
Create a volume with the specified options
func (*NASFlexGroupStorageDriver) CreateClone ¶
func (d *NASFlexGroupStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
Create a volume clone
func (*NASFlexGroupStorageDriver) CreateFollowup ¶
func (d *NASFlexGroupStorageDriver) CreateFollowup( volConfig *storage.VolumeConfig, ) error
func (*NASFlexGroupStorageDriver) CreatePrepare ¶
func (d *NASFlexGroupStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) bool
func (*NASFlexGroupStorageDriver) Destroy ¶
func (d *NASFlexGroupStorageDriver) Destroy(name string) error
Destroy the volume
func (*NASFlexGroupStorageDriver) Get ¶
func (d *NASFlexGroupStorageDriver) Get(name string) error
Tests the existence of a FlexGroup. Returns nil if the FlexGroup exists and an error otherwise.
func (*NASFlexGroupStorageDriver) GetAPI ¶
func (d *NASFlexGroupStorageDriver) GetAPI() *api.Client
func (*NASFlexGroupStorageDriver) GetConfig ¶
func (d *NASFlexGroupStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
func (*NASFlexGroupStorageDriver) GetExternalConfig ¶
func (d *NASFlexGroupStorageDriver) GetExternalConfig() interface{}
func (*NASFlexGroupStorageDriver) GetInternalVolumeName ¶
func (d *NASFlexGroupStorageDriver) GetInternalVolumeName(name string) string
func (*NASFlexGroupStorageDriver) GetProtocol ¶
func (d *NASFlexGroupStorageDriver) GetProtocol() tridentconfig.Protocol
func (*NASFlexGroupStorageDriver) GetStorageBackendSpecs ¶
func (d *NASFlexGroupStorageDriver) GetStorageBackendSpecs(backend *storage.Backend) error
Retrieve storage backend capabilities
func (*NASFlexGroupStorageDriver) GetTelemetry ¶
func (d *NASFlexGroupStorageDriver) GetTelemetry() *Telemetry
func (*NASFlexGroupStorageDriver) GetUpdateType ¶
func (d *NASFlexGroupStorageDriver) GetUpdateType(driverOrig storage.Driver) *roaring.Bitmap
GetUpdateType returns a bitmap populated with updates to the driver
func (*NASFlexGroupStorageDriver) GetVolumeExternal ¶
func (d *NASFlexGroupStorageDriver) 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 (*NASFlexGroupStorageDriver) GetVolumeExternalWrappers ¶
func (d *NASFlexGroupStorageDriver) 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 (*NASFlexGroupStorageDriver) GetVolumeOpts ¶
func (*NASFlexGroupStorageDriver) Initialize ¶
func (d *NASFlexGroupStorageDriver) Initialize( context tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig, ) 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(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 (*NASFlexGroupStorageDriver) Resize ¶
func (d *NASFlexGroupStorageDriver) Resize(name string, sizeBytes uint64) error
Resize expands the FlexGroup size.
func (*NASFlexGroupStorageDriver) SnapshotList ¶
func (d *NASFlexGroupStorageDriver) SnapshotList(name string) ([]storage.Snapshot, error)
Return the list of snapshots associated with the named volume
func (*NASFlexGroupStorageDriver) StoreConfig ¶
func (d *NASFlexGroupStorageDriver) StoreConfig( b *storage.PersistentStorageBackendConfig, )
func (*NASFlexGroupStorageDriver) Terminate ¶
func (d *NASFlexGroupStorageDriver) Terminate()
type NASQtreeStorageDriver ¶
type NASQtreeStorageDriver struct { Config drivers.OntapStorageDriverConfig API *api.Client Telemetry *Telemetry // contains filtered or unexported fields }
NASQtreeStorageDriver is for NFS storage provisioning of qtrees
func (*NASQtreeStorageDriver) CreateClone ¶
func (d *NASQtreeStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
Create a volume clone
func (*NASQtreeStorageDriver) CreateFollowup ¶
func (d *NASQtreeStorageDriver) CreateFollowup(volConfig *storage.VolumeConfig) error
func (*NASQtreeStorageDriver) CreatePrepare ¶
func (d *NASQtreeStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) bool
func (*NASQtreeStorageDriver) Destroy ¶
func (d *NASQtreeStorageDriver) Destroy(name string) error
Destroy the volume
func (*NASQtreeStorageDriver) FlexvolNamePrefix ¶
func (d *NASQtreeStorageDriver) FlexvolNamePrefix() string
func (*NASQtreeStorageDriver) Get ¶
func (d *NASQtreeStorageDriver) Get(name string) error
Test for the existence of a volume
func (*NASQtreeStorageDriver) GetAPI ¶
func (d *NASQtreeStorageDriver) GetAPI() *api.Client
func (*NASQtreeStorageDriver) GetConfig ¶
func (d *NASQtreeStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
func (*NASQtreeStorageDriver) GetExternalConfig ¶
func (d *NASQtreeStorageDriver) GetExternalConfig() interface{}
func (*NASQtreeStorageDriver) GetInternalVolumeName ¶
func (d *NASQtreeStorageDriver) GetInternalVolumeName(name string) string
func (*NASQtreeStorageDriver) GetProtocol ¶
func (d *NASQtreeStorageDriver) GetProtocol() tridentconfig.Protocol
func (*NASQtreeStorageDriver) GetStorageBackendSpecs ¶
func (d *NASQtreeStorageDriver) GetStorageBackendSpecs(backend *storage.Backend) error
Retrieve storage backend capabilities
func (*NASQtreeStorageDriver) GetTelemetry ¶
func (d *NASQtreeStorageDriver) GetTelemetry() *Telemetry
func (*NASQtreeStorageDriver) GetUpdateType ¶
func (d *NASQtreeStorageDriver) GetUpdateType(driverOrig storage.Driver) *roaring.Bitmap
GetUpdateType returns a bitmap populated with updates to the driver
func (*NASQtreeStorageDriver) GetVolumeExternal ¶
func (d *NASQtreeStorageDriver) 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 (*NASQtreeStorageDriver) GetVolumeExternalWrappers ¶
func (d *NASQtreeStorageDriver) 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 (*NASQtreeStorageDriver) GetVolumeOpts ¶
func (*NASQtreeStorageDriver) Initialize ¶
func (d *NASQtreeStorageDriver) Initialize( context tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig, ) 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(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 (*NASQtreeStorageDriver) Resize ¶
func (d *NASQtreeStorageDriver) Resize(name string, sizeBytes uint64) error
Resize expands the Flexvol containing the Qtree and updates the Qtree quota.
func (*NASQtreeStorageDriver) SnapshotList ¶
func (d *NASQtreeStorageDriver) SnapshotList(name string) ([]storage.Snapshot, error)
Return the list of snapshots associated with the named volume
func (*NASQtreeStorageDriver) StoreConfig ¶
func (d *NASQtreeStorageDriver) StoreConfig(b *storage.PersistentStorageBackendConfig)
func (*NASQtreeStorageDriver) Terminate ¶
func (d *NASQtreeStorageDriver) Terminate()
type NASStorageDriver ¶
type NASStorageDriver struct { Config drivers.OntapStorageDriverConfig API *api.Client Telemetry *Telemetry // contains filtered or unexported fields }
NASStorageDriver is for NFS storage provisioning
func (*NASStorageDriver) CreateClone ¶
func (d *NASStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
Create a volume clone
func (*NASStorageDriver) CreateFollowup ¶
func (d *NASStorageDriver) CreateFollowup( volConfig *storage.VolumeConfig, ) error
func (*NASStorageDriver) CreatePrepare ¶
func (d *NASStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) bool
func (*NASStorageDriver) Destroy ¶
func (d *NASStorageDriver) Destroy(name string) error
Destroy the volume
func (*NASStorageDriver) Get ¶
func (d *NASStorageDriver) Get(name string) error
Test for the existence of a volume
func (*NASStorageDriver) GetAPI ¶
func (d *NASStorageDriver) GetAPI() *api.Client
func (*NASStorageDriver) GetConfig ¶
func (d *NASStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
func (*NASStorageDriver) GetExternalConfig ¶
func (d *NASStorageDriver) GetExternalConfig() interface{}
func (*NASStorageDriver) GetInternalVolumeName ¶
func (d *NASStorageDriver) GetInternalVolumeName(name string) string
func (*NASStorageDriver) GetProtocol ¶
func (d *NASStorageDriver) GetProtocol() tridentconfig.Protocol
func (*NASStorageDriver) GetStorageBackendSpecs ¶
func (d *NASStorageDriver) GetStorageBackendSpecs(backend *storage.Backend) error
Retrieve storage backend capabilities
func (*NASStorageDriver) GetTelemetry ¶
func (d *NASStorageDriver) GetTelemetry() *Telemetry
func (*NASStorageDriver) GetUpdateType ¶
func (d *NASStorageDriver) GetUpdateType(driverOrig storage.Driver) *roaring.Bitmap
GetUpdateType returns a bitmap populated with updates to the driver
func (*NASStorageDriver) GetVolumeExternal ¶
func (d *NASStorageDriver) 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 (*NASStorageDriver) GetVolumeExternalWrappers ¶
func (d *NASStorageDriver) 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 (*NASStorageDriver) GetVolumeOpts ¶
func (*NASStorageDriver) Initialize ¶
func (d *NASStorageDriver) Initialize( context tridentconfig.DriverContext, configJSON string, commonConfig *drivers.CommonStorageDriverConfig, ) 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) Publish ¶
func (d *NASStorageDriver) 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 (*NASStorageDriver) Resize ¶
func (d *NASStorageDriver) Resize(name string, sizeBytes uint64) error
Resize expands the volume size.
func (*NASStorageDriver) SnapshotList ¶
func (d *NASStorageDriver) SnapshotList(name string) ([]storage.Snapshot, error)
Return the list of snapshots associated with the named volume
func (*NASStorageDriver) StoreConfig ¶
func (d *NASStorageDriver) StoreConfig( b *storage.PersistentStorageBackendConfig, )
func (*NASStorageDriver) Terminate ¶
func (d *NASStorageDriver) Terminate()
type SANStorageDriver ¶
type SANStorageDriver struct { Config drivers.OntapStorageDriverConfig API *api.Client Telemetry *Telemetry // contains filtered or unexported fields }
SANStorageDriver is for iSCSI storage provisioning
func (*SANStorageDriver) CreateClone ¶
func (d *SANStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
Create a volume clone
func (*SANStorageDriver) CreateFollowup ¶
func (d *SANStorageDriver) CreateFollowup(volConfig *storage.VolumeConfig) error
func (*SANStorageDriver) CreatePrepare ¶
func (d *SANStorageDriver) CreatePrepare(volConfig *storage.VolumeConfig) bool
func (*SANStorageDriver) Destroy ¶
func (d *SANStorageDriver) Destroy(name string) error
Destroy the requested (volume,lun) storage tuple
func (*SANStorageDriver) Get ¶
func (d *SANStorageDriver) Get(name string) error
Test for the existence of a volume
func (*SANStorageDriver) GetAPI ¶
func (d *SANStorageDriver) GetAPI() *api.Client
func (*SANStorageDriver) GetConfig ¶
func (d *SANStorageDriver) GetConfig() *drivers.OntapStorageDriverConfig
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
Retrieve storage backend capabilities
func (*SANStorageDriver) GetTelemetry ¶
func (d *SANStorageDriver) GetTelemetry() *Telemetry
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) Name ¶
func (d SANStorageDriver) Name() string
Name is for returning the name of this driver
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.
func (*SANStorageDriver) SnapshotList ¶
func (d *SANStorageDriver) SnapshotList(name string) ([]storage.Snapshot, error)
Return the list of snapshots associated with the named volume
func (*SANStorageDriver) StoreConfig ¶
func (d *SANStorageDriver) StoreConfig( b *storage.PersistentStorageBackendConfig, )
func (*SANStorageDriver) Terminate ¶
func (d *SANStorageDriver) Terminate()
type StorageDriver ¶
type Telemetry ¶
type Telemetry struct { tridentconfig.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(d StorageDriver) *Telemetry