storage_drivers

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 29, 2016 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const CurrentDriverVersion = 1

CurrentDriverVersion is the expected version in the config file

View Source
const DriverVersion = "1.2.1"

DriverVersion is the actual release version number

View Source
const OntapNASStorageDriverName = "ontap-nas"

OntapNASStorageDriverName is the constant name for this Ontap NAS storage driver

View Source
const OntapSANStorageDriverName = "ontap-san"

OntapSANStorageDriverName is the constant name for this Ontap NAS storage driver

View Source
const SolidfireSANStorageDriverName = "solidfire-san"

SolidfireSANStorageDriverName is the constant name for this Solidfire SAN storage driver

Variables

View Source
var Drivers = make(map[string]StorageDriver)

Drivers is a map of driver names -> object

Functions

func EmsInitialized

func EmsInitialized(driverName string, api *ontap.Driver)

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

Types

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"`
}

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 {
	// contains filtered or unexported fields
}

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) 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) Validate

func (d *ESeriesStorageDriver) Validate() error

Validate the driver configuration and execution environment

type ESeriesStorageDriverConfig

type ESeriesStorageDriverConfig struct {
	CommonStorageDriverConfig

	//Web Proxy Services Info
	WebProxy_Hostname string `json:"webProxyHostname"`
	Username          string `json:"username"` //rw
	Password          string `json:"password"` //rw

	//Array Info
	Controller_A     string `json:"controllerA"`
	Controller_B     string `json:"controllerB"`
	Password_Array   string `json:"passwordArray"`   //optional
	Array_Registered bool   `json:"arrayRegistered"` //optional

	//Host Networking
	HostData_IP string `json:"hostData_IP"` //for iSCSI can be either port if multipathing is setup
}

ESeriesStorageDriverConfig holds settings for ESeriesStorageDriver

type OntapNASStorageDriver

type OntapNASStorageDriver struct {
	// contains filtered or unexported fields
}

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) 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) Validate

func (d *OntapNASStorageDriver) Validate() error

Validate the driver configuration and execution environment

type OntapSANStorageDriver

type OntapSANStorageDriver struct {
	// contains filtered or unexported fields
}

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) 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) 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 {
	Client         *sfapi.Client
	TenantID       int64
	DefaultVolSz   int64
	VagID          int64
	InitiatorIFace string
	// contains filtered or unexported fields
}

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) 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

Name is for returning the name of this driver

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
	Destroy(name string) error
	Attach(name, mountpoint string, opts map[string]string) error
	Detach(name, mountpoint string) error
	DefaultStoragePrefix() string
}

StorageDriver provides a common interface for storage related operations

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL