adapter

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2021 License: Apache-2.0 Imports: 39 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ContainerNotReadyErrors = []string{
	"starting container process caused",
	"container not found",
	"pod does not exist",
}

const IgnoreExecErr string = "starting container process caused"

View Source
var PodManagerNotInitError = errors.New("pod manager not init.")

Functions

func BuildAndRefVolumeInfo

func BuildAndRefVolumeInfo(pvcName, insId string, pod *v1.Pod)

func BuildEngineContainer

func BuildEngineContainer(logger logr.Logger, dbCluster *domain.SharedStorageDbClusterBase, ins *domain.DbIns, instanceClass *domain.EngineClass) corev1.Container

func BuildManagerContainer

func BuildManagerContainer(dbCluster *domain.SharedStorageDbClusterBase, conf *SysResourceConfig) corev1.Container

func BuildNodeAvailableInfo

func BuildNodeAvailableInfo(logger logr.Logger) ([]string, error)

func BuildPfsdContainer

func BuildPfsdContainer(dbCluster *domain.SharedStorageDbClusterBase, conf *SysResourceConfig) corev1.Container

func BuildPfsdToolsContainer

func BuildPfsdToolsContainer(dbCluster *domain.SharedStorageDbClusterBase, conf *SysResourceConfig) corev1.Container

func BuildPodNodeAffinity

func BuildPodNodeAffinity(taintNodeList []string, targetNode string, logger logr.Logger) (*corev1.NodeAffinity, error)

func BuildPodObjectMeta

func BuildPodObjectMeta(ins domain.DbIns, cluster domain.SharedStorageDbClusterBase, insType string) metav1.ObjectMeta

func CheckConditionAvailable

func CheckConditionAvailable(nodeName string, cond *corev1.NodeCondition, logger logr.Logger) bool

func CheckHwStatusByNodeCondition

func CheckHwStatusByNodeCondition(nodes []corev1.Node, logger logr.Logger) (unAvailableNode []corev1.Node, availableNode []corev1.Node)

func CheckHwStatusBySshNode

func CheckHwStatusBySshNode(nodes []corev1.Node, logger logr.Logger) (unAvailableNode []corev1.Node, availableNode []corev1.Node)

func ExecCommand

func ExecCommand(runCmdNode string, logger logr.Logger, checkSucceedFunc func(string, error) bool, cmdList ...string) error

func GetCmDeployment

func GetCmDeployment(dbClusterName string, dbClusterNamespace string) (*appsv1.Deployment, error)

func GetNetworkCardName

func GetNetworkCardName(logger logr.Logger, key string) string

func GetNodeName

func GetNodeName(nodes []corev1.Node) []string

func GetNodeStatus

func GetNodeStatus(resultChan chan NodeAvailable, node *corev1.Node, logger logr.Logger)

func GetUnAvailableNode

func GetUnAvailableNode(logger logr.Logger) ([]string, error)

func GetUnAvailableNodes

func GetUnAvailableNodes(logger logr.Logger) ([]corev1.Node, []corev1.Node, error)

Types

type Account

type Account struct {
	PriviledgeType int    `json:"priviledge_type"`
	Account        string `json:"account"`
	Password       string `json:"password"`
}

type AccountRepository

type AccountRepository struct {
	Logger              logr.Logger
	GetKubeResourceFunc GetKubeResourceFunc
}

func (*AccountRepository) EnsureAccountMeta

func (r *AccountRepository) EnsureAccountMeta(cluster *domain.DbClusterBase, account *domain.Account) error

func (*AccountRepository) GetAccounts

func (r *AccountRepository) GetAccounts(clusterName, namespace string) (accounts map[string]*domain.Account, err error)

type ClassQuery

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

func NewClassQuery

func NewClassQuery(logger logr.Logger) *ClassQuery

func (*ClassQuery) GetClasses

func (q *ClassQuery) GetClasses(engineType domain.EngineType, classKey string) (classList []*domain.EngineClass, err error)

type ClusterManagerClient

