Documentation ¶
Index ¶
- Constants
- func MasterClientURL(namespace, clusterName, scheme string) string
- func MasterPeerClientURL(namespace, clusterName, podName, scheme string) string
- type Action
- type ActionType
- type FakeMasterClient
- func (c *FakeMasterClient) AddReaction(actionType ActionType, reaction Reaction)
- func (c *FakeMasterClient) DeleteMaster(_ string) error
- func (c *FakeMasterClient) DeleteWorker(_ string) error
- func (c *FakeMasterClient) EvictLeader() error
- func (c *FakeMasterClient) GetLeader() (MembersLeader, error)
- func (c *FakeMasterClient) GetMasters() ([]*MastersInfo, error)
- func (c *FakeMasterClient) GetWorkers() ([]*WorkersInfo, error)
- type FakeMasterControl
- func (fmc *FakeMasterControl) GetMasterClient(namespace string, dcName string, tlsEnabled bool) MasterClient
- func (fmc *FakeMasterControl) GetMasterPeerClient(namespace, dcName, podName string, tlsEnabled bool) MasterClient
- func (fmc *FakeMasterControl) SetMasterClient(namespace, dcName string, masterClient MasterClient)
- func (fmc *FakeMasterControl) SetMasterPeerClient(namespace, dcName, podName string, masterPeerClient MasterClient)
- type LeaderResp
- type ListMemberLeader
- type ListMemberMaster
- type ListMemberWorker
- type MasterClient
- type MasterControlInterface
- type MastersInfo
- type MastersResp
- type MembersLeader
- type MembersMaster
- type MembersWorker
- type NotFoundReaction
- type Reaction
- type RespHeader
- type WorkerResp
- type WorkersInfo
Constants ¶
View Source
const (
DefaultTimeout = 5 * time.Second
)
Variables ¶
This section is empty.
Functions ¶
func MasterClientURL ¶
MasterClientURL builds the url of master client
func MasterPeerClientURL ¶
MasterPeerClientURL builds the url of master peer client. It's used to evict leader because dm can't forward evict leader command now
Types ¶
type ActionType ¶
type ActionType string
const ( GetMastersActionType ActionType = "GetMasters" GetWorkersActionType ActionType = "GetWorkers" GetLeaderActionType ActionType = "GetLeader" EvictLeaderActionType ActionType = "EvictLeader" DeleteMasterActionType ActionType = "DeleteMaster" DeleteWorkerActionType ActionType = "DeleteWorker" )
type FakeMasterClient ¶
type FakeMasterClient struct {
// contains filtered or unexported fields
}
FakeMasterClient implements a fake version of MasterClient.
func NewFakeMasterClient ¶
func NewFakeMasterClient() *FakeMasterClient
func (*FakeMasterClient) AddReaction ¶
func (c *FakeMasterClient) AddReaction(actionType ActionType, reaction Reaction)
func (*FakeMasterClient) DeleteMaster ¶
func (c *FakeMasterClient) DeleteMaster(_ string) error
func (*FakeMasterClient) DeleteWorker ¶
func (c *FakeMasterClient) DeleteWorker(_ string) error
func (*FakeMasterClient) EvictLeader ¶
func (c *FakeMasterClient) EvictLeader() error
func (*FakeMasterClient) GetLeader ¶
func (c *FakeMasterClient) GetLeader() (MembersLeader, error)
func (*FakeMasterClient) GetMasters ¶
func (c *FakeMasterClient) GetMasters() ([]*MastersInfo, error)
func (*FakeMasterClient) GetWorkers ¶
func (c *FakeMasterClient) GetWorkers() ([]*WorkersInfo, error)
type FakeMasterControl ¶
type FakeMasterControl struct {
// contains filtered or unexported fields
}
FakeMasterControl implements a fake version of MasterControlInterface.
func NewFakeMasterControl ¶
func NewFakeMasterControl(kubeCli kubernetes.Interface) *FakeMasterControl
func (*FakeMasterControl) GetMasterClient ¶
func (fmc *FakeMasterControl) GetMasterClient(namespace string, dcName string, tlsEnabled bool) MasterClient
func (*FakeMasterControl) GetMasterPeerClient ¶
func (fmc *FakeMasterControl) GetMasterPeerClient(namespace, dcName, podName string, tlsEnabled bool) MasterClient
func (*FakeMasterControl) SetMasterClient ¶
func (fmc *FakeMasterControl) SetMasterClient(namespace, dcName string, masterClient MasterClient)
func (*FakeMasterControl) SetMasterPeerClient ¶
func (fmc *FakeMasterControl) SetMasterPeerClient(namespace, dcName, podName string, masterPeerClient MasterClient)
type LeaderResp ¶
type LeaderResp struct { RespHeader `json:",inline"` ListMemberResp []*ListMemberLeader `json:"members,omitempty"` }
type ListMemberLeader ¶
type ListMemberLeader struct {
MembersLeader `json:"leader,omitempty"`
}
type ListMemberMaster ¶
type ListMemberMaster struct {
MembersMaster `json:"master,omitempty"`
}
type ListMemberWorker ¶
type ListMemberWorker struct {
MembersWorker `json:"worker,omitempty"`
}
type MasterClient ¶
type MasterClient interface { // GetMasters returns all master members from cluster GetMasters() ([]*MastersInfo, error) GetWorkers() ([]*WorkersInfo, error) GetLeader() (MembersLeader, error) EvictLeader() error DeleteMaster(name string) error DeleteWorker(name string) error }
MasterClient provides master server's api
func NewMasterClient ¶
func NewMasterClient(url string, timeout time.Duration, tlsConfig *tls.Config, disableKeepalive bool) MasterClient
NewMasterClient returns a new MasterClient
type MasterControlInterface ¶
type MasterControlInterface interface { // GetMasterClient provides MasterClient of the dm cluster. GetMasterClient(namespace string, dcName string, tlsEnabled bool) MasterClient GetMasterPeerClient(namespace string, dcName, podName string, tlsEnabled bool) MasterClient }
MasterControlInterface is an interface that knows how to manage and get dm cluster's master client
func NewDefaultMasterControl ¶
func NewDefaultMasterControl(kubeCli kubernetes.Interface) MasterControlInterface
NewDefaultMasterControl returns a defaultMasterControl instance
type MastersInfo ¶
type MastersResp ¶
type MastersResp struct { RespHeader `json:",inline"` ListMemberResp []*ListMemberMaster `json:"members,omitempty"` }
type MembersLeader ¶
type MembersMaster ¶
type MembersMaster struct { Msg string `json:"msg,omitempty"` Masters []*MastersInfo `json:"masters,omitempty"` }
type MembersWorker ¶
type MembersWorker struct { Msg string `json:"msg,omitempty"` Workers []*WorkersInfo `json:"workers,omitempty"` }
type NotFoundReaction ¶
type NotFoundReaction struct {
// contains filtered or unexported fields
}
func (*NotFoundReaction) Error ¶
func (nfr *NotFoundReaction) Error() string
type RespHeader ¶
type WorkerResp ¶
type WorkerResp struct { RespHeader `json:",inline"` ListMemberResp []*ListMemberWorker `json:"members,omitempty"` }
Click to show internal directories.
Click to hide internal directories.