Documentation ¶
Index ¶
- Constants
- Variables
- func CheckNfsPathMounted(mountpoint, server, path string) bool
- func CreateDest(dest string) error
- func DoNfsMount(nfsServer, nfsPath, nfsVers, mountOptions, mountPoint, volumeID string) error
- func GetMetaData(resource string) string
- func GetNfsDetails(nfsServersString string) (string, string)
- func GlobalConfigSet(baseDir string)
- func NewControllerServer(d *csicommon.CSIDriver, client *aliNas.Client, region, limit string) csi.ControllerServer
- func ParseMountFlags(mntOptions []string) (string, string)
- func SetNasEndPoint(regionID string)
- type GlobalConfig
- type NAS
- type Options
- type RoleAuth
- type RunvNasOptions
Constants ¶
View Source
const ( MNTROOTPATH = "/csi-persistentvolumes" MBSize = 1024 * 1024 DRIVER = "driver" SERVER = "server" ContainerNetworkFileSystem = "containerNetworkFileSystem" MODE = "mode" ModeType = "modeType" VolumeAs = "volumeAs" PATH = "path" ProtocolType = "protocolType" FileSystemType = "fileSystemType" Capacity = "capacity" EncryptType = "encryptType" SnapshotID = "snapshotID" StorageType = "storageType" ZoneID = "zoneId" DESCRIPTION = "description" ZoneIDTag = "zone-id" NetworkType = "networkType" VpcID = "vpcId" VSwitchID = "vSwitchId" AccessGroupName = "accessGroupName" RegionID = "regionId" CnHangzhouFin = "cn-hangzhou-finance" DeleteVolume = "deleteVolume" // NASTAGKEY1 tag NASTAGKEY1 = "k8s.aliyun.com" // NASTAGVALUE1 value NASTAGVALUE1 = "true" // NASTAGKEY2 key NASTAGKEY2 = "createdby" // NASTAGVALUE2 value NASTAGVALUE2 = "alibabacloud-csi-plugin" // NASTAGKEY3 key NASTAGKEY3 = "ack.aliyun.com" //AddDefaultTagsError means that the add nas default tags error AddDefaultTagsError string = "AddDefaultTagsError" // MntTypeKey tag MntTypeKey = "mountType" // LosetupType tag LosetupType = "losetup" )
resourcemode is selected by: subpath/filesystem
View Source
const ( // NasTempMntPath used for create sub directory NasTempMntPath = "/mnt/acs_mnt/k8s_nas/temp" // NasPortnum is nas port NasPortnum = "2049" // NasMetricByPlugin tag NasMetricByPlugin = "NAS_METRIC_BY_PLUGIN" // MixRunTimeMode support both runc and runv MixRunTimeMode = "runc-runv" // RunvRunTimeMode tag RunvRunTimeMode = "runv" // NasMntPoint tag NasMntPoint = "/mnt/nasplugin.alibabacloud.com" )
View Source
const ( // MetadataURL is metadata url MetadataURL = "http://100.100.100.200/latest/meta-data/" // RegionTag is region id RegionTag = "region-id" // NsenterCmd is nsenter mount command NsenterCmd = "/nsenter --mount=/proc/1/ns/mnt" // LoopLockFile lock file for nas loopsetup LoopLockFile = "loopsetup.nas.csi.alibabacloud.com.lck" // LoopImgFile image file for nas loopsetup LoopImgFile = "loopsetup.nas.csi.alibabacloud.com.img" )
View Source
const (
// InstanceID is instance id
InstanceID = "instance-id"
)
Variables ¶
View Source
var ( // VERSION should be updated by hand at each release VERSION = "v1.14.8" // GITCOMMIT will be overwritten automatically by the build system GITCOMMIT = "HEAD" // KubernetesAlicloudIdentity is the system identity for ecs client request KubernetesAlicloudIdentity = fmt.Sprintf("Kubernetes.Alicloud/CsiProvision.Nas-%s", VERSION) )
Functions ¶
func CheckNfsPathMounted ¶ added in v1.0.1
CheckNfsPathMounted check whether the given nfs path was mounted
func DoNfsMount ¶ added in v1.0.1
DoNfsMount execute the mount command for nas dir
func GetMetaData ¶ added in v1.0.1
GetMetaData get host regionid, zoneid
func GetNfsDetails ¶ added in v1.0.1
GetNfsDetails get nfs server's details
func GlobalConfigSet ¶ added in v1.0.3
func GlobalConfigSet(baseDir string)
GlobalConfigSet set global config
func NewControllerServer ¶ added in v1.0.1
func NewControllerServer(d *csicommon.CSIDriver, client *aliNas.Client, region, limit string) csi.ControllerServer
NewControllerServer is to create controller server
func ParseMountFlags ¶ added in v1.0.2
ParseMountFlags parse mountOptions
func SetNasEndPoint ¶ added in v1.0.2
func SetNasEndPoint(regionID string)
SetNasEndPoint Set Endpoint for Nas
Types ¶
type GlobalConfig ¶ added in v1.0.3
type GlobalConfig struct { Region string NasTagEnable bool ADControllerEnable bool MetricEnable bool NasFakeProvision bool RunTimeClass string NodeID string NodeIP string ClusterID string BaseDir string LosetupEnable bool KubeClient *kubernetes.Clientset NasClient *aliNas.Client }
GlobalConfig save global values for plugin
var ( // GlobalConfigVar Global Config GlobalConfigVar GlobalConfig )
type NAS ¶ added in v1.0.1
type NAS struct {
// contains filtered or unexported fields
}
NAS the NAS object
type Options ¶ added in v1.0.1
type Options struct { Server string `json:"server"` Path string `json:"path"` Vers string `json:"vers"` Mode string `json:"mode"` ModeType string `json:"modeType"` Options string `json:"options"` MountType string `json:"mountType"` LoopLock string `json:"loopLock"` }
Options struct definition
type RoleAuth ¶ added in v1.0.1
type RoleAuth struct { AccessKeyID string AccessKeySecret string Expiration time.Time SecurityToken string LastUpdated time.Time Code string }
RoleAuth define STS Token Response
type RunvNasOptions ¶ added in v1.0.4
type RunvNasOptions struct { Server string `json:"server"` Path string `json:"path"` Vers string `json:"vers"` Mode string `json:"mode"` ModeType string `json:"modeType"` Options string `json:"options"` RunTime string `json:"runtime"` MountFile string `json:"mountfile"` VolumeType string `json:"volumeType"` }
RunvNasOptions struct definition
Click to show internal directories.
Click to hide internal directories.