type ClusterManagerClient struct {
	IP                 string
	Port               string
	DbClusterNamespace string
	DbClusterName      string
	// contains filtered or unexported fields
}

func NewClusterManagerClient

func NewClusterManagerClient(logger logr.Logger) *ClusterManagerClient

func (*ClusterManagerClient) AddCluster

func (m *ClusterManagerClient) AddCluster(ctx context.Context, id, ip string, port int, isClientIP bool) error

*

  • @Description: 添加集群节点
  • @param ctx
  • @param ctx
  • @param id
  • @param ip
  • @param port
  • @return error

func (*ClusterManagerClient) AddDataMax

func (m *ClusterManagerClient) AddDataMax(ctx context.Context, id, ip, podName string, port int) error

*

  • @Description: 添加DataMax节点
  • @param ctx
  • @param id
  • @param ip
  • @param podName
  • @param port
  • @return error

func (*ClusterManagerClient) AddIns

func (m *ClusterManagerClient) AddIns(ctx context.Context, id, ip, role, sync, hostName string, port int, isClientIP bool) error

*

  • @Description: 添加实例
  • @param ctx
  • @param id
  • @param ip
  • @param port
  • @return error

func (*ClusterManagerClient) AddTopologyEdge

func (m *ClusterManagerClient) AddTopologyEdge(ctx context.Context, upStreamId, downStreamId string, copyType domain.CopyType) error

*

  • @Description: 创建拓扑关系
  • @param ctx
  • @param upStreamId 上游节点ID
  • @param downStreamId 下游节点ID
  • @param copyType 复制关系类型
  • @return error

func (*ClusterManagerClient) DeleteCluster

func (m *ClusterManagerClient) DeleteCluster(ctx context.Context, id string) error

*

  • @Description: 删除集群节点
  • @param ctx
  • @param id
  • @return error

func (*ClusterManagerClient) DeleteDataMax

func (m *ClusterManagerClient) DeleteDataMax(ctx context.Context, id string) error

*

  • @Description: 删除DataMax节点
  • @param ctx
  • @param id
  • @return error

func (*ClusterManagerClient) DeleteTopologyEdge

func (m *ClusterManagerClient) DeleteTopologyEdge(ctx context.Context, upStreamId, downStreamId string) error

*

  • @Description: 删除拓扑关系
  • @param ctx
  • @param upStreamId 上游节点ID
  • @param downStreamId 下游节点ID
  • @return error

func (*ClusterManagerClient) DemoteStandby

func (m *ClusterManagerClient) DemoteStandby(ctx context.Context, id, ip string, port int, copyType domain.CopyType, upStreamId string) error

*

  • @Description: 设置standby订阅DataMax
  • @param ctx
  • @param id 集群ID
  • @param ip 上游 client IP
  • @param port 上游 端口
  • @param copyType 复制类型
  • @param upStreamId
  • @return error

func (*ClusterManagerClient) DisableHA

func (m *ClusterManagerClient) DisableHA(ctx context.Context) error

*

  • @Description: 禁用HA
  • @param ctx
  • @return error

func (*ClusterManagerClient) DoActionCommon

func (m *ClusterManagerClient) DoActionCommon(ctx context.Context, requestUrl string, method string, requestContent string, timeoutSeconds time.Duration) (string, error)

func (*ClusterManagerClient) EnableHA

func (m *ClusterManagerClient) EnableHA(ctx context.Context) error

*

  • @Description: 启用HA
  • @param ctx
  • @return error

func (*ClusterManagerClient) EnsureAffinity

func (m *ClusterManagerClient) EnsureAffinity(ctx context.Context, clusterNamespace, clusterName, rwHostName string) error

func (*ClusterManagerClient) GetClusterStatus

func (m *ClusterManagerClient) GetClusterStatus(ctx context.Context) (*domain.ClusterStatus, error)

*

  • @Description: 获取集群状态
  • @param ctx
  • @return error

func (*ClusterManagerClient) InitWithLocalDbCluster

func (m *ClusterManagerClient) InitWithLocalDbCluster(ctx context.Context, dbClusterNamespace, dbClusterName string, waitCmReady bool) error

func (*ClusterManagerClient) PromoteStandby

func (m *ClusterManagerClient) PromoteStandby(ctx context.Context) error

*

  • @Description: standby promote
  • @param ctx
  • @return error

func (*ClusterManagerClient) RemoveIns

func (m *ClusterManagerClient) RemoveIns(ctx context.Context, id, ip, role, sync, hostName string, port int, isClientIP bool) error

*

  • @Description: 删除实例
  • @param ctx
  • @param id
  • @param ip
  • @param port
  • @return error

func (*ClusterManagerClient) SetFollower

func (m *ClusterManagerClient) SetFollower(ctx context.Context) error

*

  • @Description: 取消跨域主集群
  • @param ctx
  • @return error

func (*ClusterManagerClient) SetLeader

func (m *ClusterManagerClient) SetLeader(ctx context.Context) error

*

  • @Description: 设置跨域主集群
  • @param ctx
  • @return error

func (*ClusterManagerClient) Switchover

func (m *ClusterManagerClient) Switchover(ctx context.Context, oriRwIp, oriRoIp, port string, isClientIP bool) error

*

  • @Description: 读写切换
  • @param ctx
  • @param oriRwIp
  • @param oriRoIp
  • @param port
  • @return error

func (*ClusterManagerClient) UpdateCluster

func (m *ClusterManagerClient) UpdateCluster(ctx context.Context, id, ip string, port int, isClientIP bool) error

*

  • @Description: 更新集群节点
  • @param ctx
  • @param id
  • @param ip
  • @param port
  • @return error

func (*ClusterManagerClient) UpdateDataMax

func (m *ClusterManagerClient) UpdateDataMax(ctx context.Context, id, ip, podName string, port int) error

*

  • @Description: 更新DataMax节点
  • @param ctx
  • @param id
  • @param ip
  • @param podName
  • @param port
  • @return error

func (*ClusterManagerClient) UpgradeVersion

func (m *ClusterManagerClient) UpgradeVersion(ctx context.Context, clusterNamespace, clusterName, image string) error

func (*ClusterManagerClient) WaitForStartingCompleted

func (m *ClusterManagerClient) WaitForStartingCompleted(ctx context.Context, clientIp, port string, timeout time.Duration) (insStatus *domain.InsStatus, err error)

type ClusterManagerCreator

type ClusterManagerCreator struct {
	RwID                string
	LogicInsId          string
	ClusterManagerImage string
	Port                int
	ConsensusPort       int
	WorkModel           domain.CmWorkMode
	// contains filtered or unexported fields
}

func NewClusterManagerCreator

func NewClusterManagerCreator(logger logr.Logger, accountRepository domain.IAccountRepository) *ClusterManagerCreator

func (*ClusterManagerCreator) CreateClusterManager

func (m *ClusterManagerCreator) CreateClusterManager(ctx context.Context, kubeObj metav1.Object, workMode domain.CmWorkMode, logicInsId, rwPhyId, cmImage string, port int, pluginConf map[string]interface{}, consensusPort int) error

type ClusterManagerRemover

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

func NewClusterManagerRemover

func NewClusterManagerRemover(logger logr.Logger) *ClusterManagerRemover

func (*ClusterManagerRemover) Remove

func (m *ClusterManagerRemover) Remove(dbClusterName, dbClusterNamespace string, ctx context.Context) error

type CmRequestRetry

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

func (*CmRequestRetry) ConditionFunc

func (r *CmRequestRetry) ConditionFunc() (bool, error)

type CmResponse

type CmResponse struct {
	Code int    `json:"code"`
	Msg  string `json:"msg,omitempty"`
}

type EngineParamsClassQuery

type EngineParamsClassQuery struct{}

func NewEngineParamsClassQuery

func NewEngineParamsClassQuery(logger logr.Logger) *EngineParamsClassQuery

func (*EngineParamsClassQuery) GetClassParams

func (q *EngineParamsClassQuery) GetClassParams(engineType domain.EngineType, classKey string) (params map[string]string, err error)

type EngineParamsRepository

