api

package
v0.14.3 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: Apache-2.0 Imports: 8 Imported by: 11

Documentation

Index

Constants

View Source
const (
	AuthTokenSecretName = "hwameistor-auth-tokens"

	AuthEnableEnvName    = "EnableAuth"
	AuthAccessIdEnvName  = "AuthAccessId"
	AuthSecretKeyEnvName = "AuthSecretKey"

	AuthTokenHeaderName = "Authorization"

	AuthTokenExpireTime  = 7 * 24 * time.Hour
	CheckTokenExpireTime = time.Hour
)
View Source
const (
	DiskClassNameHDD  = "HDD"
	DiskClassNameSSD  = "SSD"
	DiskClassNameNVMe = "NVMe"
)

disk class

View Source
const (
	PoolNamePrefix  = "LocalStorage_Pool"
	PoolNameForHDD  = PoolNamePrefix + DiskClassNameHDD
	PoolNameForSSD  = PoolNamePrefix + DiskClassNameSSD
	PoolNameForNVMe = PoolNamePrefix + DiskClassNameNVMe
)

consts

View Source
const (
	DEV = "/dev/"
)

disk path

Variables

View Source
var AddToSchemes runtime.SchemeBuilder

AddToSchemes may be used to add all resources defined in the project to a Scheme

Functions

func AddToScheme

func AddToScheme(s *runtime.Scheme) error

AddToScheme adds all Resources to the Scheme

func DiskStatefuzzyConvert

func DiskStatefuzzyConvert(state string) apisv1alpha1.LocalDiskState

func DriverStatefuzzyConvert

func DriverStatefuzzyConvert(state string) apisv1alpha1.State

func OperationStatefuzzyConvert added in v0.9.0

func OperationStatefuzzyConvert(state string) apisv1alpha1.State

func VolumeStatefuzzyConvert

func VolumeStatefuzzyConvert(state string) apisv1alpha1.State

Types

type AuthInfoRspBody added in v0.10.2

type AuthInfoRspBody struct {
	Enabled bool `json:"enabled"`
}

type AuthLogoutRspBody added in v0.10.2

type AuthLogoutRspBody struct {
	Success bool `json:"success"`
}

type AuthReqBody added in v0.10.2

type AuthReqBody struct {
	AccessId  string `json:"accessId,omitempty"`
	SecretKey string `json:"secretKey,omitempty"`
}

type AuthRspBody added in v0.10.2

type AuthRspBody struct {
	Token    string `json:"token"`
	ExpireAt int64  `json:"expireAt"`
}

type BaseMetric

type BaseMetric struct {
	// 高可用卷数目
	HighAvailableVolumeNum int64 `json:"highAvailableVolumeNum"`
	// 非高可用卷数目
	NonHighAvailableVolumeNum int64 `json:"nonHighAvailableVolumeNum"`
	// 本地卷总数
	LocalVolumeNum int64 `json:"localVolumeNum"`
	// 总容量
	TotalCapacityBytes int64 `json:"totalCapacityBytes"`
	// 已分配容量
	AllocatedCapacityBytes int64 `json:"allocatedCapacityBytes"`
	// 已预留容量
	ReservedCapacityBytes int64 `json:"reservedCapacityBytes"`
	// 可分配容量
	FreeCapacityBytes int64 `json:"freeCapacityBytes"`
	// 总磁盘数
	TotalDiskNum int64 `json:"totalDiskNum"`
	// 绑定磁盘
	BoundedDiskNum int64 `json:"boundedDiskNum"`
	// 健康磁盘
	HealthyDiskNum int64 `json:"healthyDiskNum"`
	// 错误磁盘
	UnHealthyDiskNum int64 `json:"unHealthyDiskNum"`
	// 总节点数
	TotalNodeNum int64 `json:"totalNodeNum"`
	// 纳管节点数
	ClaimedNodeNum int64 `json:"claimedNodeNum"`
}

type DiskCollection

type DiskCollection struct {
	// 磁盘总数
	TotalDisksNum int64 `json:"totalDisksNum"`
	// 健康磁盘数目
	HealthyDiskNum int64 `json:"healthyDiskNum"`
	// 错误磁盘数目
	ErrorDiskNum int64 `json:"errorDiskNum"`
	// 绑定磁盘数目
	BoundedDiskNum int64 `json:"boundedDiskNum"`
}

type DiskOwnerReqBody added in v0.13.1

type DiskOwnerReqBody struct {
	//[ local-storage]  [local-disk-manager] [system]
	Owner string `json:"owner,omitempty"`
}

type DiskOwnerRsp added in v0.13.1

type DiskOwnerRsp struct {
	DiskName string `json:"diskName,omitempty"`
	Owner    string `json:"owner,omitempty"`
}

type DiskOwnerRspBody added in v0.13.1

type DiskOwnerRspBody struct {
	DiskOwnerRsp DiskOwnerRsp `json:"data,omitempty"`
}

type DiskRemoveReservedRsp

type DiskRemoveReservedRsp struct {
	DiskName          string `json:"diskName,omitempty"`
	RemoveReservedRsp State  `json:"removeReservedRsp,omitempty"`
}

type DiskRemoveReservedRspBody

type DiskRemoveReservedRspBody struct {
	DiskRemoveReservedRsp DiskRemoveReservedRsp `json:"data,omitempty"`
}

type DiskReqBody

type DiskReqBody struct {
	Reserve bool `json:"reserve,omitempty"`
}

type DiskReservedRsp

type DiskReservedRsp struct {
	DiskName    string `json:"diskName,omitempty"`
	ReservedRsp State  `json:"reservedRsp,omitempty"`
}

type DiskReservedRspBody

type DiskReservedRspBody struct {
	DiskReservedRsp DiskReservedRsp `json:"data,omitempty"`
}

type DrbdEnableSetting

type DrbdEnableSetting struct {
	Enable  bool   `json:"enable"`
	State   State  `json:"state"`
	Version string `json:"version"`
}

type DrbdEnableSettingReqBody

type DrbdEnableSettingReqBody struct {
	Enable bool `json:"enable,omitempty"`
}

type DrbdEnableSettingRspBody

type DrbdEnableSettingRspBody struct {
	DrbdEnableSetting *DrbdEnableSetting `json:"data,omitempty"`
}

type Event added in v0.13.1

type Event struct {
	apisv1alpha1.Event
}

type EventAction added in v0.13.1

type EventAction struct {
	EventRecord  apisv1alpha1.EventRecord `json:"eventRecord"`
	ResourceName string                   `json:"resourceName"`
	ResourceType string                   `json:"resourceType"`
}

type EventActionList added in v0.13.1

