driver

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StorageClassTypeName     = "type"         //1=basic, 2=standard
	StorageClassMaxSizeName  = "maxSize"      //cloud disk min size (bytes)
	StorageClassMinSizeName  = "minSize"      //cloud disk max size (bytes)
	StorageClassFsTypeName   = "fsType"       //ext3 ext4 xfs
	StorageClassZoneId       = "zoneID"       //zone
	StorageClassPlaceGroupID = "placeGroupID" //groupid
	StorageClassBurstEnable  = "burstEnable"  //burst
)
View Source
const (
	BasicVolumeType    VolumeType = 1
	StandardVolumeType VolumeType = 2
	DefaultVolumeType             = StandardVolumeType
	BasicNvmeName      string     = "Basic NVMe SSD"
	StandardNvmeName   string     = "Standard NVMe SSD"
)
View Source
const (
	BasicVmType   VmType = 1
	DefaultVmType VmType = BasicVmType
	BasicVmName   string = "BasicVm"
)
View Source
const (
	ZEC_MAX_DISK_SIZE_BYTES int64 = 32768 * 1024 * 1024 * 1024
	ZEC_MIN_DISK_SIZE_BYTES int64 = 20 * 1024 * 1024 * 1024
)
View Source
const (
	DiskSingleReplicaType  int = 1
	DiskMultiReplicaType   int = 2
	DiskThreeReplicaType   int = 3
	DefaultDiskReplicaType int = DiskMultiReplicaType
)

disk rep

View Source
const (
	SnapshotClassTagsName = "tags"
)

Variables

 controller type support capability/feature:

	ControllerServiceCapability_RPC_UNKNOWN                  		ControllerServiceCapability_RPC_Type = 0
	ControllerServiceCapability_RPC_CREATE_DELETE_VOLUME     		ControllerServiceCapability_RPC_Type = 1
	ControllerServiceCapability_RPC_PUBLISH_UNPUBLISH_VOLUME 		ControllerServiceCapability_RPC_Type = 2
	ControllerServiceCapability_RPC_LIST_VOLUMES             		ControllerServiceCapability_RPC_Type = 3
	ControllerServiceCapability_RPC_GET_CAPACITY             		ControllerServiceCapability_RPC_Type = 4
	ControllerServiceCapability_RPC_CREATE_DELETE_SNAPSHOT 			ControllerServiceCapability_RPC_Type = 5
	ControllerServiceCapability_RPC_LIST_SNAPSHOTS         			ControllerServiceCapability_RPC_Type = 6
	ControllerServiceCapability_RPC_CLONE_VOLUME 					ControllerServiceCapability_RPC_Type = 7
	ControllerServiceCapability_RPC_PUBLISH_READONLY 				ControllerServiceCapability_RPC_Type = 8
	ControllerServiceCapability_RPC_EXPAND_VOLUME 					ControllerServiceCapability_RPC_Type = 9
	ControllerServiceCapability_RPC_LIST_VOLUMES_PUBLISHED_NODES 	ControllerServiceCapability_RPC_Type = 10
	ControllerServiceCapability_RPC_VOLUME_CONDITION 				ControllerServiceCapability_RPC_Type = 11
	ControllerServiceCapability_RPC_GET_VOLUME 						ControllerServiceCapability_RPC_Type = 12
	ControllerServiceCapability_RPC_SINGLE_NODE_MULTI_WRITER 		ControllerServiceCapability_RPC_Type = 13
 node type support capability/feature:

	NodeServiceCapability_RPC_UNKNOWN              					NodeServiceCapability_RPC_Type = 0
	NodeServiceCapability_RPC_STAGE_UNSTAGE_VOLUME 					NodeServiceCapability_RPC_Type = 1
	NodeServiceCapability_RPC_GET_VOLUME_STATS 						NodeServiceCapability_RPC_Type = 2
	NodeServiceCapability_RPC_EXPAND_VOLUME 						NodeServiceCapability_RPC_Type = 3
	NodeServiceCapability_RPC_VOLUME_CONDITION 						NodeServiceCapability_RPC_Type = 4
	NodeServiceCapability_RPC_SINGLE_NODE_MULTI_WRITER 				NodeServiceCapability_RPC_Type = 5
	NodeServiceCapability_RPC_VOLUME_MOUNT_GROUP 					NodeServiceCapability_RPC_Type = 6