type EngineParamsRepository struct {
	Logger              logr.Logger
	GetKubeResourceFunc GetKubeResourceFunc
}

func (*EngineParamsRepository) GetRunningParams

func (repo *EngineParamsRepository) GetRunningParams(engine *domain.DbClusterBase) (map[string]*domain.ParamItem, error)

*

  • @Description: 获取运行中的参数
  • @param engine
  • @return map[string]string
  • @return error

func (*EngineParamsRepository) GetUserParams

func (repo *EngineParamsRepository) GetUserParams(engine *domain.DbClusterBase) (map[string]*domain.ParamItem, string, error)

*

  • @Description: 获取用户设置的参数
  • @param engine
  • @return map[string]string
  • @return string 最后一次成功刷参的时间
  • @return error

func (*EngineParamsRepository) SaveLatestFlushTime

func (repo *EngineParamsRepository) SaveLatestFlushTime(engine *domain.DbClusterBase) error

*

  • @Description: 保存最后刷参成功时间
  • @param dbClusterName
  • @return map[string]string
  • @return error

func (*EngineParamsRepository) SaveRunningParams

func (repo *EngineParamsRepository) SaveRunningParams(engine *domain.DbClusterBase, initParams map[string]string) error

*

  • @Description: 保存生效参数,初始化时使用,后面由cm更新
  • @param engine
  • @param initParams
  • @return error

func (*EngineParamsRepository) SaveUserParams

func (repo *EngineParamsRepository) SaveUserParams(engine *domain.DbClusterBase, initParams map[string]string) error

*

  • @Description: 保存用户设置的参数
  • @param engine
  • @param initParams
  • @return error

func (*EngineParamsRepository) UpdateUserParams

func (repo *EngineParamsRepository) UpdateUserParams(engine *domain.DbClusterBase, userParams map[string]*domain.EffectiveUserParamValue) error

*

  • @Description: 更新用户设置的参数
  • @param engine
  • @param initParams
  • @return error

type EngineParamsTemplateQuery

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

func NewEngineParamsTemplateQuery

func NewEngineParamsTemplateQuery(logger logr.Logger) *EngineParamsTemplateQuery

func (*EngineParamsTemplateQuery) GetTemplateParams

func (q *EngineParamsTemplateQuery) GetTemplateParams(engineType domain.EngineType) (params []*domain.ParamTemplateItem, err error)

type EnvClusterInfo

type EnvClusterInfo struct {
	DataMaxClusterInfo map[string]*PhysicalCustInstance `json:"cluster_info_datamax_placeholder,omitempty"`
	RwClusterInfo      map[string]*PhysicalCustInstance `json:"cluster_info_rw_placeholder,omitempty"`
	RoClusterInfo      map[string]*PhysicalCustInstance `json:"cluster_info_ro_placeholder,omitempty"`
	StandbyClusterInfo map[string]*PhysicalCustInstance `json:"cluster_info_standby_placeholder,omitempty"`
}

func (*EnvClusterInfo) ToString

func (r *EnvClusterInfo) ToString() (string, error)

type EnvGetStrategyBase

type EnvGetStrategyBase struct {
	IEnvGetStrategy
	GetClusterName       func() string
	GetFlushEnvConfigMap func() (*v1.ConfigMap, error)
	AccountRepository    domain.IAccountRepository
	Ins                  *domain.DbIns
	Logger               logr.Logger
}

func (EnvGetStrategyBase) GetAccountsFromMeta

func (d EnvGetStrategyBase) GetAccountsFromMeta() (accounts map[string]*Account, err error)

func (*EnvGetStrategyBase) GetCheckHealthEnvirons

func (d *EnvGetStrategyBase) GetCheckHealthEnvirons() (string, error)

func (EnvGetStrategyBase) GetCommonEnv

func (d EnvGetStrategyBase) GetCommonEnv(operatorType string, operatorAction string, allFields bool, fields ...string) (string, error)

func (*EnvGetStrategyBase) GetCreateEngineAccountEnvirons

func (d *EnvGetStrategyBase) GetCreateEngineAccountEnvirons() ([]string, error)

