storagedrivers

package
v18.10.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2018 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EseriesIscsiStorageDriverName      = "eseries-iscsi"
	OntapNASStorageDriverName          = "ontap-nas"
	OntapNASFlexGroupStorageDriverName = "ontap-nas-flexgroup"
	OntapNASQtreeStorageDriverName     = "ontap-nas-economy"
	OntapSANStorageDriverName          = "ontap-san"
	SolidfireSANStorageDriverName      = "solidfire-san"
	FakeStorageDriverName              = "fake"
)

Storage driver names specified in the config file, etc.

View Source
const ConfigVersion = 1

ConfigVersion is the expected version specified in the config file

View Source
const DefaultDockerIgroupName = "netappdvp"

Default SAN igroup / host group names

View Source
const DefaultDockerStoragePrefix = "netappdvp_"

Default storage prefix

View Source
const DefaultTridentIgroupName = "trident"
View Source
const DefaultTridentStoragePrefix = "trident_"
View Source
const DefaultVolumeSize = "1G"
View Source
const UnsetPool = ""

Variables

This section is empty.

Functions

func CheckVolumeSizeLimits

func CheckVolumeSizeLimits(requestedSizeInt uint64, config *CommonStorageDriverConfig) (bool, uint64, error)

CheckVolumeSizeLimits if a limit has been set, ensures the requestedSize is under it.

func GetCommonInternalVolumeName

func GetCommonInternalVolumeName(c *CommonStorageDriverConfig, name string) string

func GetDefaultIgroupName

func GetDefaultIgroupName(context trident.DriverContext) string

func GetDefaultStoragePrefix

func GetDefaultStoragePrefix(context trident.DriverContext) string

func SanitizeCommonStorageDriverConfig

func SanitizeCommonStorageDriverConfig(c *CommonStorageDriverConfig)

Types

type CommonStorageDriverConfig

type CommonStorageDriverConfig struct {
	Version           int                   `json:"version"`
	StorageDriverName string                `json:"storageDriverName"`
	BackendName       string                `json:"backendName"`
	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:"-"`
	DriverContext     trident.DriverContext `json:"-"`
	LimitVolumeSize   string                `json:"limitVolumeSize"`
}

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 CommonStorageDriverConfigExternal

type CommonStorageDriverConfigExternal struct {
	Version           int      `json:"version"`
	StorageDriverName string   `json:"storageDriverName"`
	StoragePrefix     *string  `json:"storagePrefix"`
	SerialNumbers     []string `json:"serialNumbers"`
}

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
	HostDataIPDeprecated 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
	HostType             string `json:"hostType"`              // host type, default is 'linux_dm_mp'

	EseriesStorageDriverConfigDefaults `json:"defaults"`
}

ESeriesStorageDriverConfig holds settings for ESeriesStorageDriver

type EseriesStorageDriverConfigDefaults

type EseriesStorageDriverConfigDefaults struct {
	CommonStorageDriverConfigDefaults
}

type FakeStorageDriverConfig

type FakeStorageDriverConfig struct {
	*CommonStorageDriverConfig
	Protocol trident.Protocol `json:"protocol"`
	// pools represents the possible buckets into which a given volume should go
	Pools                           map[string]*fake.StoragePool `json:"pools"`
	InstanceName                    string                       `json:"instanceName"`
	FakeStorageDriverConfigDefaults `json:"defaults"`
}

type FakeStorageDriverConfigDefaults

type FakeStorageDriverConfigDefaults struct {
	CommonStorageDriverConfigDefaults
}

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"`
	LimitAggregateUsage              string `json:"limitAggregateUsage"`
	OntapStorageDriverConfigDefaults `json:"defaults"`
}

OntapStorageDriverConfig holds settings for OntapStorageDrivers

type OntapStorageDriverConfigDefaults

type OntapStorageDriverConfigDefaults struct {
	SpaceReserve    string `json:"spaceReserve"`
	SnapshotPolicy  string `json:"snapshotPolicy"`
	SnapshotReserve string `json:"snapshotReserve"`
	SnapshotDir     string `json:"snapshotDir"`
	UnixPermissions string `json:"unixPermissions"`
	ExportPolicy    string `json:"exportPolicy"`
	SecurityStyle   string `json:"securityStyle"`
	SplitOnClone    string `json:"splitOnClone"`
	FileSystemType  string `json:"fileSystemType"`
	Encryption      string `json:"encryption"`
	CommonStorageDriverConfigDefaults
}

type SolidfireStorageDriverConfig

type SolidfireStorageDriverConfig struct {
	*CommonStorageDriverConfig           // embedded types replicate all fields
	TenantName                           string
	EndPoint                             string
	SVIP                                 string
	InitiatorIFace                       string //iface to use of iSCSI initiator
	Types                                *[]sfapi.VolType
	LegacyNamePrefix                     string //name prefix used in earlier ndvp versions
	AccessGroups                         []int64
	UseCHAP                              bool
	DefaultBlockSize                     int64 //blocksize to use on create when not specified  (512|4096, 512 is default)
	SolidfireStorageDriverConfigDefaults `json:"defaults"`
}

SolidfireStorageDriverConfig holds settings for SolidfireStorageDrivers

type SolidfireStorageDriverConfigDefaults

type SolidfireStorageDriverConfigDefaults struct {
	CommonStorageDriverConfigDefaults
}

Directories

Path Synopsis
api
This package provides a high-level interface to the E-series Web Services Proxy REST API.
This package provides a high-level interface to the E-series Web Services Proxy REST API.
api
api

Jump to

Keyboard shortcuts

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