Documentation ¶
Index ¶
- Constants
- Variables
- func CreateOntapClone(name, source, snapshot string, split bool, config *OntapStorageDriverConfig, ...) error
- func EmsHeartbeat(driverName string, api *ontap.Driver, config *OntapStorageDriverConfig)
- func EmsInitialized(driverName string, api *ontap.Driver, config *OntapStorageDriverConfig)
- func GetVolume(name string, api *ontap.Driver, config *OntapStorageDriverConfig) error
- func GetVolumeList(api *ontap.Driver, config *OntapStorageDriverConfig) ([]string, error)
- func InitializeOntapAPI(config *OntapStorageDriverConfig) (*ontap.Driver, error)
- func InitializeOntapDriver(config *OntapStorageDriverConfig) (*ontap.Driver, error)
- func MakeSolidFireName(name string) string
- func MountVolume(exportPath, mountpoint string, config *OntapStorageDriverConfig) error
- func PopulateConfigurationDefaults(config *OntapStorageDriverConfig) error
- func StartEmsHeartbeat(driverName string, api *ontap.Driver, config *OntapStorageDriverConfig)
- func UnmountVolume(mountpoint string, config *OntapStorageDriverConfig) error
- func UpdateLoadSharingMirrors(api *ontap.Driver)
- func ValidateAggregate(api *ontap.Driver, config *OntapStorageDriverConfig) error
- func ValidateEncryptionAttribute(encryption string, api *ontap.Driver) (*bool, error)
- func ValidateNASDriver(context DriverContext, api *ontap.Driver, config *OntapStorageDriverConfig) error
- type CommonSnapshot
- type CommonStorageDriverConfig
- type CommonStorageDriverConfigDefaults
- type DriverContext
- type ESeriesStorageDriver
- func (d *ESeriesStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
- func (d *ESeriesStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
- func (d *ESeriesStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
- func (d *ESeriesStorageDriver) Destroy(name string) error
- func (d *ESeriesStorageDriver) Detach(name, mountpoint string) error
- func (d *ESeriesStorageDriver) Get(name string) error
- func (d *ESeriesStorageDriver) Initialize(context DriverContext, configJSON string, ...) error
- func (d *ESeriesStorageDriver) List() ([]string, error)
- func (d *ESeriesStorageDriver) MapVolumeToLocalHost(volume eseries.VolumeEx) (eseries.LUNMapping, error)
- func (d *ESeriesStorageDriver) Name() string
- func (d *ESeriesStorageDriver) Protocol() string
- func (d *ESeriesStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
- func (d *ESeriesStorageDriver) Validate(context DriverContext) error
- type ESeriesStorageDriverConfig
- type OntapNASQtreeStorageDriver
- func (d *OntapNASQtreeStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
- func (d *OntapNASQtreeStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
- func (d *OntapNASQtreeStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
- func (d *OntapNASQtreeStorageDriver) Destroy(name string) error
- func (d *OntapNASQtreeStorageDriver) Detach(name, mountpoint string) error
- func (d *OntapNASQtreeStorageDriver) FlexvolNamePrefix() string
- func (d *OntapNASQtreeStorageDriver) Get(name string) error
- func (d *OntapNASQtreeStorageDriver) GetAPI() *ontap.Driver
- func (d *OntapNASQtreeStorageDriver) GetConfig() *OntapStorageDriverConfig
- func (d *OntapNASQtreeStorageDriver) Initialize(context DriverContext, configJSON string, ...) error
- func (d *OntapNASQtreeStorageDriver) List() ([]string, error)
- func (d *OntapNASQtreeStorageDriver) Name() string
- func (d *OntapNASQtreeStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
- func (d *OntapNASQtreeStorageDriver) Validate(context DriverContext) error
- type OntapNASStorageDriver
- func (d *OntapNASStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
- func (d *OntapNASStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
- func (d *OntapNASStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
- func (d *OntapNASStorageDriver) Destroy(name string) error
- func (d *OntapNASStorageDriver) Detach(name, mountpoint string) error
- func (d *OntapNASStorageDriver) Get(name string) error
- func (d *OntapNASStorageDriver) GetAPI() *ontap.Driver
- func (d *OntapNASStorageDriver) GetConfig() *OntapStorageDriverConfig
- func (d *OntapNASStorageDriver) Initialize(context DriverContext, configJSON string, ...) error
- func (d *OntapNASStorageDriver) List() ([]string, error)
- func (d *OntapNASStorageDriver) Name() string
- func (d *OntapNASStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
- func (d *OntapNASStorageDriver) Validate(context DriverContext) error
- type OntapSANStorageDriver
- func (d *OntapSANStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
- func (d *OntapSANStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
- func (d *OntapSANStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
- func (d *OntapSANStorageDriver) Destroy(name string) error
- func (d *OntapSANStorageDriver) Detach(name, mountpoint string) error
- func (d *OntapSANStorageDriver) Get(name string) error
- func (d *OntapSANStorageDriver) GetAPI() *ontap.Driver
- func (d *OntapSANStorageDriver) GetConfig() *OntapStorageDriverConfig
- func (d *OntapSANStorageDriver) Initialize(context DriverContext, configJSON string, ...) error
- func (d *OntapSANStorageDriver) List() ([]string, error)
- func (d OntapSANStorageDriver) Name() string
- func (d *OntapSANStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
- func (d *OntapSANStorageDriver) Validate(context DriverContext) error
- type OntapStorageDriver
- type OntapStorageDriverConfig
- type OntapStorageDriverConfigDefaults
- type SolidfireSANStorageDriver
- func (d *SolidfireSANStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
- func (d *SolidfireSANStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
- func (d *SolidfireSANStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
- func (d *SolidfireSANStorageDriver) Destroy(name string) error
- func (d *SolidfireSANStorageDriver) Detach(name, mountpoint string) error
- func (d *SolidfireSANStorageDriver) Get(name string) error
- func (d *SolidfireSANStorageDriver) GetVolume(name string) (sfapi.Volume, error)
- func (d *SolidfireSANStorageDriver) Initialize(context DriverContext, configJSON string, ...) error
- func (d *SolidfireSANStorageDriver) List() (vols []string, err error)
- func (d SolidfireSANStorageDriver) Name() string
- func (d *SolidfireSANStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
- func (d *SolidfireSANStorageDriver) Validate(context DriverContext) error
- type SolidfireStorageDriverConfig
- type StorageDriver
Constants ¶
const ConfigVersion = 1
ConfigVersion is the expected version specified in the config file
const DefaultAccessGroupName = "netappdvp"
const DefaultEncryption = "false"
const DefaultExportPolicy = "default"
const DefaultFileSystemType = "ext4"
const DefaultHostType = "linux_dm_mp"
const DefaultNfsMountOptions = "-o nfsvers=3"
const DefaultSecurityStyle = "unix"
const DefaultSnapshotDir = "false"
const DefaultSnapshotPolicy = "none"
const DefaultSpaceReserve = "none"
const DefaultSplitOnClone = "false"
const DefaultUnixPermissions = "---rwxrwxrwx"
const DriverVersion = "17.10.1"
DriverVersion is the actual release version number
const EseriesIscsiStorageDriverName = "eseries-iscsi"
EseriesIscsiStorageDriverName is the name for this storage driver that is specified in the config file, etc.
const LS_MIRROR_IDLE_TIMEOUT_SECS = 30
const MSEC_PER_HOUR = 1000 * 60 * 60 // millis * seconds * minutes
const OntapLUNAttributeFstype = "com.netapp.ndvp.fstype"
const OntapNASQtreeStorageDriverName = "ontap-nas-economy"
OntapNASQtreeStorageDriverName is the constant name for this Ontap qtree-based NAS storage driver
const OntapNASStorageDriverName = "ontap-nas"
OntapNASStorageDriverName is the constant name for this Ontap NAS storage driver
const OntapSANStorageDriverName = "ontap-san"
OntapSANStorageDriverName is the constant name for this Ontap NAS storage driver
const SolidfireSANStorageDriverName = "solidfire-san"
SolidfireSANStorageDriverName is the constant name for this Solidfire SAN storage driver
Variables ¶
var BuildTime = "unknown"
BuildTime is the date and time the binary was built, if known
var BuildVersion = "unknown"
BuildVersion is the extended release version with build information
var DefaultStoragePrefix = "netappdvp_"
DefaultStoragePrefix can be overridden by Trident too. God.
var Drivers = make(map[string]StorageDriver)
Drivers is a map of driver names -> object
var ExtendedDriverVersion = "native"
ExtendedDriverVersion can be overridden by embeddors such as Trident to uniquify the version string
var FullDriverVersion = DriverVersion
FullDriverVersion is the DriverVersion as well as any pre-release tags
Functions ¶
func CreateOntapClone ¶ added in v1.3.1
func CreateOntapClone( name, source, snapshot string, split bool, config *OntapStorageDriverConfig, api *ontap.Driver, ) error
Create a volume clone
func EmsHeartbeat ¶
func EmsHeartbeat(driverName string, api *ontap.Driver, config *OntapStorageDriverConfig)
EmsHeartbeat logs an ASUP message on a timer view them via filer::> event log show -severity NOTICE
func EmsInitialized ¶
func EmsInitialized(driverName string, api *ontap.Driver, config *OntapStorageDriverConfig)
EmsInitialized logs an ASUP message that this docker volume plugin has been initialized view them via filer::> event log show -severity NOTICE
func GetVolume ¶ added in v1.3.3
func GetVolume(name string, api *ontap.Driver, config *OntapStorageDriverConfig) error
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 GetVolumeList ¶ added in v1.3.3
func GetVolumeList(api *ontap.Driver, config *OntapStorageDriverConfig) ([]string, error)
Return the list of volumes associated with the tenant
func InitializeOntapAPI ¶
func InitializeOntapAPI(config *OntapStorageDriverConfig) (*ontap.Driver, error)
InitializeOntapAPI returns an ontap.Driver ZAPI client. If the SVM isn't specified in the config file, this method attempts to derive the one to use.
func InitializeOntapDriver ¶
func InitializeOntapDriver(config *OntapStorageDriverConfig) (*ontap.Driver, error)
InitializeOntapDriver sets up the API client and performs all other initialization tasks that are common to all the ONTAP drivers.
func MakeSolidFireName ¶ added in v1.3.1
Make SolidFire name
func MountVolume ¶
func MountVolume(exportPath, mountpoint string, config *OntapStorageDriverConfig) error
MountVolume accepts the mount info for an NFS share and mounts it on the local host.
func PopulateConfigurationDefaults ¶
func PopulateConfigurationDefaults(config *OntapStorageDriverConfig) error
PopulateConfigurationDefaults fills in default values for configuration settings if not supplied in the config file
func StartEmsHeartbeat ¶
func StartEmsHeartbeat(driverName string, api *ontap.Driver, config *OntapStorageDriverConfig)
func UnmountVolume ¶
func UnmountVolume(mountpoint string, config *OntapStorageDriverConfig) error
UnmountVolume unmounts the volume mounted on the specified mountpoint.
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 ValidateAggregate ¶
func ValidateAggregate(api *ontap.Driver, config *OntapStorageDriverConfig) error
ValidateAggregate returns an error if the configured aggregate is not available to the Vserver.
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(context DriverContext, api *ontap.Driver, config *OntapStorageDriverConfig) error
ValidateNASDriver contains the validation logic shared between ontap-nas and ontap-nas-economy.
Types ¶
type CommonSnapshot ¶ added in v1.3.1
type CommonSnapshot struct { Name string // The snapshot name or other identifier you would use to reference it Created string // The UTC time that the snapshot was created, in RFC3339 format }
CommonSnapshot contains the normalized volume snapshot format we report to Docker
func GetSnapshotList ¶ added in v1.3.1
func GetSnapshotList(name string, config *OntapStorageDriverConfig, api *ontap.Driver) ([]CommonSnapshot, error)
Return the list of snapshots associated with the named volume
type CommonStorageDriverConfig ¶
type CommonStorageDriverConfig struct { Version int `json:"version"` StorageDriverName string `json:"storageDriverName"` Debug bool `json:"debug"` // Unsupported! DebugTraceFlags map[string]bool `json:"debugTraceFlags"` // Example: {"api":false, "method":true} DisableDelete bool `json:"disableDelete"` StoragePrefixRaw json.RawMessage `json:"storagePrefix,string"` StoragePrefix *string `json:"-"` SerialNumbers []string `json:"-"` CommonStorageDriverConfigDefaults `json:"defaults"` }
CommonStorageDriverConfig holds settings in common across all StorageDrivers
func ValidateCommonSettings ¶
func ValidateCommonSettings(configJSON string) (*CommonStorageDriverConfig, error)
ValidateCommonSettings attempts to "partially" decode the JSON into just the settings in CommonStorageDriverConfig
type CommonStorageDriverConfigDefaults ¶
type CommonStorageDriverConfigDefaults struct {
Size string `json:"size"`
}
type DriverContext ¶
type DriverContext string
Context is how the storage drivers are being used
const ( ContextNDVP DriverContext = "ndvp" ContextTrident = "trident" )
type ESeriesStorageDriver ¶
type ESeriesStorageDriver struct { Initialized bool Config ESeriesStorageDriverConfig API *eseries.ESeriesAPIDriver }
ESeriesStorageDriver is for storage provisioning via the Web Services Proxy RESTful interface that communicates with E-Series controllers via the SYMbol API.
func (*ESeriesStorageDriver) Attach ¶
func (d *ESeriesStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
Attach is called by Docker when attaching a container volume to a container. This method is expected to map the volume to the local host, discover it on the SCSI bus, format it with a filesystem, and mount it at the specified mount point. This method has an opts parameter, but no options are presently handled by this method.
func (*ESeriesStorageDriver) Create ¶
Create is called by Docker to create a container volume. Besides the volume name, a few optional parameters such as size and disk media type may be provided in the opts map. If more than one pool on the storage controller can satisfy the request, the one with the most free space is selected.
func (*ESeriesStorageDriver) CreateClone ¶ added in v1.3.1
func (d *ESeriesStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
CreateClone creates a new volume from the named volume, either by direct clone or from the named snapshot. The E-series volume plugin does not support cloning or snapshots, so this method always returns an error.
func (*ESeriesStorageDriver) Destroy ¶
func (d *ESeriesStorageDriver) Destroy(name string) error
Create is called by Docker to delete a container volume.
func (*ESeriesStorageDriver) Detach ¶
func (d *ESeriesStorageDriver) Detach(name, mountpoint string) error
Attach is called by Docker when detaching a container volume from a container. This method merely unmounts the volume; it does not rescan the bus, unmap the volume, or undo any of the other actions taken by the Attach method.
func (*ESeriesStorageDriver) Get ¶ added in v1.3.3
func (d *ESeriesStorageDriver) Get(name string) error
Test for the existence of a volume
func (*ESeriesStorageDriver) Initialize ¶
func (d *ESeriesStorageDriver) Initialize( context DriverContext, configJSON string, commonConfig *CommonStorageDriverConfig, ) error
Initialize from the provided config
func (*ESeriesStorageDriver) List ¶ added in v1.3.3
func (d *ESeriesStorageDriver) List() ([]string, error)
Return the list of volumes associated with this tenant
func (*ESeriesStorageDriver) MapVolumeToLocalHost ¶ added in v1.4.0
func (d *ESeriesStorageDriver) MapVolumeToLocalHost(volume eseries.VolumeEx) (eseries.LUNMapping, error)
MapVolumeToLocalHost gets the iSCSI identity of the local host, ensures a corresponding Host definition exists on the array (defining a Host & HostGroup if not), maps the specified volume to the host/group (if it isn't already), and returns the mapping info.
func (*ESeriesStorageDriver) Name ¶
func (d *ESeriesStorageDriver) Name() string
func (*ESeriesStorageDriver) Protocol ¶ added in v1.3.1
func (d *ESeriesStorageDriver) Protocol() string
func (*ESeriesStorageDriver) SnapshotList ¶ added in v1.3.1
func (d *ESeriesStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
SnapshotList returns the list of snapshots associated with the named volume. The E-series volume plugin does not support snapshots, so this method always returns an empty array.
func (*ESeriesStorageDriver) Validate ¶
func (d *ESeriesStorageDriver) Validate(context DriverContext) error
Validate the driver configuration
type ESeriesStorageDriverConfig ¶
type ESeriesStorageDriverConfig struct { *CommonStorageDriverConfig // Web Proxy Services Info WebProxyHostname string `json:"webProxyHostname"` WebProxyPort string `json:"webProxyPort"` // optional WebProxyUseHTTP bool `json:"webProxyUseHTTP"` // optional WebProxyVerifyTLS bool `json:"webProxyVerifyTLS"` // optional Username string `json:"username"` Password string `json:"password"` // Array Info ControllerA string `json:"controllerA"` ControllerB string `json:"controllerB"` PasswordArray string `json:"passwordArray"` //optional // Options PoolNameSearchPattern string `json:"poolNameSearchPattern"` //optional // Host Networking HostData_IP string `json:"hostData_IP,omitempty"` // for backward compatibility only HostDataIP string `json:"hostDataIP"` // for iSCSI can be either port if multipathing is setup AccessGroup string `json:"accessGroupName"` // name for host group, default is 'netappdvp' HostType string `json:"hostType"` // host type, default is 'linux_dm_mp' }
ESeriesStorageDriverConfig holds settings for ESeriesStorageDriver
type OntapNASQtreeStorageDriver ¶
type OntapNASQtreeStorageDriver struct { Initialized bool Config OntapStorageDriverConfig API *ontap.Driver // contains filtered or unexported fields }
OntapNASQtreeStorageDriver is for NFS storage provisioning of qtrees
func (*OntapNASQtreeStorageDriver) Attach ¶
func (d *OntapNASQtreeStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
Attach the volume
func (*OntapNASQtreeStorageDriver) Create ¶
func (d *OntapNASQtreeStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
Create a qtree-backed volume with the specified options
func (*OntapNASQtreeStorageDriver) CreateClone ¶
func (d *OntapNASQtreeStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
Create a volume clone
func (*OntapNASQtreeStorageDriver) Destroy ¶
func (d *OntapNASQtreeStorageDriver) Destroy(name string) error
Destroy the volume
func (*OntapNASQtreeStorageDriver) Detach ¶
func (d *OntapNASQtreeStorageDriver) Detach(name, mountpoint string) error
Detach the volume
func (*OntapNASQtreeStorageDriver) FlexvolNamePrefix ¶
func (d *OntapNASQtreeStorageDriver) FlexvolNamePrefix() string
func (*OntapNASQtreeStorageDriver) Get ¶
func (d *OntapNASQtreeStorageDriver) Get(name string) error
Test for the existence of a volume
func (*OntapNASQtreeStorageDriver) GetAPI ¶
func (d *OntapNASQtreeStorageDriver) GetAPI() *ontap.Driver
func (*OntapNASQtreeStorageDriver) GetConfig ¶
func (d *OntapNASQtreeStorageDriver) GetConfig() *OntapStorageDriverConfig
func (*OntapNASQtreeStorageDriver) Initialize ¶
func (d *OntapNASQtreeStorageDriver) Initialize( context DriverContext, configJSON string, commonConfig *CommonStorageDriverConfig, ) error
Initialize from the provided config
func (*OntapNASQtreeStorageDriver) List ¶
func (d *OntapNASQtreeStorageDriver) List() ([]string, error)
Return the list of volumes associated with this tenant
func (*OntapNASQtreeStorageDriver) Name ¶
func (d *OntapNASQtreeStorageDriver) Name() string
Name is for returning the name of this driver
func (*OntapNASQtreeStorageDriver) SnapshotList ¶
func (d *OntapNASQtreeStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
Return the list of snapshots associated with the named volume
func (*OntapNASQtreeStorageDriver) Validate ¶
func (d *OntapNASQtreeStorageDriver) Validate(context DriverContext) error
Validate the driver configuration and execution environment
type OntapNASStorageDriver ¶
type OntapNASStorageDriver struct { Initialized bool Config OntapStorageDriverConfig API *ontap.Driver }
OntapNASStorageDriver is for NFS storage provisioning
func (*OntapNASStorageDriver) Attach ¶
func (d *OntapNASStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
Attach the volume
func (*OntapNASStorageDriver) CreateClone ¶ added in v1.3.1
func (d *OntapNASStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
Create a volume clone
func (*OntapNASStorageDriver) Destroy ¶
func (d *OntapNASStorageDriver) Destroy(name string) error
Destroy the volume
func (*OntapNASStorageDriver) Detach ¶
func (d *OntapNASStorageDriver) Detach(name, mountpoint string) error
Detach the volume
func (*OntapNASStorageDriver) Get ¶ added in v1.3.3
func (d *OntapNASStorageDriver) Get(name string) error
Test for the existence of a volume
func (*OntapNASStorageDriver) GetAPI ¶
func (d *OntapNASStorageDriver) GetAPI() *ontap.Driver
func (*OntapNASStorageDriver) GetConfig ¶
func (d *OntapNASStorageDriver) GetConfig() *OntapStorageDriverConfig
func (*OntapNASStorageDriver) Initialize ¶
func (d *OntapNASStorageDriver) Initialize( context DriverContext, configJSON string, commonConfig *CommonStorageDriverConfig, ) error
Initialize from the provided config
func (*OntapNASStorageDriver) List ¶ added in v1.3.3
func (d *OntapNASStorageDriver) List() ([]string, error)
Return the list of volumes associated with this tenant
func (*OntapNASStorageDriver) Name ¶
func (d *OntapNASStorageDriver) Name() string
Name is for returning the name of this driver
func (*OntapNASStorageDriver) SnapshotList ¶ added in v1.3.1
func (d *OntapNASStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
Return the list of snapshots associated with the named volume
func (*OntapNASStorageDriver) Validate ¶
func (d *OntapNASStorageDriver) Validate(context DriverContext) error
Validate the driver configuration and execution environment
type OntapSANStorageDriver ¶
type OntapSANStorageDriver struct { Initialized bool Config OntapStorageDriverConfig API *ontap.Driver }
OntapSANStorageDriver is for iSCSI storage provisioning
func (*OntapSANStorageDriver) Attach ¶
func (d *OntapSANStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
Attach the lun
func (*OntapSANStorageDriver) CreateClone ¶ added in v1.3.1
func (d *OntapSANStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
Create a volume clone
func (*OntapSANStorageDriver) Destroy ¶
func (d *OntapSANStorageDriver) Destroy(name string) error
Destroy the requested (volume,lun) storage tuple
func (*OntapSANStorageDriver) Detach ¶
func (d *OntapSANStorageDriver) Detach(name, mountpoint string) error
Detach the volume
func (*OntapSANStorageDriver) Get ¶ added in v1.3.3
func (d *OntapSANStorageDriver) Get(name string) error
Test for the existence of a volume
func (*OntapSANStorageDriver) GetAPI ¶
func (d *OntapSANStorageDriver) GetAPI() *ontap.Driver
func (*OntapSANStorageDriver) GetConfig ¶
func (d *OntapSANStorageDriver) GetConfig() *OntapStorageDriverConfig
func (*OntapSANStorageDriver) Initialize ¶
func (d *OntapSANStorageDriver) Initialize( context DriverContext, configJSON string, commonConfig *CommonStorageDriverConfig, ) error
Initialize from the provided config
func (*OntapSANStorageDriver) List ¶ added in v1.3.3
func (d *OntapSANStorageDriver) List() ([]string, error)
Return the list of volumes associated with this tenant
func (OntapSANStorageDriver) Name ¶
func (d OntapSANStorageDriver) Name() string
Name is for returning the name of this driver
func (*OntapSANStorageDriver) SnapshotList ¶ added in v1.3.1
func (d *OntapSANStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
Return the list of snapshots associated with the named volume
func (*OntapSANStorageDriver) Validate ¶
func (d *OntapSANStorageDriver) Validate(context DriverContext) error
Validate the driver configuration and execution environment
type OntapStorageDriver ¶
type OntapStorageDriver interface { GetConfig() *OntapStorageDriverConfig GetAPI() *ontap.Driver Name() string }
type OntapStorageDriverConfig ¶
type OntapStorageDriverConfig struct { *CommonStorageDriverConfig // embedded types replicate all fields ManagementLIF string `json:"managementLIF"` DataLIF string `json:"dataLIF"` IgroupName string `json:"igroupName"` SVM string `json:"svm"` Username string `json:"username"` Password string `json:"password"` Aggregate string `json:"aggregate"` UsageHeartbeat string `json:"usageHeartbeat"` // in hours, default to 24.0 QtreePruneFlexvolsPeriod string `json:"qtreePruneFlexvolsPeriod"` // in seconds, default to 600 QtreeQuotaResizePeriod string `json:"qtreeQuotaResizePeriod"` // in seconds, default to 60 NfsMountOptions string `json:"nfsMountOptions"` OntapStorageDriverConfigDefaults `json:"defaults"` }
OntapStorageDriverConfig holds settings for OntapStorageDrivers
func InitializeOntapConfig ¶
func InitializeOntapConfig( configJSON string, commonConfig *CommonStorageDriverConfig, ) (*OntapStorageDriverConfig, error)
InitializeOntapConfig parses the ONTAP config, mixing in the specified common config.
type OntapStorageDriverConfigDefaults ¶
type OntapStorageDriverConfigDefaults struct { SpaceReserve string `json:"spaceReserve"` SnapshotPolicy string `json:"snapshotPolicy"` UnixPermissions string `json:"unixPermissions"` SnapshotDir string `json:"snapshotDir"` ExportPolicy string `json:"exportPolicy"` SecurityStyle string `json:"securityStyle"` SplitOnClone string `json:"splitOnClone"` FileSystemType string `json:"fileSystemType"` Encryption string `json:"encryption"` }
type SolidfireSANStorageDriver ¶
type SolidfireSANStorageDriver struct { Initialized bool Config SolidfireStorageDriverConfig Client *sfapi.Client TenantID int64 AccessGroups []int64 LegacyNamePrefix string InitiatorIFace string }
SolidfireSANStorageDriver is for iSCSI storage provisioning
func (*SolidfireSANStorageDriver) Attach ¶
func (d *SolidfireSANStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
Attach the lun
func (*SolidfireSANStorageDriver) Create ¶
func (d *SolidfireSANStorageDriver) Create(name string, sizeBytes uint64, opts map[string]string) error
Create a SolidFire volume
func (*SolidfireSANStorageDriver) CreateClone ¶ added in v1.3.1
func (d *SolidfireSANStorageDriver) CreateClone(name, source, snapshot string, opts map[string]string) error
Create a volume clone
func (*SolidfireSANStorageDriver) Destroy ¶
func (d *SolidfireSANStorageDriver) Destroy(name string) error
Destroy the requested docker volume
func (*SolidfireSANStorageDriver) Detach ¶
func (d *SolidfireSANStorageDriver) Detach(name, mountpoint string) error
Detach the volume
func (*SolidfireSANStorageDriver) Get ¶ added in v1.3.3
func (d *SolidfireSANStorageDriver) Get(name string) error
Test for the existence of a volume
func (*SolidfireSANStorageDriver) GetVolume ¶
func (d *SolidfireSANStorageDriver) GetVolume(name string) (sfapi.Volume, error)
func (*SolidfireSANStorageDriver) Initialize ¶
func (d *SolidfireSANStorageDriver) Initialize( context DriverContext, configJSON string, commonConfig *CommonStorageDriverConfig, ) error
Initialize from the provided config
func (*SolidfireSANStorageDriver) List ¶ added in v1.3.3
func (d *SolidfireSANStorageDriver) List() (vols []string, err error)
Return the list of volumes according to backend device
func (SolidfireSANStorageDriver) Name ¶
func (d SolidfireSANStorageDriver) Name() string
Name is for returning the name of this driver
func (*SolidfireSANStorageDriver) SnapshotList ¶ added in v1.3.1
func (d *SolidfireSANStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
Return the list of snapshots associated with the named volume
func (*SolidfireSANStorageDriver) Validate ¶
func (d *SolidfireSANStorageDriver) Validate(context DriverContext) error
Validate the driver configuration and execution environment
type SolidfireStorageDriverConfig ¶
type SolidfireStorageDriverConfig struct { *CommonStorageDriverConfig // embedded types replicate all fields TenantName string EndPoint string DefaultVolSz int64 //Default volume size in GiB (deprecated) SVIP string InitiatorIFace string //iface to use of iSCSI initiator Types *[]sfapi.VolType LegacyNamePrefix string //name prefix used in earlier ndvp versions AccessGroups []int64 DefaultBlockSize int64 //blocksize to use on create when not specified (512|4096, 512 is default) }
SolidfireStorageDriverConfig holds settings for SolidfireStorageDrivers
type StorageDriver ¶
type StorageDriver interface { Name() string Initialize(DriverContext, string, *CommonStorageDriverConfig) error Validate(DriverContext) error Create(name string, sizeBytes uint64, opts map[string]string) error CreateClone(name, source, snapshot string, opts map[string]string) error Destroy(name string) error Attach(name, mountpoint string, opts map[string]string) error Detach(name, mountpoint string) error SnapshotList(name string) ([]CommonSnapshot, error) List() ([]string, error) Get(name string) error }
StorageDriver provides a common interface for storage related operations