func (*EnvGetStrategyBase) GetCreateReplicationSlotEnvirons

func (d *EnvGetStrategyBase) GetCreateReplicationSlotEnvirons(roResourceName string) (string, error)

func (*EnvGetStrategyBase) GetEnvConfigMap

func (d *EnvGetStrategyBase) GetEnvConfigMap() (*v1.ConfigMap, error)

func (EnvGetStrategyBase) GetEnvPort

func (d EnvGetStrategyBase) GetEnvPort() (*EnvPort, error)

func (*EnvGetStrategyBase) GetGracefulStopEngineEnvirons

func (d *EnvGetStrategyBase) GetGracefulStopEngineEnvirons() (string, error)

func (*EnvGetStrategyBase) GetGrowStorageEnvirons

func (d *EnvGetStrategyBase) GetGrowStorageEnvirons() (string, error)

func (*EnvGetStrategyBase) GetInstallationProgressEnvirons

func (d *EnvGetStrategyBase) GetInstallationProgressEnvirons() (string, error)

func (*EnvGetStrategyBase) GetLockEngineEnvirons

func (d *EnvGetStrategyBase) GetLockEngineEnvirons() (string, error)

func (EnvGetStrategyBase) GetPhysicalAndInsId

func (d EnvGetStrategyBase) GetPhysicalAndInsId(resourceName string) (string, string, error)

func (EnvGetStrategyBase) GetPhysicalCustInstanceEnv

func (d EnvGetStrategyBase) GetPhysicalCustInstanceEnv(accounts map[string]*Account, insId, hostIP string, port int, pbd *Pbd, role string, insType int) (physicalCustInstance *PhysicalCustInstance)

func (*EnvGetStrategyBase) GetPodName

func (d *EnvGetStrategyBase) GetPodName() (string, string)

func (*EnvGetStrategyBase) GetPrimarySystemIdentifier

func (d *EnvGetStrategyBase) GetPrimarySystemIdentifier() (string, error)

func (*EnvGetStrategyBase) GetSetupLogAgentEnvirons

func (d *EnvGetStrategyBase) GetSetupLogAgentEnvirons() (string, error)

func (*EnvGetStrategyBase) GetStartEngineEnvirons

func (d *EnvGetStrategyBase) GetStartEngineEnvirons() (string, error)

func (*EnvGetStrategyBase) GetUnLockEngineEnvirons

func (d *EnvGetStrategyBase) GetUnLockEngineEnvirons() (string, error)

func (EnvGetStrategyBase) GetUniqueId

func (d EnvGetStrategyBase) GetUniqueId(resourceName string) (string, error)

func (*EnvGetStrategyBase) GetUpdateEngineParamsEnvirons

func (d *EnvGetStrategyBase) GetUpdateEngineParamsEnvirons(engineParams map[string]string) (string, error)

func (EnvGetStrategyBase) TranslateEnvMap2String

func (d EnvGetStrategyBase) TranslateEnvMap2String(envMap map[string]string) string

func (EnvGetStrategyBase) TranslateEnvMap2StringWithBase

func (d EnvGetStrategyBase) TranslateEnvMap2StringWithBase(envMap map[string]string, baseString string) string

type EnvPort

type EnvPort map[string]*Port

func (*EnvPort) ToString

func (r *EnvPort) ToString() (string, error)

type GetKubeResourceFunc

type GetKubeResourceFunc func(name, namespace string, clusterType domain.DbClusterType) (metav1.Object, error)

type GoSet

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

func NewGoSet

func NewGoSet() *GoSet

func (*GoSet) Add

func (set *GoSet) Add(val ...int32) bool

func (*GoSet) ClearAll

func (set *GoSet) ClearAll() *[]int32

func (*GoSet) Contains

func (set *GoSet) Contains(val ...int32) bool

func (*GoSet) GetAll

func (set *GoSet) GetAll() *[]int32

func (*GoSet) Remove

func (set *GoSet) Remove(val ...int32) *[]int32

type HostIns

