v1

package
v0.0.0-...-693d502 Latest Latest
Warning

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

Go to latest
Published: May 9, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the mpd v1 API group +kubebuilder:object:generate=true +groupName=mpd.polardb.aliyun.com

Index

Constants

View Source
const (
	LocalVolumeModeCustom    MPDLocalVolumeMode = "custom"    //用户提前预分配好lv, stack仅使用
	LocalVolumeModeAutomatic MPDLocalVolumeMode = "automatic" //用户不提前分配lv, 由stack创建
	LocalVolumeModeMixed     MPDLocalVolumeMode = "mixed"     //部分用户提前分配,部分由stack创建

	LocalVolumeFileSystemExt4  MDPLocalVolumeFileSystem = "ext4"
	LocalVolumeFileSystemPfs   MDPLocalVolumeFileSystem = "pfs"
	LocalVolumeFileSystemXfs   MDPLocalVolumeFileSystem = "xfs"
	LocalVolumeFileSystemEmpty MDPLocalVolumeFileSystem = ""

	VolConditionTypeLVReady     MPDLocalVolumeConditionType = "LVReady"
	VolConditionTypeLVSizeReady MPDLocalVolumeConditionType = "LVSizeReady"
	VolConditionTypeVGReady     MPDLocalVolumeConditionType = "VGReady"
	VolConditionTypePVCReady    MPDLocalVolumeConditionType = "PVCReady"
	VolConditionTypeFormatReady MPDLocalVolumeConditionType = "FormatReady"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "mpd.polardb.aliyun.com", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = GroupVersion

SchemeGroupVersion is used to be compatiable with client-gen.

Functions

This section is empty.

Types

type AdditionalResourceCfg

type AdditionalResourceCfg struct {
	CPUCores    resource.Quantity `json:"cpu_cores"`
	LimitMemory resource.Quantity `json:"limit_memory"`
	Config      string            `json:"config"`
}

专用于额外定义资源相关参数配置

func (*AdditionalResourceCfg) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalResourceCfg.

func (*AdditionalResourceCfg) DeepCopyInto

func (in *AdditionalResourceCfg) DeepCopyInto(out *AdditionalResourceCfg)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DBInstanceNetInfo

type DBInstanceNetInfo struct {
	NetType              string `json:"netType,omitempty"` //网络类型,目前仅支持host
	WorkingPort          int    `json:"workingPort,omitempty"`
	WorkingHostIP        string `json:"workingHostIP,omitempty"`
	EnableWorkingAdminIP bool   `json:"enableWorkingAdminIP,omitempty"` //开放引擎管理网访问,默认为false,不开放
	WorkingAdminIP       string `json:"workingAdminIP,omitempty"`
}

func (*DBInstanceNetInfo) DeepCopy

func (in *DBInstanceNetInfo) DeepCopy() *DBInstanceNetInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DBInstanceNetInfo.

func (*DBInstanceNetInfo) DeepCopyInto

func (in *DBInstanceNetInfo) DeepCopyInto(out *DBInstanceNetInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DBMaxScaleStatus

type DBMaxScaleStatus struct {
	WorkingPort       int                 `json:"workingPort,omitempty"`
	MaxScaleName      string              `json:"maxScaleName,omitempty"`
	MaxScaleNameSpace string              `json:"maxScaleNameSpace,omitempty"`
	WorkingAddr       []DBInstanceNetInfo `json:"workingAddr,omitempty"`
}

func (*DBMaxScaleStatus) DeepCopy

func (in *DBMaxScaleStatus) DeepCopy() *DBMaxScaleStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DBMaxScaleStatus.

func (*DBMaxScaleStatus) DeepCopyInto

func (in *DBMaxScaleStatus) DeepCopyInto(out *DBMaxScaleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DBNetConfig

type DBNetConfig struct {
	NetType             string          `json:"netType,omitempty"`             //网络类型,目前仅支持host
	EngineStartPort     int             `json:"engineStartPort,omitempty"`     //引擎服务端口开始端口
	EngineAddress       string          `json:"engineAddress,omitempty"`       //引擎服务网卡或者IP,默认为主机的客户网卡,无需配置
	ProxyStartPort      int             `json:"proxyStartPort,omitempty"`      //代理服务端口开始端口
	ProxyNetIF          string          `json:"proxyNetIF,omitempty"`          //代理服务网卡或者IP,默认为主机的客户网卡,无需配置
	PortStep            int             `json:"portStep,omitempty"`            //如有引擎或代理工作在同一主机上,在前一主机可用的情况下,端口增加步长,默认为5,小于0表示使用默认值,等于0相当于不允许在同一主机上运行,最大值100,超出100使用默认值5
	EnableEngineAdminIP bool            `json:"enableEngineAdminIP,omitempty"` //开放引擎管理网访问,默认为false,不开放
	EnableProxyAdminIP  bool            `json:"enableProxyAdminIP,omitempty"`  //开放代理管理网访问,默认为false,不开放
	LeaderFloatingIP    *FloatingIPAddr `json:"leaderFloatingIP,omitempty"`    // 默认为无,不为leader创建浮动IP
}

func (*DBNetConfig) DeepCopy

func (in *DBNetConfig) DeepCopy() *DBNetConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DBNetConfig.

func (*DBNetConfig) DeepCopyInto

func (in *DBNetConfig) DeepCopyInto(out *DBNetConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FloatingIPAddr

type FloatingIPAddr struct {
	IPAddressCfgType string         `json:"ipAddressCfgType,omitempty"` //取值两种:auto: 自动分配IP, manual:手动指定IP
	IPAddress        string         `json:"ipAddress,omitempty"`
	Mask             int            `json:"mask,omitempty"`
	GateWay          string         `json:"gateWay,omitempty"`    //+optional
	BasedNetIf       string         `json:"basedNetIf,omitempty"` //IP创建基准物理网卡
	IPMode           FloatingIPMode `json:"ipMode,omitempty"`     // IP创建模式:默认虚拟网卡模式
}

func (*FloatingIPAddr) DeepCopy

func (in *FloatingIPAddr) DeepCopy() *FloatingIPAddr

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FloatingIPAddr.

func (*FloatingIPAddr) DeepCopyInto

func (in *FloatingIPAddr) DeepCopyInto(out *FloatingIPAddr)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FloatingIPMode

type FloatingIPMode string
const (
	FloatingIPModeVirtualIF FloatingIPMode = "VirtualIF" //虚拟网卡
	FloatingIPModeMultiIP   FloatingIPMode = "MultiIP"   //单网卡多IP
)

type InstanceClassInfo

type InstanceClassInfo struct {
	ClassName string `json:"className"`
	Cpu       string `json:"cpu,omitempty"`
	Memory    string `json:"memory,omitempty"`
	Iops      string `json:"iops,omitempty"`
}

func (*InstanceClassInfo) DeepCopy

func (in *InstanceClassInfo) DeepCopy() *InstanceClassInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceClassInfo.

func (*InstanceClassInfo) DeepCopyInto

func (in *InstanceClassInfo) DeepCopyInto(out *InstanceClassInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceStatusType

type InstanceStatusType string

type LVErrorInfo

type LVErrorInfo struct {
	LastErrorTime metav1.Time `json:"lastErrorTime,omitempty"`
	LastErrorMsg  string      `json:"lastErrorMsg,omitempty"`
	ErrorCode     string      `json:"errorCode,omitempty"`
}

func (*LVErrorInfo) DeepCopy

func (in *LVErrorInfo) DeepCopy() *LVErrorInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LVErrorInfo.

func (*LVErrorInfo) DeepCopyInto

func (in *LVErrorInfo) DeepCopyInto(out *LVErrorInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LVPVCMap

type LVPVCMap map[string]PVCInfo

func (LVPVCMap) DeepCopy

func (in LVPVCMap) DeepCopy() LVPVCMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LVPVCMap.

func (LVPVCMap) DeepCopyInto

func (in LVPVCMap) DeepCopyInto(out *LVPVCMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MDPLocalVolumeFileSystem

type MDPLocalVolumeFileSystem string

type MPDCluster

type MPDCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MPDClusterSpec   `json:"spec,omitempty"`
	Status MPDClusterStatus `json:"status,omitempty"`
}

MPDCluster is the Schema for the mpdclusters API

func (*MPDCluster) DeepCopy

func (in *MPDCluster) DeepCopy() *MPDCluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDCluster.

func (*MPDCluster) DeepCopyInto

func (in *MPDCluster) DeepCopyInto(out *MPDCluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MPDCluster) DeepCopyObject

func (in *MPDCluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MPDClusterCondition

type MPDClusterCondition struct {
	Type MPDClusterConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=MPDClusterConditionType"`
	// Status is the status of the condition.
	// Can be True, False, Unknown.
	Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"`
	// Last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty" protobuf:"bytes,3,opt,name=lastProbeTime"`
	// Last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"`
	// Unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"`
	// Human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}

func (*MPDClusterCondition) DeepCopy

func (in *MPDClusterCondition) DeepCopy() *MPDClusterCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDClusterCondition.

func (*MPDClusterCondition) DeepCopyInto

func (in *MPDClusterCondition) DeepCopyInto(out *MPDClusterCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDClusterConditionType

type MPDClusterConditionType string
const (
	ClusterConditionLocalVolReady MPDClusterConditionType = "localVolReady"
	ClusterConditionLeaderIPReady MPDClusterConditionType = "LeaderIPReady"
	ClusterConditionFollowerReady MPDClusterConditionType = "FollowerReady"
	ClusterConditionProxyReady    MPDClusterConditionType = "ProxyReady"
)

type MPDClusterInstanceRole

type MPDClusterInstanceRole string
const (
	MPDClusterInstanceRoleLeader   MPDClusterInstanceRole = "leader"
	MPDClusterInstanceRoleFollower MPDClusterInstanceRole = "follower"
	MPDClusterInstanceRoleLogger   MPDClusterInstanceRole = "logger"
)

type MPDClusterInstanceState

type MPDClusterInstanceState struct {
	Reason    string       `json:"reason,omitempty"`
	State     string       `json:"state,omitempty"`
	ErrorInfo string       `json:"errorInfo,omitempty"`
	StartedAt *metav1.Time `json:"startAt,omitempty"`
	FinishAt  *metav1.Time `json:"finishAt,omitempty"`
}

func (*MPDClusterInstanceState) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDClusterInstanceState.

func (*MPDClusterInstanceState) DeepCopyInto

func (in *MPDClusterInstanceState) DeepCopyInto(out *MPDClusterInstanceState)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDClusterInstanceStatus

type MPDClusterInstanceStatus struct {
	PhysicalInsId string                  `json:"physicalInsId,omitempty"` // 物理ID
	InsId         string                  `json:"insId,omitempty"`         // 实例ID
	InsName       string                  `json:"insName,omitempty"`       // 等于InsId的初始值,后续重建实例该值不会变
	PodName       string                  `json:"podName,omitempty"`
	PodNameSpace  string                  `json:"podNameSpace,omitempty"`
	NodeName      string                  `json:"nodeName,omitempty"`
	HostClientIP  string                  `json:"hostClientIP,omitempty"`
	PolarFsHostId string                  `json:"polarFsHostId,omitempty"`
	Installed     bool                    `json:"installed,omitempty"`
	Role          MPDClusterInstanceRole  `json:"role,omitempty"`
	InsType       MPDClusterInstanceType  `json:"insType,omitempty"`
	Status        InstanceStatusType      `json:"status,omitempty"`
	VersionInfo   VersionInfo             `json:"versionInfo,omitempty"`
	InsClassInfo  InstanceClassInfo       `json:"insClassInfo,omitempty"`
	NetInfo       DBInstanceNetInfo       `json:"netInfo,omitempty"`
	CurrentState  MPDClusterInstanceState `json:"currentState,omitempty"`
	LastState     MPDClusterInstanceState `json:"lastState,omitempty"`
}

func (*MPDClusterInstanceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDClusterInstanceStatus.

func (*MPDClusterInstanceStatus) DeepCopyInto

func (in *MPDClusterInstanceStatus) DeepCopyInto(out *MPDClusterInstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDClusterInstanceType

type MPDClusterInstanceType string
const (
	MPDClusterInstanceTypeRW     MPDClusterInstanceType = "rw"
	MPDClusterInstanceTypeRO     MPDClusterInstanceType = "ro"
	MPDClusterInstanceTypeTempRO MPDClusterInstanceType = "tempro"
)

type MPDClusterList

type MPDClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MPDCluster `json:"items"`
}

MPDClusterList contains a list of MPDCluster

func (*MPDClusterList) DeepCopy

func (in *MPDClusterList) DeepCopy() *MPDClusterList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDClusterList.

func (*MPDClusterList) DeepCopyInto

func (in *MPDClusterList) DeepCopyInto(out *MPDClusterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MPDClusterList) DeepCopyObject

func (in *MPDClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MPDClusterManagerStatus

type MPDClusterManagerStatus struct {
	WorkingPort int    `json:"workingPort,omitempty"`
	DeployName  string `json:"deployName,omitempty"`
}

func (*MPDClusterManagerStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDClusterManagerStatus.

func (*MPDClusterManagerStatus) DeepCopyInto

func (in *MPDClusterManagerStatus) DeepCopyInto(out *MPDClusterManagerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDClusterSpec

type MPDClusterSpec struct {
	OperatorName       string                           `json:"operatorName"`
	DBClusterType      MPDClusterType                   `json:"dbClusterType"`                //集群类型,默认: local
	DBType             string                           `json:"dbType,omitempty"`             //数据库类型,默认polar-o
	Description        string                           `json:"description,omitempty"`        // 数据库描述,用于存放名称,描述等
	FollowerNum        int                              `json:"followerNum"`                  // 从节点数量, share模式下,表示ro数量,local模式下,表示follower数量。local模式下,取值可以2、4,如为其它值,取默认值2
	ClassInfo          InstanceClassInfo                `json:"classInfo"`                    // 实例规格名称
	ClassInfoModifyTo  InstanceClassInfo                `json:"classInfoModifyTo"`            //实例需要变更的规格名称,不为空,且与DBInsClassName值不同时,将触发变配
	ResourceAdditional map[string]AdditionalResourceCfg `json:"resourceAdditional,omitempty"` // 资源额外补充信息(尽量少用,临进扩展用信息),映射关系:容器或pod名称-->配置内容,便于扩展
	LocalVolName       string                           `json:"localVolName,omitempty"`       // ClusterType = local时有效,有效时不可为空, 与 MPDLocalVol.Name对应,如存储具备管理权限,那么,api提交时,也应先创建好MPDLocalVol对象,并且设置DBCluster Owner Ref为MPDLocalVol对象
	ShareStore         *ShareStoreConfig                `json:"shareStore,omitempty"`         // ClusterType = share时有效,有效时不可为空
	DBProxyInfo        MaxScaleInfo                     `json:"dbProxyInfo,omitempty"`        //DB代理信息
	NetCfg             DBNetConfig                      `json:"netCfg,omitempty"`             //DB的网络配置
	VersionCfg         VersionInfo                      `json:"versionCfg"`                   // 版本信息
	VersionCfgModifyTo VersionInfo                      `json:"versionCfgModifyTo,omitempty"` // 版本升级信息
}

func (*MPDClusterSpec) DeepCopy

func (in *MPDClusterSpec) DeepCopy() *MPDClusterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDClusterSpec.

func (*MPDClusterSpec) DeepCopyInto

func (in *MPDClusterSpec) DeepCopyInto(out *MPDClusterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDClusterStatus

type MPDClusterStatus struct {
	ClusterStatus        statemachine.State                   `json:"clusterStatus,omitempty"`
	FollowerNum          int                                  `json:"followerNum,omitempty"`
	InsClassInfo         InstanceClassInfo                    `json:"insClassInfo,omitempty"` //全局要求规格定义
	FloatingIP           *FloatingIPAddr                      `json:"floatingIP,omitempty"`
	LocalVolName         string                               `json:"localVolName,omitempty"`
	LeaderInstanceId     string                               `json:"leaderInstanceId,omitempty"`
	LeaderInstanceHost   string                               `json:"leaderInstanceHost,omitempty"`
	LogicInsId           string                               `json:"logicId,omitempty"`
	DBInstanceStatus     map[string]*MPDClusterInstanceStatus `json:"dbInstanceStatus,omitempty"` //每实例状态
	ClusterManagerStatus MPDClusterManagerStatus              `json:"clusterManagerStatus,omitempty"`
	ProxyStatus          DBMaxScaleStatus                     `json:"proxyStatus,omitempty"`
	Conditions           []MPDClusterCondition                `json:"conditions,omitempty"`
}

func (*MPDClusterStatus) DeepCopy

func (in *MPDClusterStatus) DeepCopy() *MPDClusterStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDClusterStatus.

func (*MPDClusterStatus) DeepCopyInto

func (in *MPDClusterStatus) DeepCopyInto(out *MPDClusterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDClusterType

type MPDClusterType string
const (
	MPDClusterSharedVol MPDClusterType = "share"
	MPDClusterLocalVol  MPDClusterType = "local"
)

type MPDHostLV

type MPDHostLV struct {
	LvID     string `json:"lvId,omitempty"`
	NodeName string `json:"nodeName,omitempty"`
	LvPath   string `json:"lvPath,omitempty"`
}

MPDHostLV holds the basic info for a lvm logical volume, lv_path and hostname

func (*MPDHostLV) DeepCopy

func (in *MPDHostLV) DeepCopy() *MPDHostLV

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDHostLV.

func (*MPDHostLV) DeepCopyInto

func (in *MPDHostLV) DeepCopyInto(out *MPDHostLV)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDHostLVStatus

type MPDHostLVStatus struct {
	MPDHostLV `json:",inline"`
	//lv Name 需要由应用rename成与 MPDLocalVolume.Name 名称相关, 如: MPDLocalVol-01
	LvName string `json:"lvName,omitempty"`
	LvUuid string `json:"lvUUID,omitempty"`

	VgName   string `json:"vgName,omitempty"`
	VgUuid   string `json:"vgUUID,omitempty"`
	LvSizeMB uint64 `json:"lvSizeMB,omitempty"`

	//+optional
	FileSystem string       `json:"fileSystem,omitempty"`
	LvStatus   string       `json:"lvStatus,omitempty"`
	LvSectors  int32        `json:"lvSectors,omitempty"`
	ErrorInfo  *LVErrorInfo `json:"errorInfo,omitempty"`
}

func (*MPDHostLVStatus) DeepCopy

func (in *MPDHostLVStatus) DeepCopy() *MPDHostLVStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDHostLVStatus.

func (*MPDHostLVStatus) DeepCopyInto

func (in *MPDHostLVStatus) DeepCopyInto(out *MPDHostLVStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDLocalVolume

type MPDLocalVolume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MPDLocalVolumeSpec   `json:"spec,omitempty"`
	Status MPDLocalVolumeStatus `json:"status,omitempty"`
}

MPDLocalVolume is the Schema for the mpdlocalvolumes API

func (*MPDLocalVolume) DeepCopy

func (in *MPDLocalVolume) DeepCopy() *MPDLocalVolume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDLocalVolume.

func (*MPDLocalVolume) DeepCopyInto

func (in *MPDLocalVolume) DeepCopyInto(out *MPDLocalVolume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MPDLocalVolume) DeepCopyObject

func (in *MPDLocalVolume) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MPDLocalVolumeCondition

type MPDLocalVolumeCondition struct {
	Type MPDLocalVolumeConditionType `json:"type"`
	// Status is the status of the condition.
	// Can be True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// Last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

func (*MPDLocalVolumeCondition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDLocalVolumeCondition.

func (*MPDLocalVolumeCondition) DeepCopyInto

func (in *MPDLocalVolumeCondition) DeepCopyInto(out *MPDLocalVolumeCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDLocalVolumeConditionType

type MPDLocalVolumeConditionType string

type MPDLocalVolumeList

type MPDLocalVolumeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MPDLocalVolume `json:"items"`
}

MPDLocalVolumeList contains a list of MPDLocalVolume

func (*MPDLocalVolumeList) DeepCopy

func (in *MPDLocalVolumeList) DeepCopy() *MPDLocalVolumeList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDLocalVolumeList.

func (*MPDLocalVolumeList) DeepCopyInto

func (in *MPDLocalVolumeList) DeepCopyInto(out *MPDLocalVolumeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MPDLocalVolumeList) DeepCopyObject

func (in *MPDLocalVolumeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MPDLocalVolumeMode

type MPDLocalVolumeMode string

type MPDLocalVolumeSpec

type MPDLocalVolumeSpec struct {

	// Specify a driver to provision volume, default lvm
	// +optional
	Driver string `json:"driver,omitempty"`

	// The lvm logical volume used by MPDLocalVolume is provisioned by an administrator or dynamically provisioned
	// +optional
	VolumeMode MPDLocalVolumeMode `json:"mpdVolumeMode,omitempty"`

	// How many lvm logical volumes that are desired or claimed.
	// +optional
	LvNum uint64 `json:"lvNum,omitempty"`

	// LvResources contains LVM logical volume information, including basic metadata and location information
	// It takes effect only when volumeMode is custom or mixed
	// +optional
	LvResources []MPDHostLV `json:"lvResources,omitempty"`

	// +optional
	LvExpectedSizeMB uint64 `json:"lvExpectedSizeMB,omitempty"`

	// VolMode = maker 或 mixed时有效,即希望stack扩容至多大的
	LvExpectedExpandToSizeMB uint64 `json:"lvExpectedExpandToSizeMB,omitempty"`

	// TODO: create PVC or not. Reserved for future.
	//+optional
	CreatePVC bool `json:"createPVC,omitempty"`

	// File system, default ext4, empty means no need to format
	// +optional
	FormatFileSystem MDPLocalVolumeFileSystem `json:"formatFileSystem,omitempty"`

	// Description or comments
	// +optional
	Description string `json:"Description,omitempty"`
}

MPDLocalVolumeSpec defines the desired state of MPDLocalVolume

func (*MPDLocalVolumeSpec) DeepCopy

func (in *MPDLocalVolumeSpec) DeepCopy() *MPDLocalVolumeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDLocalVolumeSpec.

func (*MPDLocalVolumeSpec) DeepCopyInto

func (in *MPDLocalVolumeSpec) DeepCopyInto(out *MPDLocalVolumeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MPDLocalVolumeStatus

type MPDLocalVolumeStatus struct {

	//取LvStatusMap中size最小的值
	LvSizeMB uint64 `json:"LvSizeMB,omitempty"`

	// How many lvm logical volumes that are observed.
	// +optional
	LVNum int `json:"lvNum,omitempty"`

	// Number of valid and available LVM logical volumes
	// +optional
	ValidLVNum int `json:"validLVNum,omitempty"`

	// PVC number for each LVM logical volume
	// +optional
	PVCNum int `json:"pvcNumber,omitempty"`

	// Avaliable PVC number in current mode
	// +optional
	PVCReadyNum bool `json:"pvcReadyNum,omitempty"`

	// Whether PVCs are ready
	// +optional
	PVCReady bool `json:"pvcReady,omitempty"`

	//映射关系:lvID->MPDHostLVStatus
	// +optional
	LvStatus map[string]MPDHostLVStatus `json:"lvStatus,omitempty"`

	// Observed file system format
	// +optional
	FormatFileSystem MDPLocalVolumeFileSystem `json:"formatFileSystem,omitempty"`

	// PVC and LVM logical colume map, lvID->LVPVCInfo
	// +optional
	PVCInfo LVPVCMap `json:"pvcInfo,omitempty"`

	// Current Condition of MDPLocalVolume. If underlying persistent volume is being
	// resized then the Condition will be set to 'ResizeStarted'.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions []MPDLocalVolumeCondition `json:"conditions,omitempty"`
}

MPDLocalVolumeStatus defines the observed state of MPDLocalVolume

func (*MPDLocalVolumeStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MPDLocalVolumeStatus.

func (*MPDLocalVolumeStatus) DeepCopyInto

func (in *MPDLocalVolumeStatus) DeepCopyInto(out *MPDLocalVolumeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaxScaleInfo

type MaxScaleInfo struct {
	Enabled          bool                 `json:"enabled"`          // 是否开启,三节点中,默认为true
	Name             string               `json:"name"`             //maxScale 名称
	ResourceType     MaxScaleResourceType `json:"resourceType"`     //资源类型
	ConsistencyLevel int                  `json:"consistencyLevel"` //会话一致性级别
}

func (*MaxScaleInfo) DeepCopy

func (in *MaxScaleInfo) DeepCopy() *MaxScaleInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaxScaleInfo.

func (*MaxScaleInfo) DeepCopyInto

func (in *MaxScaleInfo) DeepCopyInto(out *MaxScaleInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaxScaleResourceType

type MaxScaleResourceType string
const (
	MaxScaleResourceTypeStand           MaxScaleResourceType = "stand"
	MaxScaleResourceTypeHighPerformance MaxScaleResourceType = "high"
	MaxScaleResourceTypeLowPerformance  MaxScaleResourceType = "low"
)

type PVCInfo

type PVCInfo struct {
	Namespace string       `json:"namespace,omitempty"`
	Name      string       `json:"name,omitempty"`
	ErrorInfo *LVErrorInfo `json:"errorInfo,omitempty"`
}

func (*PVCInfo) DeepCopy

func (in *PVCInfo) DeepCopy() *PVCInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PVCInfo.

func (*PVCInfo) DeepCopyInto

func (in *PVCInfo) DeepCopyInto(out *PVCInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShareStoreConfig

type ShareStoreConfig struct {
	Drive             string `json:"drive"`                  // 存储driver类型, 取值:wwid 或 pvc。对于有存储控制权的情况,应使用pvc模式,其逻辑是:用户先在存储管理中,把lun, lv ,pvc创建好,然后再在此处关联pvc名称
	SharePvcName      string `json:"sharePvcName,omitempty"` // drive=pvc时,创建时必填
	SharePvcNameSpace string `json:"sharePvcNamespace,omitempty"`
	VolumeId          string `json:"volumeId,omitempty"`
	VolumeType        string `json:"volumeType,omitempty"`
	DiskQuota         string `json:"diskQuota,omitempty"`

	ShareVolumeWWID string `json:"shareVolumeWWID,omitempty"` // drive=wwid时有效,必填.由MPDClusterController依据wwid以及DB集群名称,创建pvc,然后再更新回SharePvcName,SharePvcNameSpace信息
	IsVolumeFormat  bool   `json:"isVolumeFormat,omitempty"`  // drive=wwid时有效
	VolumeFormat    string `json:"volumeFormat,omitempty"`    // IsVolumeFormat = true时有效,默认为pfs
}

func (*ShareStoreConfig) DeepCopy

func (in *ShareStoreConfig) DeepCopy() *ShareStoreConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShareStoreConfig.

func (*ShareStoreConfig) DeepCopyInto

func (in *ShareStoreConfig) DeepCopyInto(out *ShareStoreConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionInfo

type VersionInfo struct {
	VersionName         string            `json:"versionName,omitempty"` //指代版本定义的cm的名称
	EngineImage         string            `json:"engineImage,omitempty"`
	ManagerImage        string            `json:"managerImage,omitempty"`
	ClusterManagerImage string            `json:"clusterManagerImage,omitempty"`
	PfsdImage           string            `json:"pfsdImage,omitempty"`     //可选,仅pfsd文件系统时有效
	PfsdToolImage       string            `json:"pfsdToolImage,omitempty"` //可选,仅pfsd文件系统时有效
	OtherImages         map[string]string `json:"otherImages,omitempty"`   //扩展空间,如有新的定义,可通过此属性扩展,映射关系: 容器名称->容器Image
}

func (*VersionInfo) DeepCopy

func (in *VersionInfo) DeepCopy() *VersionInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionInfo.

func (*VersionInfo) DeepCopyInto

func (in *VersionInfo) DeepCopyInto(out *VersionInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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