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.2"
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