VolumeCapability_AccessMode_UNKNOWN VolumeCapability_AccessMode_Mode = 0 VolumeCapability_AccessMode_SINGLE_NODE_WRITER VolumeCapability_AccessMode_Mode = 1 VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY VolumeCapability_AccessMode_Mode = 2 VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY VolumeCapability_AccessMode_Mode = 3 VolumeCapability_AccessMode_MULTI_NODE_SINGLE_WRITER VolumeCapability_AccessMode_Mode = 4 VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER VolumeCapability_AccessMode_Mode = 5 VolumeCapability_AccessMode_SINGLE_NODE_SINGLE_WRITER VolumeCapability_AccessMode_Mode = 6 VolumeCapability_AccessMode_SINGLE_NODE_MULTI_WRITER VolumeCapability_AccessMode_Mode = 7

View Source
var VmTypeAttachPreferred = map[VmType]VolumeType{
	BasicVmType: BasicVolumeType,
}

no use, reserve

View Source
var VmTypeName = map[VmType]string{
	BasicVmType: BasicVmName,
}
View Source
var VmTypeValue = map[string]VmType{
	BasicVmName: BasicVmType,
}
View Source
var VolumeTypeAttachConstraint = map[VolumeType][]VmType{
	BasicVolumeType: {
		BasicVmType,
	},
	StandardVolumeType: {
		BasicVmType,
	},
}

topology disk mapping to vm

max zec cloud disk size

min zec cloud disk size

Functions

func IsValidFileSystemType

func IsValidFileSystemType(fs string) bool

func UpdateParmsZone

func UpdateParmsZone(opt map[string]string, zoneID string)

Types

type DiskDriver

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

func GetDiskDriver

func GetDiskDriver() *DiskDriver

func (*DiskDriver) GetControllerCapability

func (d *DiskDriver) GetControllerCapability() []*csi.ControllerServiceCapability

func (*DiskDriver) GetMaxVolumePerNode

func (d *DiskDriver) GetMaxVolumePerNode() int64

func (*DiskDriver) GetName

func (d *DiskDriver) GetName() string

func (*DiskDriver) GetNodeCapability

func (d *DiskDriver) GetNodeCapability() []*csi.NodeServiceCapability

func (*DiskDriver) GetNodeId

func (d *DiskDriver) GetNodeId() string

func (*DiskDriver) GetNodeZone

func (d *DiskDriver) GetNodeZone() string

func (*DiskDriver) GetPluginCapability

func (d *DiskDriver) GetPluginCapability() []*csi.PluginCapability

func (*DiskDriver) GetTopologyVmTypeKey

func (d *DiskDriver) GetTopologyVmTypeKey() string

Action: Vm-Type only support BasicVm

func (*DiskDriver) GetTopologyZoneKey

func (d *DiskDriver) GetTopologyZoneKey() string

Action: Vm below zone

func (*DiskDriver) GetVersion

func (d *DiskDriver) GetVersion() string

func (*DiskDriver) GetVolumeCapability

func (d *DiskDriver) GetVolumeCapability() []*csi.VolumeCapability_AccessMode

func (*DiskDriver) InitDiskDriver

func (d *DiskDriver) InitDiskDriver(input *InitDiskDriverInput)

func (*DiskDriver) ValidateControllerServiceRequest

func (d *DiskDriver) ValidateControllerServiceRequest(c csi.ControllerServiceCapability_RPC_Type) bool

func (*DiskDriver) ValidateNodeServiceRequest

func (d *DiskDriver) ValidateNodeServiceRequest(c csi.NodeServiceCapability_RPC_Type) bool

func (*DiskDriver) ValidatePluginCapabilityService

func (d *DiskDriver) ValidatePluginCapabilityService(cap csi.PluginCapability_Service_Type) bool

func (*DiskDriver) ValidateVolumeAccessMode

func (d *DiskDriver) ValidateVolumeAccessMode(c csi.VolumeCapability_AccessMode_Mode) bool

func (*DiskDriver) ValidateVolumeCapabilities