type HostIns struct {
	Role  string `json:"role"`
	Port  int    `json:"port"`
	InsIp string `json:"ins_ip"`
}

type IEnvGetStrategy

type IEnvGetStrategy interface {
	Load(domainModel interface{}, ins *domain.DbIns) error
	GetInstallEngineEnvirons(ctx context.Context) (string, error)
	GetStartEngineEnvirons() (string, error)
	GetSetupLogAgentEnvirons() (string, error)
	GetGracefulStopEngineEnvirons() (string, error)
	GetCreateEngineAccountEnvirons() ([]string, error)
	GetUnLockEngineEnvirons() (string, error)
	GetLockEngineEnvirons() (string, error)
	GetUpdateEngineParamsEnvirons(engineParams map[string]string) (string, error)
	GetGrowStorageEnvirons() (string, error)
	GetPrimarySystemIdentifier() (string, error)
	GetPodName() (string, string)
	GetCheckHealthEnvirons() (string, error)
	GetCreateReplicationSlotEnvirons(string) (string, error)
	GetInstallationProgressEnvirons() (string, error)
}

type IdGenerator

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

func NewIdGenerator

func NewIdGenerator(logger logr.Logger) *IdGenerator

func (*IdGenerator) GetNextClusterScopeHostInsIds

func (g *IdGenerator) GetNextClusterScopeHostInsIds(n int) ([]int, error)

type ManagerClient

type ManagerClient struct {
	EnvGetStrategy IEnvGetStrategy
	PodName        string
	PodNamespace   string
	// contains filtered or unexported fields
}

func NewManagerClient

func NewManagerClient(strategy IEnvGetStrategy, logger logr.Logger) *ManagerClient

func (*ManagerClient) CheckHealth

func (m *ManagerClient) CheckHealth(ctx context.Context) *domain.HealthCheckError

*

  • @Description: 健康检查
  • @receiver m
  • @return err

func (*ManagerClient) CheckInstallIsReady

func (m *ManagerClient) CheckInstallIsReady(ctx context.Context) (bool, error)

*

  • @Description: Install是否执行成功
  • @receiver m
  • @return err

func (*ManagerClient) CreateEngineAccount

func (m *ManagerClient) CreateEngineAccount(ctx context.Context) error

*

  • @Description: 创建账户
  • @return error

func (*ManagerClient) CreateReplicationSlot

func (m *ManagerClient) CreateReplicationSlot(ctx context.Context, roResourceName string) error

*

  • @Description: 创建slot
  • @receiver m
  • @return err

func (*ManagerClient) ExecCmdInPod

func (m *ManagerClient) ExecCmdInPod(ctx context.Context, envs string) error

*

  • @Description: 在Manager容器中执行命令
  • @return error

func (*ManagerClient) ExecCmdInPodBase

func (m *ManagerClient) ExecCmdInPodBase(
	ctx context.Context,
	envs string,
	waitContainer bool,
	waitContainerTimeout time.Duration,
) (stdout string, stderr string, err error)

func (*ManagerClient) ForceStopEngine

func (m *ManagerClient) ForceStopEngine(ctx context.Context) error

*

  • @Description: 强制停止引擎,kill 1
  • @receiver m
  • @return error

func (*ManagerClient) GetPrimarySystemIdentifier

func (m *ManagerClient) GetPrimarySystemIdentifier(ctx context.Context) (string, error)

*

  • @Description: 获取PrimarySystemIdentifier
  • @receiver m
  • @return err

func (*ManagerClient) GracefulStopEngine

func (m *ManagerClient) GracefulStopEngine(ctx context.Context) error

*

  • @Description: 安全停止引擎
  • @return error

func (*ManagerClient) GrowStorage

func (m *ManagerClient) GrowStorage(ctx context.Context) error

*

  • @Description: 存储扩容
  • @return error

func (*ManagerClient) Init

func (m *ManagerClient) Init(domainModel interface{})

func (*ManagerClient) InstallEngine

func (m *ManagerClient) InstallEngine(ctx context.Context) error

*

  • @Description: 安装引擎
  • @return error

