Documentation ¶
Overview ¶
Copyright 2019 NetApp, Inc. All Rights Reserved.
Index ¶
- Constants
- func CheckSupportedFilesystem(fs string, volumeInternalName string) (string, error)
- func CheckVolumeSizeLimits(requestedSizeInt uint64, config *CommonStorageDriverConfig) (bool, uint64, error)
- func Clone(source, destination interface{})
- func GetCommonInternalVolumeName(c *CommonStorageDriverConfig, name string) string
- func GetDefaultIgroupName(context trident.DriverContext) string
- func GetDefaultStoragePrefix(context trident.DriverContext) string
- func IsBackendIneligibleError(err error) bool
- func IsVolumeExistsError(err error) bool
- func NewBackendIneligibleError(volumeName string, errors []error) error
- func NewSnapshotsNotSupportedError(backendType string) error
- func NewVolumeExistsError(name string) error
- func SanitizeCommonStorageDriverConfig(c *CommonStorageDriverConfig)
- type AWSNFSStorageDriverConfig
- type AWSNFSStorageDriverConfigDefaults
- type AWSNFSStorageDriverPool
- type AzureNFSStorageDriverConfig
- type AzureNFSStorageDriverConfigDefaults
- type AzureNFSStorageDriverPool
- type BackendIneligibleError
- type CommonStorageDriverConfig
- type CommonStorageDriverConfigDefaults
- type ESeriesStorageDriverConfig
- type EseriesStorageDriverConfigDefaults
- type EseriesStorageDriverPool
- type FakeStorageDriverConfig
- type FakeStorageDriverConfigDefaults
- type FakeStorageDriverPool
- type GCPNFSStorageDriverConfig
- type GCPNFSStorageDriverConfigDefaults
- type GCPNFSStorageDriverPool
- type GCPPrivateKey
- type OntapStorageDriverConfig
- type OntapStorageDriverConfigDefaults
- type SnapshotsNotSupportedError
- type SolidfireStorageDriverConfig
- type SolidfireStorageDriverConfigDefaults
- type SolidfireStorageDriverPool
- type VolumeExistsError
Constants ¶
const ( EseriesIscsiStorageDriverName = "eseries-iscsi" OntapNASStorageDriverName = "ontap-nas" OntapNASFlexGroupStorageDriverName = "ontap-nas-flexgroup" OntapNASQtreeStorageDriverName = "ontap-nas-economy" OntapSANStorageDriverName = "ontap-san" OntapSANEconomyStorageDriverName = "ontap-san-economy" SolidfireSANStorageDriverName = "solidfire-san" AWSNFSStorageDriverName = "aws-cvs" AzureNFSStorageDriverName = "azure-netapp-files" GCPNFSStorageDriverName = "gcp-cvs" FakeStorageDriverName = "fake" )
Storage driver names specified in the config file, etc.
const ( FsXfs = "xfs" FsExt3 = "ext3" FsExt4 = "ext4" FsRaw = "raw" )
Filesystem types
const ConfigVersion = 1
ConfigVersion is the expected version specified in the config file
const DefaultDockerIgroupName = "netappdvp"
Default SAN igroup / host group names
const DefaultDockerStoragePrefix = "netappdvp_"
Default storage prefix
const DefaultFileSystemType = FsExt4
Default Filesystem value
const DefaultTridentIgroupName = "trident"
const DefaultTridentStoragePrefix = "trident_"
const DefaultVolumeSize = "1G"
const UnsetPool = ""
Variables ¶
This section is empty.
Functions ¶
func CheckSupportedFilesystem ¶
CheckSupportedFilesystem checks for a supported file system type
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 Clone ¶
func Clone(source, destination interface{})
Clone will create a copy of the source object and store it into the destination object (which must be a pointer)
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 IsVolumeExistsError ¶
func NewVolumeExistsError ¶
func SanitizeCommonStorageDriverConfig ¶
func SanitizeCommonStorageDriverConfig(c *CommonStorageDriverConfig)
Types ¶
type AWSNFSStorageDriverConfig ¶
type AWSNFSStorageDriverConfig struct { *CommonStorageDriverConfig APIURL string `json:"apiURL"` APIKey string `json:"apiKey"` APIRegion string `json:"apiRegion"` SecretKey string `json:"secretKey"` ProxyURL string `json:"proxyURL"` NfsMountOptions string `json:"nfsMountOptions"` AWSNFSStorageDriverPool Storage []AWSNFSStorageDriverPool `json:"storage"` }
type AWSNFSStorageDriverConfigDefaults ¶
type AWSNFSStorageDriverConfigDefaults struct { ExportRule string `json:"exportRule"` SnapshotDir string `json:"snapshotDir"` SnapshotReserve string `json:"snapshotReserve"` CommonStorageDriverConfigDefaults }
type AWSNFSStorageDriverPool ¶
type AzureNFSStorageDriverConfig ¶
type AzureNFSStorageDriverConfig struct { *CommonStorageDriverConfig SubscriptionID string `json:"subscriptionID"` TenantID string `json:"tenantID"` ClientID string `json:"clientID"` ClientSecret string `json:"clientSecret"` NfsMountOptions string `json:"nfsMountOptions"` AzureNFSStorageDriverPool Storage []AzureNFSStorageDriverPool `json:"storage"` }
type AzureNFSStorageDriverConfigDefaults ¶
type AzureNFSStorageDriverConfigDefaults struct { ExportRule string `json:"exportRule"` CommonStorageDriverConfigDefaults }
type AzureNFSStorageDriverPool ¶
type AzureNFSStorageDriverPool struct { Labels map[string]string `json:"labels"` Region string `json:"region"` Zone string `json:"zone"` Location string `json:"location"` ServiceLevel string `json:"serviceLevel"` VirtualNetwork string `json:"virtualNetwork"` Subnet string `json:"subnet"` AzureNFSStorageDriverConfigDefaults `json:"defaults"` }
Note that 'Region' and 'Zone' are internal specifiers, not related to Azure's 'Location' field.
type BackendIneligibleError ¶
type BackendIneligibleError struct {
// contains filtered or unexported fields
}
func (*BackendIneligibleError) Error ¶
func (e *BackendIneligibleError) Error() string
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:"serialNumbers,omitEmpty"` 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 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' EseriesStorageDriverPool Storage []EseriesStorageDriverPool `json:"storage"` }
ESeriesStorageDriverConfig holds settings for ESeriesStorageDriver
type EseriesStorageDriverConfigDefaults ¶
type EseriesStorageDriverConfigDefaults struct {
CommonStorageDriverConfigDefaults
}
type EseriesStorageDriverPool ¶
type EseriesStorageDriverPool struct { Labels map[string]string `json:"labels"` Region string `json:"region"` Zone string `json:"zone"` EseriesStorageDriverConfigDefaults `json:"defaults"` }
type FakeStorageDriverConfig ¶
type FakeStorageDriverConfig struct { *CommonStorageDriverConfig Protocol trident.Protocol `json:"protocol"` // Pools are the modeled physical pools. At least one is required. Pools map[string]*fake.StoragePool `json:"pools"` // Volumes are the modeled backend volumes that exist when the driver starts. Optional. Volumes []fake.Volume `json:"volumes"` InstanceName string `json:"instanceName"` FakeStorageDriverPool Storage []FakeStorageDriverPool `json:"storage"` }
type FakeStorageDriverConfigDefaults ¶
type FakeStorageDriverConfigDefaults struct {
CommonStorageDriverConfigDefaults
}
type FakeStorageDriverPool ¶
type FakeStorageDriverPool struct { Labels map[string]string `json:"labels"` Region string `json:"region"` Zone string `json:"zone"` FakeStorageDriverConfigDefaults `json:"defaults"` }
type GCPNFSStorageDriverConfig ¶
type GCPNFSStorageDriverConfig struct { *CommonStorageDriverConfig ProjectNumber string `json:"projectNumber"` APIKey GCPPrivateKey `json:"apiKey"` APIRegion string `json:"apiRegion"` ProxyURL string `json:"proxyURL"` NfsMountOptions string `json:"nfsMountOptions"` GCPNFSStorageDriverPool Storage []GCPNFSStorageDriverPool `json:"storage"` }
type GCPNFSStorageDriverConfigDefaults ¶
type GCPNFSStorageDriverConfigDefaults struct { ExportRule string `json:"exportRule"` SnapshotDir string `json:"snapshotDir"` SnapshotReserve string `json:"snapshotReserve"` CommonStorageDriverConfigDefaults }
type GCPNFSStorageDriverPool ¶
type GCPPrivateKey ¶
type GCPPrivateKey struct { Type string `json:"type"` ProjectID string `json:"project_id"` PrivateKeyID string `json:"private_key_id"` PrivateKey string `json:"private_key"` ClientEmail string `json:"client_email"` ClientID string `json:"client_id"` AuthURI string `json:"auth_uri"` TokenURI string `json:"token_uri"` AuthProviderX509CertURL string `json:"auth_provider_x509_cert_url"` ClientX509CertURL string `json:"client_x509_cert_url"` }
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 EmptyFlexvolDeferredDeletePeriod string `json:"emptyFlexvolDeferredDeletePeriod"` // in seconds, default to 28800 NfsMountOptions string `json:"nfsMountOptions"` LimitAggregateUsage string `json:"limitAggregateUsage"` OntapStorageDriverConfigDefaults `json:"defaults"` }
OntapStorageDriverConfig holds settings for OntapStorageDrivers
type OntapStorageDriverConfigDefaults ¶
type OntapStorageDriverConfigDefaults struct { SpaceAllocation string `json:"spaceAllocation"` 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 SnapshotsNotSupportedError ¶
type SnapshotsNotSupportedError struct {
// contains filtered or unexported fields
}
func (*SnapshotsNotSupportedError) Error ¶
func (e *SnapshotsNotSupportedError) Error() string
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) SolidfireStorageDriverPool Storage []SolidfireStorageDriverPool `json:"storage"` }
SolidfireStorageDriverConfig holds settings for SolidfireStorageDrivers
type SolidfireStorageDriverConfigDefaults ¶
type SolidfireStorageDriverConfigDefaults struct {
CommonStorageDriverConfigDefaults
}
type VolumeExistsError ¶
type VolumeExistsError struct {
// contains filtered or unexported fields
}
func (*VolumeExistsError) Error ¶
func (e *VolumeExistsError) Error() string
Directories ¶
Path | Synopsis |
---|---|
api
This package provides a high-level interface to the NetApp AWS Cloud Volumes NFS REST API.
|
This package provides a high-level interface to the NetApp AWS Cloud Volumes NFS REST API. |
sdk
Package sdk provides a high-level interface to the Azure NetApp Files SDK Package sdk provides a high-level interface to the Azure NetApp Files SDK
|
Package sdk provides a high-level interface to the Azure NetApp Files SDK Package sdk provides a high-level interface to the Azure NetApp Files SDK |
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
This package provides a high-level interface to the NetApp GCP Cloud Volumes NFS REST API.
|
This package provides a high-level interface to the NetApp GCP Cloud Volumes NFS REST API. |