type EventActionList struct {
	EventActions []*EventAction `json:"items"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type EventList added in v0.13.1

type EventList struct {
	Event []*Event `json:"items"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type HAState

type HAState struct {
	// Consistent, Inconsistent, replica is ready only when consistent
	State State `json:"state"`
	// Reason is why this state happened
	Reason string `json:"reason,omitempty"`
}

HAState is state for ha replica

type LocalDiskInfo

type LocalDiskInfo struct {
	apisv1alpha1.LocalDisk

	// diskPathShort 磁盘路径简写
	DiskPathShort string `json:"diskPathShort,omitempty"`

	// TotalCapacityBytes 总容量
	TotalCapacityBytes int64 `json:"totalCapacityBytes,omitempty"`

	// AvailableCapacityBytes 可用容量
	AvailableCapacityBytes int64 `json:"availableCapacityBytes,omitempty"`

	// LocalStoragePooLName 存储池名称
	LocalStoragePooLName string `json:"localStoragePooLName,omitempty"`
}

LocalDiskInfo is disk struct

type LocalDiskList added in v0.7.1

type LocalDiskList struct {
	// LocalDisks 集群磁盘列表
	LocalDisks []*apisv1alpha1.LocalDisk `json:"items"`
}

type LocalDiskListByNode

type LocalDiskListByNode struct {
	// nodeName 节点名称
	NodeName string `json:"nodeName,omitempty"`
	// diskPathShort 磁盘路径简写
	DiskPathShort string `json:"diskPathShort,omitempty"`
	// localDisks 节点磁盘列表
	LocalDisks []*LocalDiskInfo `json:"items"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type LocalDiskNodeList added in v0.7.1

type LocalDiskNodeList struct {
	// LocalDiskNodes 集群磁盘组列表
	LocalDiskNodes []*apisv1alpha1.LocalDiskNode `json:"items"`
}

type LocalDisksItemsList

type LocalDisksItemsList struct {
	// localDisks 节点磁盘列表
	LocalDisks []*LocalDiskInfo `json:"items"`
}

type LocalPool

type LocalPool struct {
	// Supported pool name: HDD_POOL, SSD_POOL, NVMe_POOL 存储池
	Name string `json:"name,omitempty"`
}

LocalPool is storage pool struct

type LocalVolumeMigrate

type LocalVolumeMigrate struct {
	Kind     string `yaml:"kind"`
	Metadata struct {
		Name      string `yaml:"name"`
		Namespace string `yaml:"namespace"`
	}

	Spec   LocalVolumeMigrateSpec   `json:"spec,omitempty"`
	Status LocalVolumeMigrateStatus `json:"status,omitempty"`
}

type LocalVolumeMigrateSpec

type LocalVolumeMigrateSpec struct {
	// volumeName
	VolumeName string `json:"volumeName"`
	// sourceNode
	SourceNode string `json:"sourceNode"`
	// targetNodesSuggested
	TargetNodesSuggested []string `json:"targetNodesSuggested"`
	// migrateAllVols
	MigrateAllVols bool `json:"migrateAllVols,omitempty"`
	// abort
	Abort bool `json:"abort,omitempty"`
}

LocalVolumeMigrateSpec defines the desired state of LocalVolumeMigrate

type LocalVolumeMigrateStatus

type LocalVolumeMigrateStatus struct {
	// record the volume's replica number, it will be set internally
	OriginalReplicaNumber int64 `json:"originalReplicaNumber,omitempty"`
	// record the node where the specified replica is migrated to
	TargetNode string `json:"targetNode,omitempty"`

	// State of the operation, e.g. submitted, started, completed, abort, ...
	State State `json:"state,omitempty"`
	// error message to describe some states
	Message string `json:"message,omitempty"`
}

LocalVolumeMigrateStatus defines the observed state of LocalVolumeMigrate

type LocalVolumeReplica

type LocalVolumeReplica struct {
	Kind     string `yaml:"kind"`
	Metadata struct {
		Name      string `yaml:"name"`
		Namespace string `yaml:"namespace"`
	}

	Spec   LocalVolumeReplicaSpec   `json:"spec,omitempty"`
	Status LocalVolumeReplicaStatus `json:"status,omitempty"`
}

type LocalVolumeReplicaSpec

type LocalVolumeReplicaSpec struct {
	// VolumeName is the name of the volume, e.g. pvc-fbf3ffc3-66db-4dae-9032-bda3c61b8f85
	VolumeName string `json:"volumeName,omitempty"`

	// PoolName is the name of the storage pool, e.g. LocalStorage_PoolHDD, LocalStorage_PoolSSD, etc..
	PoolName string `json:"poolName,omitempty"`

	// NodeName is the assigned node where the volume replica is located
	NodeName string `json:"nodeName,omitempty"`

	RequiredCapacityBytes int64 `json:"requiredCapacityBytes,omitempty"`

	Delete bool `json:"delete,omitempty"`
}

LocalVolumeReplicaSpec defines the desired state of LocalVolumeReplica

type LocalVolumeReplicaStatus

type LocalVolumeReplicaStatus struct {

	// StoragePath is a real path of the volume replica, like /dev/sdg.
	StoragePath string `json:"storagePath,omitempty"`

	// DevicePath is a link path of the StoragePath of the volume replica,
	// e.g. /dev/LocalStorage_PoolHDD/pvc-fbf3ffc3-66db-4dae-9032-bda3c61b8f85
	DevicePath string `json:"devPath,omitempty"`

	// Disks is a list of physical disks where the volume replica is spread cross, especially for striped LVM volume replica
	Disks []string `json:"disks,omitempty"`

	// AllocatedCapacityBytes is the real allocated capacity in bytes
	AllocatedCapacityBytes int64 `json:"allocatedCapacityBytes,omitempty"`

	// State is the phase of volume replica, e.g. Creating, Ready, NotReady, ToBeDeleted, Deleted
	State State `json:"state,omitempty"`

	// Synced is the sync state of the volume replica, which is important in HA volume
	Synced bool `json:"synced,omitempty"`

	// HAState is state for ha replica, replica.Status.State == Ready only when HAState is Consistent of nil
	HAState *HAState `json:"haState,omitempty"`

	// InUse is one of volume replica's states, which indicates the replica is used by a Pod or not
	InUse bool `json:"inUse,omitempty"`
}

LocalVolumeReplicaStatus defines the observed state of LocalVolumeReplica

type ModuleState

type ModuleState struct {
	// 组件名称
	Name string `json:"name"`
	// 组件状态 运行中 未就绪
	State State `json:"state"`
}

组件状态

type ModuleStatus

type ModuleStatus struct {
	apiv1alpha1.ClusterStatus

	ModulesStatus []ModuleState `json:"modulesStatus"`
}

组件状态监控

type ModuleStatusCollection

type ModuleStatusCollection struct {
	// 组件状态
	ModuleStatus map[string]State `json:"moduleStatus"`
}

type NodeDiskListByPool

type NodeDiskListByPool struct {
	// PoolName 存储池名称
	PoolName string `json:"poolName,omitempty"`
	// nodeName 节点名称
	NodeName string `json:"nodeName,omitempty"`
	// localDisks 节点磁盘列表
	LocalDisks []*LocalDiskInfo `json:"items,omitempty"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type NodeStorageUse

type NodeStorageUse struct {
	// 存储节点名字
	Name string `json:"name"`
	// 总容量
	TotalCapacityBytes int64 `json:"totalCapacityBytes"`
	// 已分配容量
	AllocatedCapacityBytes int64 `json:"allocatedCapacityBytes"`
}

节点存储使用率

type NodeStorageUseCollection

type NodeStorageUseCollection struct {
	// 存储节点资源使用率
	NodeStorageUseRatios []*NodeStorageUseRatio `json:"nodeStorageUseRatios"`
}

type NodeStorageUseMetric

type NodeStorageUseMetric struct {
	// 存储池类型 SSD HDD
	StoragePoolClass string `json:"storagePoolClass"`
	// 节点存储TOP5 使用率列表 5条列表上限
	NodeStoragesUse []NodeStorageUse `json:"nodeStoragesUse"`
}

节点存储TOP5 使用率监控

type NodeStorageUseRatio

type NodeStorageUseRatio struct {
	// 节点名字
	Name string
	// 总容量
	TotalCapacityBytes int64
	// 已分配容量
	AllocatedCapacityBytes int64
	// 存储比率
	CapacityBytesRatio int64
}

节点存储使用率

type NodeStorageUseRatios

type NodeStorageUseRatios []*NodeStorageUseRatio

func (NodeStorageUseRatios) Len

func (p NodeStorageUseRatios) Len() int

func (NodeStorageUseRatios) Less

func (p NodeStorageUseRatios) Less(i, j int) bool

func (NodeStorageUseRatios) Swap

func (p NodeStorageUseRatios) Swap(i, j int)

type NodeUpdateReqBody added in v0.12.0

type NodeUpdateReqBody struct {
	Enable *bool `json:"enable,omitempty"`
}

type NodeUpdateRspBody added in v0.12.0

type NodeUpdateRspBody struct {
	Success bool `json:"success"`
}

type Operation

type Operation struct {
	// 事件名称
	EventName string `json:"eventName"`
	// 事件类型
	EventType string `json:"eventType"`
	// 操作对象
	LocalVolumeName string `json:"localVolumeName"`
	// 状态
	Status State `json:"status"`
	// 详细描述
	Description string `json:"description"`
	// 开始时间
	StartTime time.Time `json:"startTime"`
	// 结束时间
	EndTime time.Time `json:"endTime"`
}

操作记录

type OperationMetric

type OperationMetric struct {
	OperationList []Operation `json:"items"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

操作记录列表

type Pagination

type Pagination struct {
	// 总共有多少条目,请求时可以不用传递
	Total uint32 `json:"total,omitempty"`
	// 当前页索引,从 1 开始,为 0 时,会自动重置为默认值 constants.DefaultPage
	Page int32 `json:"page,omitempty"`
	// 总页数
	Pages int32 `json:"pages,omitempty"`
	// 每页数据量,为 -1 时表示查询全部,为 0 时会重置为默认值
	// constants.DefaultPageSize
	PageSize int32 `json:"pageSize,omitempty"`
}

type QueryPage

type QueryPage struct {
	Page              int32
	Pages             int32
	PageSize          int32
	Name              string
	PoolName          string
	NodeName          string
	DiskName          string
	DeviceShortPath   string
	NameSpace         string
	VolumeState       apisv1alpha1.State
	NodeState         State
	OperationState    apisv1alpha1.State
	DriverState       apisv1alpha1.State
	DiskState         apisv1alpha1.LocalDiskState
	SnapshotState     apisv1alpha1.State
	SnapshotName      string
	VolumeName        string
	VolumeReplicaName string
	VolumeEventName   string
	VolumeGroup       string
	Synced            string
	OperationName     string
	Owner             string
	ResourceType      string
	ResourceName      string
	Action            string
	Sort              string
	SortDir           string
}

type RspFailBody

type RspFailBody struct {
	ErrCode int    `json:"errcode"`
	Desc    string `json:"description"`
}

type Snapshot added in v0.13.1

type Snapshot struct {
	apisv1alpha1.LocalVolumeSnapshot
}

type SnapshotClass added in v0.14.0

type SnapshotClass struct {
	snapshotv1.VolumeSnapshotClass
}

type SnapshotClassItemsList added in v0.14.0

type SnapshotClassItemsList struct {
	SnapshotClasses []*SnapshotClass `json:"snapshot_classes"`
}

type SnapshotClassList added in v0.14.0

type SnapshotClassList struct {
	StorageClasses []*SnapshotClass `json:"storage_classes"`
	Page           *Pagination      `json:"pagination,omitempty"`
}

type SnapshotList added in v0.13.1

type SnapshotList struct {
	Snapshots []*Snapshot `json:"items"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type State

type State string
const (
	// purpose of the following CRDs is for operational job
	OperationStateSubmitted           State = "Submitted"
	OperationStateMigrateAddReplica   State = "AddReplica"
	OperationStateMigrateSyncReplica  State = "SyncReplica"
	OperationStateMigratePruneReplica State = "PruneReplica"
	OperationStateInProgress          State = "InProgress"
	OperationStateCompleted           State = "Completed"
	OperationStateToBeAborted         State = "ToBeAborted"
	OperationStateAborting            State = "Cancelled"
	OperationStateAborted             State = "Aborted"
	OperationStateFailed              State = "Failed"

	VolumeStateToBeUnmount State = "ToBeMounted"
	VolumeStateEmpty       State = ""
	VolumeStateCreated     State = "Created"
	VolumeStateCreating    State = "Creating"
	VolumeStateReady       State = "Ready"
	VolumeStateNotReady    State = "NotReady"
	VolumeStateToBeDeleted State = "ToBeDeleted"
	VolumeStateDeleted     State = "Deleted"

	VolumeStateUnknown State = "Unknown"

	VolumeReplicaStateInvalid     State = "Invalid"
	VolumeReplicaStateCreating    State = "Creating"
	VolumeReplicaStateReady       State = "Ready"
	VolumeReplicaStateNotReady    State = "NotReady"
	VolumeReplicaStateToBeDeleted State = "ToBeDeleted"
	VolumeReplicaStateDeleted     State = "Deleted"

	NodeStateReady            State = "Ready"
	NodeStateMaintain         State = "Maintain"
	NodeStateOffline          State = "Offline"
	NodeStateEmpty            State = ""
	NodeStateUnknown          State = "Unknown"
	NodeStateReadyAndNotReady State = "ReadyAndNotReady"

	NodeStateHealthy  State = "Healthy"
	NodeStateNotReady State = "NotReady"

	DriverStateEmpty    State = ""
	DriverStateReady    State = "Ready"
	DriverStateMaintain State = "Maintain"
	DriverStateOffline  State = "Offline"
	DriverStateUnknown  State = "Unknown"

	// LocalDiskUnclaimed represents that the disk is not bound to any LDC,
	// and is available for claiming.
	LocalDiskUnclaimed State = "Unclaimed"
	// LocalDiskReleased represents that the disk is released from the LDC,
	LocalDiskReleased State = "Released"
	// LocalDiskClaimed represents that the disk is bound to a LDC
	LocalDiskClaimed State = "Claimed"
	// LocalDiskInUse represents that the disk is in use but not claimed by a LDC
	LocalDiskInUse State = "Inuse"
	// LocalDiskReserved represents that the disk will be used in the feature
	LocalDiskReserved            State = "Reserved"
	LocalDiskReleaseReserved     State = "ReleaseReserved"
	LocalDiskEmpty               State = ""
	LocalDiskClaimedAndUnclaimed State = "ClaimedAndUnclaimed"
	LocalDiskPending             State = "Pending"
	LocalDiskBound               State = "Bound"
	LocalDiskAvailable           State = "Available"

	// LocalDiskActive is the state for the disk that is connected
	LocalDiskActive State = "Active"
	// LocalDiskInactive is the state for the disk that is disconnected
	LocalDiskInactive State = "Inactive"
	// LocalDiskUnknown is the state for the disk that cannot be determined
	// at this time(whether attached or detached)
	LocalDiskUnknown State = "Unknown"

	ModuleStatusRunning  State = "Running"
	ModuleStatusNotReady State = "NotReady"

	DrbdModuleStatusEnabled  State = "Enabled"
	DrbdModuleStatusDisabled State = "Disabled"

	ReservedSucceedState State = "Succeed"
	ReservedFailedState  State = "Failed"
)

func NodeStatefuzzyConvert

func NodeStatefuzzyConvert(state string) State

func StateConvert

func StateConvert(state apisv1alpha1.State) State

type StorageCapacityCollection

type StorageCapacityCollection struct {
	// 总容量
	TotalCapacityBytes int64 `json:"totalCapacityBytes"`
	// 已分配容量
	AllocatedCapacityBytes int64 `json:"allocatedCapacityBytes"`
	// 已预留容量
	ReservedCapacityBytes int64 `json:"reservedCapacityBytes"`
	// 可使用容量
	FreeCapacityBytes int64 `json:"freeCapacityBytes"`
}

type StorageClass added in v0.14.0

type StorageClass struct {
	v1.StorageClass
}

type StorageClassItemsList added in v0.14.0

type StorageClassItemsList struct {
	StorageClasses []*StorageClass `json:"storage_classes"`
}

type StorageClassList added in v0.14.0

type StorageClassList struct {
	StorageClasses []*StorageClass `json:"storage_classes"`
	Page           *Pagination     `json:"pagination,omitempty"`
}

type StorageNode

type StorageNode struct {
	LocalStorageNode apisv1alpha1.LocalStorageNode `json:"localStorageNode,omitempty"`
	LocalDiskNode    apisv1alpha1.LocalDiskNode    `json:"localDiskNode,omitempty"`
	TotalDisk        int                           `json:"totalDisk,omitempty"`
	K8sNode          *k8sv1.Node
	K8sNodeState     State `json:"k8SNodeState,omitempty"`
}

type StorageNodeList

type StorageNodeList struct {
	// StorageNodes
	StorageNodes []*StorageNode `json:"items"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type StorageNodeListByPool

type StorageNodeListByPool struct {
	// StoragePoolName 存储池名称
	StoragePoolName string `json:"storagePoolName,omitempty"`
	// StorageNodes
	StorageNodes []*StorageNode `json:"items,omitempty"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type StorageNodePool added in v0.7.1

type StorageNodePool struct {
	apisv1alpha1.LocalPool
	// NodesName Pool所在节点
	NodeName string `json:"nodeName"`
}

type StorageNodesCollection

type StorageNodesCollection struct {
	// 总节点数
	TotalNodesNum int64 `json:"totalNodesNum"`
	// 纳管节点数
	ManagedNodesNum int64 `json:"managedNodesNum"`
}

type StorageNodesItemsList

type StorageNodesItemsList struct {
	// localDisks 节点磁盘列表
	StorageNodes []*StorageNode `json:"items"`
}

type StoragePool

type StoragePool struct {
	StorageNodePools []StorageNodePool `json:"items"`

	// Supported pool name: HDD_POOL, SSD_POOL, NVMe_POOL 存储池名称
	PoolName string `json:"poolName,omitempty"`

	// TotalCapacityBytes 存储池对应存储总容量
	TotalCapacityBytes int64 `json:"totalCapacityBytes"`

	// AllocatedCapacityBytes 存储池已经分配存储容量
	AllocatedCapacityBytes int64 `json:"allocatedCapacityBytes"`

	// NodesNames Pool所在节点列表
	NodeNames []string `json:"nodeNames"`

	// createTime 创建时间
	CreateTime time.Time `json:"createTime,omitempty"`
}

type StoragePoolExpansionReqBody added in v0.12.0

type StoragePoolExpansionReqBody struct {
	NodeName string `json:"nodeName,omitempty"`
	// HDD/SSD/NVME
	DiskType string `json:"diskType,omitempty"`
	// local-storage/local-disk-manager
	Owner string `json:"owner,omitempty"`
}

type StoragePoolExpansionRspBody added in v0.12.0

type StoragePoolExpansionRspBody struct {
	Success bool `json:"success,omitempty"`
}

type StoragePoolList

type StoragePoolList struct {
	// storagePools
	StoragePools []*StoragePool `json:"items"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type StoragePoolNodesCollection

type StoragePoolNodesCollection struct {
	// 纳管节点列表
	ManagedNodeNames []string `json:"managedNodeNames"`
	// 存储池信息
	StoragePool StoragePool `json:"storagePool"`
}

type StoragePoolUse

type StoragePoolUse struct {
	// 存储池名字
	Name string `json:"name"`
	// 总容量
	TotalCapacityBytes int64 `json:"totalCapacityBytes"`
	// 已分配容量
	AllocatedCapacityBytes int64 `json:"allocatedCapacityBytes"`
}

存储池资源使用

type StoragePoolUseCollection

type StoragePoolUseCollection struct {
	// 存储池资源使用
	StoragePoolUseMap map[string]StoragePoolUse `json:"storagePoolUseMap"`
}

type StoragePoolUseMetric

type StoragePoolUseMetric struct {
	StoragePoolsUse []StoragePoolUse `json:"storagePoolsUse"`
}

存储池资源监控

type TargetNodeList

type TargetNodeList struct {
	// TargetNodes
	TargetNodes []string `json:"targetNodes,omitempty"`
}

type Volume

type Volume struct {
	apisv1alpha1.LocalVolume
}

type VolumeCollection

type VolumeCollection struct {
	// 本地卷总数
	TotalVolumesNum int64 `json:"totalVolumesNum"`
	// 高可用卷
	HAVolumeNum int64 `json:"HAVolumeNum"`
	// 非高可用卷
	NonHAVolumeNum int64 `json:"nonHAVolumeNum"`
}

type VolumeConvertInfo

type VolumeConvertInfo struct {
	VolumeName string `json:"volumeName,omitempty"`
	ReplicaNum int64  `json:"replicaNum"`
}

type VolumeConvertOperation

type VolumeConvertOperation struct {
	apisv1alpha1.LocalVolumeConvert
}

type VolumeConvertReqBody

type VolumeConvertReqBody struct {
	Abort bool `json:"abort,omitempty default:false"`
}

type VolumeConvertRspBody

type VolumeConvertRspBody struct {
	VolumeConvertInfo *VolumeConvertInfo `json:"data,omitempty"`
}

type VolumeExpandInfo

type VolumeExpandInfo struct {
	VolumeName          string `json:"volumeName"`
	TargetCapacityBytes int64  `json:"targetCapacityBytes"`
}

type VolumeExpandOperation

type VolumeExpandOperation struct {
	apisv1alpha1.LocalVolumeExpand
}

type VolumeExpandReqBody

type VolumeExpandReqBody struct {
	//VolumeName     string `json:"volumeName,omitempty"`
	TargetCapacity string `json:"targetCapacity"`
	Abort          bool   `json:"abort"`
}

type VolumeExpandRspBody

type VolumeExpandRspBody struct {
	VolumeExpandInfo *VolumeExpandInfo `json:"data,omitempty"`
}

type VolumeGroup

type VolumeGroup struct {
	apisv1alpha1.LocalVolumeGroup
	// Volumes
	Volumes []apisv1alpha1.LocalVolume `json:"items,omitempty"`
}

VolumeGroup defines the observed state of VolumeGroup

type VolumeGroupList

type VolumeGroupList struct {
	// VolumeGroups
	VolumeGroups []VolumeGroup `json:"items"`
}

type VolumeItemsList

type VolumeItemsList struct {
	// volumes
	Volumes []*Volume `json:"items,omitempty"`
}

type VolumeList

type VolumeList struct {
	Volumes []*Volume `json:"items"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type VolumeMigrateInfo

type VolumeMigrateInfo struct {
	VolumeName   string `json:"volumeName,omitempty"`
	SrcNode      string `json:"srcNode,omitempty"`
	SelectedNode string `json:"selectedNode,omitempty"`
}

type VolumeMigrateOperation

type VolumeMigrateOperation struct {
	apisv1alpha1.LocalVolumeMigrate
}

type VolumeMigrateReqBody

type VolumeMigrateReqBody struct {
	SrcNode      string `json:"srcNode,omitempty"`
	SelectedNode string `json:"selectedNode,omitempty"`
	Abort        bool   `json:"abort,omitempty default:false"`
}

type VolumeMigrateRspBody

type VolumeMigrateRspBody struct {
	VolumeMigrateInfo *VolumeMigrateInfo `json:"data,omitempty"`
}

type VolumeOperationByMigrate

type VolumeOperationByMigrate struct {
	// VolumeMigrateName name
	VolumeMigrateName string `json:"volumeMigrateName,omitempty"`
	// VolumeOperation
	VolumeMigrateOperation *VolumeMigrateOperation `json:"volumeMigrateOperation,omitempty"`
}

type VolumeOperationByVolume

type VolumeOperationByVolume struct {
	// VolumeName
	VolumeName string `json:"volumeName,omitempty"`
	//// OperationList
	//OperationList []Operation `json:"items"`
	// VolumeMigrateOperations
	VolumeMigrateOperations []*VolumeMigrateOperation `json:"volumeMigrateOperations,omitempty"`
	// VolumeConvertOperations
	VolumeConvertOperations []*VolumeConvertOperation `json:"VolumeConvertOperations,omitempty"`
	// VolumeExpandOperations
	VolumeExpandOperations []*VolumeExpandOperation `json:"VolumeExpandOperations,omitempty"`
}

type VolumeOperationListByNode

type VolumeOperationListByNode struct {
	// node name
	NodeName string `json:"nodeName,omitempty"`
	// VolumeOperations
	VolumeMigrateOperations []*VolumeMigrateOperation `json:"items,omitempty"`
	// page 信息
	Page *Pagination `json:"pagination,omitempty"`
}

type VolumeReplica

type VolumeReplica struct {
	apisv1alpha1.LocalVolumeReplica
}

type VolumeReplicaList

type VolumeReplicaList struct {
	// volume name
	VolumeName string `json:"volumeName,omitempty"`
	// VolumeReplicas
	VolumeReplicas []*VolumeReplica `json:"volumeReplicas,omitempty"`
}

type VolumeSnapshot added in v0.14.0

type VolumeSnapshot struct {
	snapshotv1.VolumeSnapshot
}

type VolumeSnapshotInfo added in v0.13.1

type VolumeSnapshotInfo struct {
	Name          string `json:"Name"`
	CapacityBytes int64  `json:"capacityBytes"`
	SourceVolume  string `json:"sourceVolume"`
}

type VolumeSnapshotItemsList added in v0.14.0

type VolumeSnapshotItemsList struct {
	VolumeSnapshots []*VolumeSnapshot `json:"volumeSnapshots"`
}

type VolumeSnapshotOperation added in v0.13.1

type VolumeSnapshotOperation struct {
	apisv1alpha1.LocalVolumeSnapshot
}

type VolumeSnapshotRepBody added in v0.13.1

type VolumeSnapshotRepBody struct {
	VolumeName string `json:"volumeName,omitempty"`
	Capacity   string `json:"capacity"`
	Abort      bool   `json:"abort"`
}

type VolumeSnapshotRspBody added in v0.13.1

type VolumeSnapshotRspBody struct {
	VolumeSnapshotInfo *VolumeSnapshotInfo `json:"data,omitempty"`
}

type VolumeSnapshotSnapshotList added in v0.14.0

type VolumeSnapshotSnapshotList struct {
	VolumeSnapshots []*VolumeSnapshot `json:"volumeSnapshots"`
	Page            *Pagination       `json:"pagination,omitempty"`
}

type YamlData

type YamlData struct {
	// yaml data
	Data string `json:"data,omitempty"`
}

Jump to

Keyboard shortcuts

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