func (*ManagerClient) LockEngine

func (m *ManagerClient) LockEngine(ctx context.Context) error

*

  • @Description: 锁定引擎
  • @return error

func (*ManagerClient) RestartEngine

func (m *ManagerClient) RestartEngine(ctx context.Context) error

*

  • @Description: 重启引擎
  • @return error

func (*ManagerClient) SetIns

func (m *ManagerClient) SetIns(ins *domain.DbIns) error

func (*ManagerClient) SetupLogAgent

func (m *ManagerClient) SetupLogAgent(ctx context.Context) error

*

  • @Description: 创建UE所需元数据
  • @return error

func (*ManagerClient) StartEngine

func (m *ManagerClient) StartEngine(ctx context.Context) error

*

  • @Description: 启动引擎
  • @return error

func (*ManagerClient) UpdateEngineParams

func (m *ManagerClient) UpdateEngineParams(ctx context.Context, engineParams map[string]string) error

*

  • @Description: 更新引擎参数
  • @return error

type MinorVersionQuery

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

func NewMinorVersionQuery

func NewMinorVersionQuery(logger logr.Logger) *MinorVersionQuery

func (*MinorVersionQuery) GetLatestMinorVersion

func (q *MinorVersionQuery) GetLatestMinorVersion(engineType domain.EngineType) (version *domain.MinorVersion, err error)

func (*MinorVersionQuery) GetMinorVersion

func (q *MinorVersionQuery) GetMinorVersion(engineType domain.EngineType, versionName string) (version *domain.MinorVersion, err error)

func (*MinorVersionQuery) GetMinorVersions

func (q *MinorVersionQuery) GetMinorVersions(engineType domain.EngineType) (latestVersion string, versionList []*domain.MinorVersion, err error)

type NodeAvailable

type NodeAvailable struct {
	Node      *corev1.Node
	Available bool
}

type Pbd

type Pbd struct {
	PbdNumber   int64  `json:"pbd_number"`
	PbdName     string `json:"pbd_name"`
	Label       string `json:"label"`
	DataVersion int64  `json:"data_version"`
	CustinsId   int    `json:"custins_id"`
	EngineType  string `json:"engine_type"`
}

type PfsdToolClient

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

func NewPfsdToolClient

func NewPfsdToolClient(logger logr.Logger) *PfsdToolClient

func (*PfsdToolClient) Init

func (m *PfsdToolClient) Init(
	ins *domain.DbIns,
	resources map[string]*domain.InstanceResource,
	volumeId string,
)

func (*PfsdToolClient) StartPfsd

func (m *PfsdToolClient) StartPfsd(ctx context.Context) error

*

  • @Description: 启动pfsd
  • @return error

type PhysicalCustInstance

type PhysicalCustInstance struct {
	Accounts map[string]*Account `json:"accounts"`
	PbdList  []*Pbd              `json:"pbd_list"`
	HostIns  map[string]*HostIns `json:"hostins"`
	InsType  int                 `json:"ins_type"`
}

type PodManagerBase

type PodManagerBase struct {
	Ins    *domain.DbIns
	Logger logr.Logger
	Inited bool
}

func (*PodManagerBase) CleanDataFiles

func (q *PodManagerBase) CleanDataFiles() error

func (*PodManagerBase) DeletePod

func (q *PodManagerBase) DeletePod(ctx context.Context) error

func (*PodManagerBase) EnsureInsTypeMeta

func (q *PodManagerBase) EnsureInsTypeMeta(ctx context.Context, insType string) error

func (*PodManagerBase) IsDeleted

func (q *PodManagerBase) IsDeleted(ctx context.Context) (bool, error)

*

  • @Description: pod是否已经被删除
  • @param resourceName pod名称
  • @param ctx
  • @return error

func (*PodManagerBase) SetIns

func (q *PodManagerBase) SetIns(ins *domain.DbIns)

type Port

type Port struct {
	Link       []int `json:"link"`
	AccessPort []int `json:"access_port"`
	PerfPort   []int `json:"perf_port"`
}

func (*Port) ToString

func (r *Port) ToString() (string, error)