func (d *DiskDriver) ValidateVolumeCapabilities(caps []*csi.VolumeCapability) bool

func (*DiskDriver) ValidateVolumeCapability

func (d *DiskDriver) ValidateVolumeCapability(cap *csi.VolumeCapability) bool

type InitDiskDriverInput

type InitDiskDriverInput struct {
	Name          string
	Version       string
	NodeId        string
	ZoneId        string
	MaxVolume     int64
	VolumeCap     []csi.VolumeCapability_AccessMode_Mode
	ControllerCap []csi.ControllerServiceCapability_RPC_Type
	NodeCap       []csi.NodeServiceCapability_RPC_Type
	PluginCap     []*csi.PluginCapability
}

type Topology

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

func NewTopology

func NewTopology(zoneid string, vt VmType) *Topology

func (*Topology) GetVmType

func (t *Topology) GetVmType() VmType

func (*Topology) GetZone

func (t *Topology) GetZone() string

func (*Topology) SetVmType

func (t *Topology) SetVmType(vt VmType)

func (*Topology) SetZone

func (t *Topology) SetZone(zoneid string)

type VmType

type VmType int

func (VmType) Int

func (v VmType) Int() int

func (VmType) IsVaild

func (v VmType) IsVaild() bool

type VolumeType

type VolumeType int

func StringToType

func StringToType(s string) VolumeType

func (VolumeType) Int

func (v VolumeType) Int() int

func (VolumeType) IsValid

func (v VolumeType) IsValid() bool

func (VolumeType) String

func (v VolumeType) String() string

type ZecSnapshotClass added in v1.1.0

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

func NewDefaultZecSnapshotClass added in v1.1.0

func NewDefaultZecSnapshotClass() *ZecSnapshotClass

func NewZecSnapshotClassFromMap added in v1.1.0

func NewZecSnapshotClassFromMap(opt map[string]string) (*ZecSnapshotClass, error)

func (ZecSnapshotClass) GetTags added in v1.1.0

func (sc ZecSnapshotClass) GetTags() []string

func (*ZecSnapshotClass) SetTags added in v1.1.0

func (sc *ZecSnapshotClass) SetTags(tags []string)

type ZecStorageClass

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

func NewDefaultZecStorageClassFromType

func NewDefaultZecStorageClassFromType(diskType VolumeType) *ZecStorageClass

func NewZecStorageClassFromMap

func NewZecStorageClassFromMap(opt map[string]string) (*ZecStorageClass, error)

func (ZecStorageClass) ConvertToDiskCategory

func (sc ZecStorageClass) ConvertToDiskCategory(vt VolumeType) string

func (ZecStorageClass) FormatVolumeSizeByte

func (sc ZecStorageClass) FormatVolumeSizeByte(sizeByte int64) int64

func (ZecStorageClass) GetBurstEnable added in v1.1.0

func (sc ZecStorageClass) GetBurstEnable() bool

func (ZecStorageClass) GetDiskType

func (sc ZecStorageClass) GetDiskType() VolumeType

func (ZecStorageClass) GetFsType

func (sc ZecStorageClass) GetFsType() string

func (ZecStorageClass) GetMaxSizeByte

func (sc ZecStorageClass) GetMaxSizeByte() int64

func (ZecStorageClass) GetMinSizeByte

func (sc ZecStorageClass) GetMinSizeByte() int64

func (ZecStorageClass) GetPlaceGroupID

func (sc ZecStorageClass) GetPlaceGroupID() string

func (ZecStorageClass) GetRequiredVolumeSizeByte

func (sc ZecStorageClass) GetRequiredVolumeSizeByte(capRange *csi.CapacityRange) (int64, error)

func (ZecStorageClass) GetZone

func (sc ZecStorageClass) GetZone() string

func (*ZecStorageClass) SetBurstEnable added in v1.1.0

func (sc *ZecStorageClass) SetBurstEnable(burstEnable bool)

func (*ZecStorageClass) SetPlaceGroupID

func (sc *ZecStorageClass) SetPlaceGroupID(placeGroupID string)

func (*ZecStorageClass) SetZone

func (sc *ZecStorageClass) SetZone(zone string)

Jump to

Keyboard shortcuts

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