Documentation ¶
Index ¶
- Constants
- Variables
- func CreateOntapClone(name, source, snapshot, newSnapshotPrefix string, api *ontap.Driver) error
- func EmsInitialized(driverName string, api *ontap.Driver)
- func InitializeOntapDriver(config OntapStorageDriverConfig) (*ontap.Driver, error)
- func MakeSolidFireName(name string) string
- type CommonSnapshot
- type CommonStorageDriverConfig
- type ESeriesStorageDriver
- func (d *ESeriesStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
- func (d *ESeriesStorageDriver) Create(name string, opts map[string]string) error
- func (d *ESeriesStorageDriver) CreateClone(name, source, snapshot, newSnapshotPrefix string) error
- func (d *ESeriesStorageDriver) DefaultSnapshotPrefix() string
- func (d *ESeriesStorageDriver) DefaultStoragePrefix() string
- func (d *ESeriesStorageDriver) Destroy(name string) error
- func (d *ESeriesStorageDriver) Detach(name, mountpoint string) error
- func (d *ESeriesStorageDriver) Initialize(configJSON string) error
- func (d ESeriesStorageDriver) Name() string
- func (d ESeriesStorageDriver) Protocol() string
- func (d *ESeriesStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
- func (d *ESeriesStorageDriver) Validate() error
- type ESeriesStorageDriverConfig
- type OntapNASStorageDriver
- func (d *OntapNASStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
- func (d *OntapNASStorageDriver) Create(name string, opts map[string]string) error
- func (d *OntapNASStorageDriver) CreateClone(name, source, snapshot, newSnapshotPrefix string) error
- func (d *OntapNASStorageDriver) DefaultSnapshotPrefix() string
- func (d *OntapNASStorageDriver) DefaultStoragePrefix() string
- func (d *OntapNASStorageDriver) Destroy(name string) error
- func (d *OntapNASStorageDriver) Detach(name, mountpoint string) error
- func (d *OntapNASStorageDriver) Initialize(configJSON string) error
- func (d *OntapNASStorageDriver) Name() string
- func (d *OntapNASStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
- func (d *OntapNASStorageDriver) Validate() error
- type OntapSANStorageDriver
- func (d *OntapSANStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
- func (d *OntapSANStorageDriver) Create(name string, opts map[string]string) error
- func (d *OntapSANStorageDriver) CreateClone(name, source, snapshot, newSnapshotPrefix string) error
- func (d *OntapSANStorageDriver) DefaultSnapshotPrefix() string
- func (d *OntapSANStorageDriver) DefaultStoragePrefix() string
- func (d *OntapSANStorageDriver) Destroy(name string) error
- func (d *OntapSANStorageDriver) Detach(name, mountpoint string) error
- func (d *OntapSANStorageDriver) Initialize(configJSON string) error
- func (d OntapSANStorageDriver) Name() string
- func (d *OntapSANStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
- func (d *OntapSANStorageDriver) Validate() error
- type OntapStorageDriverConfig
- type SolidfireSANStorageDriver
- func (d *SolidfireSANStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
- func (d *SolidfireSANStorageDriver) Create(name string, opts map[string]string) error
- func (d *SolidfireSANStorageDriver) CreateClone(name, source, snapshot, newSnapshotPrefix string) error
- func (d *SolidfireSANStorageDriver) DefaultSnapshotPrefix() string
- func (d *SolidfireSANStorageDriver) DefaultStoragePrefix() string
- func (d *SolidfireSANStorageDriver) Destroy(name string) error
- func (d *SolidfireSANStorageDriver) Detach(name, mountpoint string) error
- func (d *SolidfireSANStorageDriver) Initialize(configJSON string) error
- func (d SolidfireSANStorageDriver) Name() string
- func (d *SolidfireSANStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
- func (d *SolidfireSANStorageDriver) StripSnapshotPrefix(name string) string
- func (d *SolidfireSANStorageDriver) StripVolumePrefix(name string) string
- func (d *SolidfireSANStorageDriver) Validate() error
- type SolidfireStorageDriverConfig
- type StorageDriver
Constants ¶
const ConfigVersion = 1
ConfigVersion is the expected version specified in the config file
const DriverVersion = "1.3.1"
DriverVersion is the actual release version number
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 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
Functions ¶
func CreateOntapClone ¶ added in v1.3.1
Create a volume clone
func EmsInitialized ¶
EmsInitialized logs an ASUP message that this docker volume plugin has been initialized view them via filer::> event log show
func InitializeOntapDriver ¶
func InitializeOntapDriver(config OntapStorageDriverConfig) (*ontap.Driver, error)
InitializeOntapDriver will attempt to derive the SVM to use if not provided
func MakeSolidFireName ¶ added in v1.3.1
Make SolidFire name
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, 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"` DisableDelete bool `json:"disableDelete"` StoragePrefixRaw json.RawMessage `json:"storagePrefix,string"` SnapshotPrefixRaw json.RawMessage `json:"snapshotPrefix,string"` }
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 ESeriesStorageDriver ¶
type ESeriesStorageDriver struct { Initialized bool Config ESeriesStorageDriverConfig Storage *eseries.Driver }
ESeriesStorageDriver is for storage provisioning via Web Services Proxy RESTful interface that communicates with E-Series controller via SYMbol API
func (*ESeriesStorageDriver) Attach ¶
func (d *ESeriesStorageDriver) Attach(name, mountpoint string, opts map[string]string) error
Attach the lun
func (*ESeriesStorageDriver) Create ¶
func (d *ESeriesStorageDriver) Create(name string, opts map[string]string) error
Create a volume+LUN with the specified options
func (*ESeriesStorageDriver) CreateClone ¶ added in v1.3.1
func (d *ESeriesStorageDriver) CreateClone(name, source, snapshot, newSnapshotPrefix string) error
Create a volume clone
func (*ESeriesStorageDriver) DefaultSnapshotPrefix ¶ added in v1.3.1
func (d *ESeriesStorageDriver) DefaultSnapshotPrefix() string
DefaultSnapshotPrefix is the driver specific prefix for created snapshots, can be overridden in the config file
func (*ESeriesStorageDriver) DefaultStoragePrefix ¶
func (d *ESeriesStorageDriver) DefaultStoragePrefix() string
DefaultStoragePrefix is the driver specific prefix for created storage, can be overridden in the config file
func (*ESeriesStorageDriver) Destroy ¶
func (d *ESeriesStorageDriver) Destroy(name string) error
Destroy the requested (volume,lun) storage tuple
func (*ESeriesStorageDriver) Detach ¶
func (d *ESeriesStorageDriver) Detach(name, mountpoint string) error
Detach the volume
func (*ESeriesStorageDriver) Initialize ¶
func (d *ESeriesStorageDriver) Initialize(configJSON string) error
Initialize from the provided config
func (ESeriesStorageDriver) Name ¶
func (d ESeriesStorageDriver) Name() string
Name is for returning the name of this driver
func (ESeriesStorageDriver) Protocol ¶ added in v1.3.1
func (d ESeriesStorageDriver) Protocol() string
Return the storage protocol that this driver uses
func (*ESeriesStorageDriver) SnapshotList ¶ added in v1.3.1
func (d *ESeriesStorageDriver) SnapshotList(name string) ([]CommonSnapshot, error)
Return the list of snapshots associated with the named volume
func (*ESeriesStorageDriver) Validate ¶
func (d *ESeriesStorageDriver) Validate() error
Validate the driver configuration and execution environment
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"` //rw Password string `json:"password"` //rw //Array Info ControllerA string `json:"controllerA"` ControllerB string `json:"controllerB"` PasswordArray string `json:"passwordArray"` //optional ArrayRegistered bool `json:"arrayRegistered"` //optional //Host Networking HostDataIP string `json:"hostData_IP"` //for iSCSI can be either port if multipathing is setup }
ESeriesStorageDriverConfig holds settings for ESeriesStorageDriver
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) Create ¶
func (d *OntapNASStorageDriver) Create(name string, opts map[string]string) error
Create a volume with the specified options
func (*OntapNASStorageDriver) CreateClone ¶ added in v1.3.1
func (d *OntapNASStorageDriver) CreateClone(name, source, snapshot, newSnapshotPrefix string) error
Create a volume clone
func (*OntapNASStorageDriver) DefaultSnapshotPrefix ¶ added in v1.3.1
func (d *OntapNASStorageDriver) DefaultSnapshotPrefix() string
DefaultSnapshotPrefix is the driver specific prefix for created snapshots, can be overridden in the config file
func (*OntapNASStorageDriver) DefaultStoragePrefix ¶
func (d *OntapNASStorageDriver) DefaultStoragePrefix() string
DefaultStoragePrefix is the driver specific prefix for created storage, can be overridden in the config file
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) Initialize ¶
func (d *OntapNASStorageDriver) Initialize(configJSON string) error
Initialize from the provided config
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() 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) Create ¶
func (d *OntapSANStorageDriver) Create(name string, opts map[string]string) error
Create a volume+LUN with the specified options
func (*OntapSANStorageDriver) CreateClone ¶ added in v1.3.1
func (d *OntapSANStorageDriver) CreateClone(name, source, snapshot, newSnapshotPrefix string) error
Create a volume clone
func (*OntapSANStorageDriver) DefaultSnapshotPrefix ¶ added in v1.3.1
func (d *OntapSANStorageDriver) DefaultSnapshotPrefix() string
DefaultSnapshotPrefix is the driver specific prefix for created snapshots, can be overridden in the config file
func (*OntapSANStorageDriver) DefaultStoragePrefix ¶
func (d *OntapSANStorageDriver) DefaultStoragePrefix() string
DefaultStoragePrefix is the driver specific prefix for created storage, can be overridden in the config file
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) Initialize ¶
func (d *OntapSANStorageDriver) Initialize(configJSON string) error
Initialize from the provided config
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() error
Validate the driver configuration and execution environment
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"` }
OntapStorageDriverConfig holds settings for OntapStorageDrivers
type SolidfireSANStorageDriver ¶
type SolidfireSANStorageDriver struct { Initialized bool Config SolidfireStorageDriverConfig Client *sfapi.Client TenantID int64 DefaultVolSz int64 VagID int64 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, opts map[string]string) error
Create a SolidFire volume
func (*SolidfireSANStorageDriver) CreateClone ¶ added in v1.3.1
func (d *SolidfireSANStorageDriver) CreateClone(name, source, snapshot, newSnapshotPrefix string) error
Create a volume clone
func (*SolidfireSANStorageDriver) DefaultSnapshotPrefix ¶ added in v1.3.1
func (d *SolidfireSANStorageDriver) DefaultSnapshotPrefix() string
DefaultSnapshotPrefix is the driver specific prefix for created snapshots, can be overridden in the config file
func (*SolidfireSANStorageDriver) DefaultStoragePrefix ¶
func (d *SolidfireSANStorageDriver) DefaultStoragePrefix() string
DefaultStoragePrefix is the driver specific prefix for created storage, can be overridden in the config file
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) Initialize ¶
func (d *SolidfireSANStorageDriver) Initialize(configJSON string) error
Initialize from the provided config
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) StripSnapshotPrefix ¶ added in v1.3.1
func (d *SolidfireSANStorageDriver) StripSnapshotPrefix(name string) string
Strip snapshot prefix name to simple Docker Name
func (*SolidfireSANStorageDriver) StripVolumePrefix ¶ added in v1.3.1
func (d *SolidfireSANStorageDriver) StripVolumePrefix(name string) string
Strip storage prefix name to simple Docker Name
func (*SolidfireSANStorageDriver) Validate ¶
func (d *SolidfireSANStorageDriver) Validate() 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 SVIP string InitiatorIFace string //iface to use of iSCSI initiator Types *[]sfapi.VolType }
SolidfireStorageDriverConfig holds settings for SolidfireStorageDrivers
type StorageDriver ¶
type StorageDriver interface { Name() string Initialize(string) error Validate() error Create(name string, opts map[string]string) error CreateClone(name, source, snapshot, newSnapshotPrefix string) error Destroy(name string) error Attach(name, mountpoint string, opts map[string]string) error Detach(name, mountpoint string) error DefaultStoragePrefix() string DefaultSnapshotPrefix() string SnapshotList(name string) ([]CommonSnapshot, error) }
StorageDriver provides a common interface for storage related operations