type PortGenerator

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

func NewPortGenerator

func NewPortGenerator(logger logr.Logger) *PortGenerator

func (*PortGenerator) CheckPortUsed

func (g *PortGenerator) CheckPortUsed(port int, rangesName string) (bool, error)

func (*PortGenerator) GetNextClusterExternalPort

func (g *PortGenerator) GetNextClusterExternalPort() (int, error)

type PortRange

type PortRange struct {
	Base int
	Size int
}

func ParsePortRange

func ParsePortRange(value string) (*PortRange, error)

func (*PortRange) Contains

func (pr *PortRange) Contains(p int) bool

func (*PortRange) Set

func (pr *PortRange) Set(value string) error

func (PortRange) String

func (pr PortRange) String() string

func (*PortRange) Type

func (*PortRange) Type() string

type PortRanges

type PortRanges struct {
	PortRange          *PortRange
	ReservedPortRanges []*PortRange
}

func ParsePortRanges

func ParsePortRanges(portRange, reservedPortRanges string) (*PortRanges, error)

func (*PortRanges) Contains

func (prs *PortRanges) Contains(p int) bool

func (*PortRanges) GetMinAndMaxPort

func (prs *PortRanges) GetMinAndMaxPort() (int, int)

func (*PortRanges) Set

func (prs *PortRanges) Set(value string) error

func (*PortRanges) SetReservedPortRanges

func (prs *PortRanges) SetReservedPortRanges(value string) error

type ResourceQuantity

type ResourceQuantity struct {
	CPU    resource.Quantity `yaml:"cpu"`
	Memory resource.Quantity `yaml:"memory"`
}

type StorageManager

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

func NewStorageManager

func NewStorageManager(logger logr.Logger) *StorageManager

func (*StorageManager) Expand

func (s *StorageManager) Expand(ctx context.Context, name, namespace, volumeId, resourceName string, volumeType int, reqSize int64) error

func (*StorageManager) GetTopo

func (s *StorageManager) GetTopo(ctx context.Context, name, namespace string) (*domain.StorageTopo, error)

func (*StorageManager) InitWithAddress

func (s *StorageManager) InitWithAddress(ip, port string) error

func (*StorageManager) Release

func (s *StorageManager) Release(ctx context.Context, name, namespace, clusterName string) error

*

  • @Description: 释放存储
  • @param ctx
  • @param name pvc名称
  • @param name pvc namespace
  • @param cluster 防止误释放其它集群使用的存储;为空则不校验存储是否被该集群使用,直接释放
  • @return error

func (*StorageManager) SetWriteLock

func (s *StorageManager) SetWriteLock(ctx context.Context, name, namespace, nodeId string) (*domain.StorageTopo, error)

func (*StorageManager) UseStorage

func (s *StorageManager) UseStorage(ctx context.Context, name, namespace, volumeId, resourceName, volumeType string, format bool) error

type StorageSvcRequestRetry

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

func (*StorageSvcRequestRetry) ConditionFunc

func (r *StorageSvcRequestRetry) ConditionFunc() (bool, error)

type StorageSvcResponse

type StorageSvcResponse struct {
	Code int    `json:"code"`
	Msg  string `json:"msg,omitempty"`
}

type SysResource

type SysResource struct {
	Manager  *SysResourceQuantity `yaml:"manager"`
	PfsdTool *SysResourceQuantity `yaml:"pfsdTool" binding:"omitempty"`
	Pfsd     *SysResourceQuantity `yaml:"pfsd" binding:"omitempty"`
}

type SysResourceConfig

type SysResourceConfig struct {
	Single        SysResource `yaml:"single"`
	ReadWriteMany SysResource `yaml:"readWriteMany"`
}

func GetSysResConfig

func GetSysResConfig(logger logr.Logger) (conf *SysResourceConfig, err error)

type SysResourceQuantity

type SysResourceQuantity struct {
	Limits   ResourceQuantity `yaml:"limits"`
	Requests ResourceQuantity `yaml:"requests"`
}

Jump to

Keyboard shortcuts

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