Documentation
¶
Index ¶
- Constants
- func GetAffinityConfigOrDie(clusterName, namespace string) string
- func GetApiserverPod(kubeCli kubernetes.Interface, node string) (*corev1.Pod, error)
- func GetControllerManagerPod(kubeCli kubernetes.Interface, node string) (*corev1.Pod, error)
- func GetDNSPod(kubeCli kubernetes.Interface, node string) (*corev1.Pod, error)
- func GetKubeComponent(kubeCli kubernetes.Interface, node string, componentName string) (*corev1.Pod, error)
- func GetPodStatus(pod *corev1.Pod) string
- func GetSchedulerPod(kubeCli kubernetes.Interface, node string) (*corev1.Pod, error)
- func KeepOrDie(interval time.Duration, period time.Duration, fun func() error)
- func SelectNode(nodes []Nodes) string
- func StartValidatingAdmissionWebhookServerOrDie(context *apimachinery.CertContext)
- type AffinityInfo
- type Config
- type FaultTriggerActions
- type Nodes
- type OperatorActions
- type OperatorConfig
- type RegionInfo
- type RegionsInfo
- type TidbClusterConfig
- func (tc *TidbClusterConfig) BackupHelmSetString(m map[string]string) string
- func (tc *TidbClusterConfig) DSN(dbName string) string
- func (tc *TidbClusterConfig) DataIsTheSameAs(otherInfo *TidbClusterConfig) (bool, error)
- func (tc *TidbClusterConfig) FullName() string
- func (tc *TidbClusterConfig) ScalePD(replicas uint) *TidbClusterConfig
- func (tc *TidbClusterConfig) ScaleTiDB(replicas uint) *TidbClusterConfig
- func (tc *TidbClusterConfig) ScaleTiKV(replicas uint) *TidbClusterConfig
- func (tc *TidbClusterConfig) String() string
- func (tc *TidbClusterConfig) TidbClusterHelmSetString(m map[string]string) string
- func (tc *TidbClusterConfig) UpdatePDLogLevel(logLevel string) *TidbClusterConfig
- func (tc *TidbClusterConfig) UpdatePdMaxReplicas(maxReplicas int) *TidbClusterConfig
- func (tc *TidbClusterConfig) UpdateTiDBTokenLimit(tokenLimit int) *TidbClusterConfig
- func (tc *TidbClusterConfig) UpdateTiKVGrpcConcurrency(concurrency int) *TidbClusterConfig
- func (tc *TidbClusterConfig) UpgradeAll(tag string) *TidbClusterConfig
- func (tc *TidbClusterConfig) UpgradePD(image string) *TidbClusterConfig
- func (tc *TidbClusterConfig) UpgradeTiDB(image string) *TidbClusterConfig
- func (tc *TidbClusterConfig) UpgradeTiKV(image string) *TidbClusterConfig
Constants ¶
View Source
const ( // NodeUnreachablePodReason is defined in k8s.io/kubernetes/pkg/util/node // but not in client-go and apimachinery, so we define it here NodeUnreachablePodReason = "NodeLost" WebhookServiceName = "webhook-service" )
View Source
const ( DefaultPollTimeout time.Duration = 10 * time.Minute DefaultPollInterval time.Duration = 1 * time.Minute BackupAndRestorePollTimeOut time.Duration = 60 * time.Minute )
View Source
const ( RackLabel = "rack" RackNum = 3 )
Variables ¶
This section is empty.
Functions ¶
func GetAffinityConfigOrDie ¶
func GetApiserverPod ¶
func GetControllerManagerPod ¶
func GetKubeComponent ¶
func GetPodStatus ¶
func GetSchedulerPod ¶
func SelectNode ¶
func StartValidatingAdmissionWebhookServerOrDie ¶
func StartValidatingAdmissionWebhookServerOrDie(context *apimachinery.CertContext)
Types ¶
type AffinityInfo ¶
type Config ¶
type Config struct {
TidbVersions string `yaml:"tidb_versions" json:"tidb_versions"`
OperatorTag string `yaml:"operator_tag" json:"operator_tag"`
OperatorImage string `yaml:"operator_image" json:"operator_image"`
LogDir string `yaml:"log_dir" json:"log_dir"`
FaultTriggerPort int `yaml:"fault_trigger_port" json:"fault_trigger_port"`
Nodes []Nodes `yaml:"nodes" json:"nodes"`
ETCDs []Nodes `yaml:"etcds" json:"etcds"`
APIServers []Nodes `yaml:"apiservers" json:"apiservers"`
CertFile string
KeyFile string
PDMaxReplicas int `yaml:"pd_max_replicas" json:"pd_max_replicas"`
TiKVGrpcConcurrency int `yaml:"tikv_grpc_concurrency" json:"tikv_grpc_concurrency"`
TiDBTokenLimit int `yaml:"tidb_token_limit" json:"tidb_token_limit"`
// Block writer
BlockWriter blockwriter.Config `yaml:"block_writer,omitempty"`
// For local test
OperatorRepoUrl string `yaml:"operator_repo_url" json:"operator_repo_url"`
OperatorRepoDir string `yaml:"operator_repo_dir" json:"operator_repo_dir"`
// chart dir
ChartDir string `yaml:"chart_dir" json:"chart_dir"`
// manifest dir
ManifestDir string `yaml:"manifest_dir" json:"manifest_dir"`
// contains filtered or unexported fields
}
Config defines the config of operator tests
func ParseConfigOrDie ¶
func ParseConfigOrDie() *Config
func (*Config) CleanTempDirs ¶
func (*Config) GetTiDBVersion ¶
func (*Config) GetTiDBVersionOrDie ¶
func (*Config) GetUpgradeTidbVersions ¶
func (*Config) GetUpgradeTidbVersionsOrDie ¶
type FaultTriggerActions ¶
type FaultTriggerActions interface {
CheckAndRecoverEnv() error
CheckAndRecoverEnvOrDie()
StopNode() (string, string, time.Time, error)
StopNodeOrDie() (string, string, time.Time)
StartNode(physicalNode string, node string) error
StartNodeOrDie(physicalNode string, node string)
StopETCD(nodes ...string) error
StopETCDOrDie(nodes ...string)
StartETCD(nodes ...string) error
StartETCDOrDie(nodes ...string)
StopKubelet(node string) error
StartKubelet(node string) error
StopKubeAPIServer(node string) error
StopKubeAPIServerOrDie(node string)
StartKubeAPIServer(node string) error
StartKubeAPIServerOrDie(node string)
StopKubeControllerManager(node string) error
StartKubeControllerManager(node string) error
StopKubeScheduler(node string) error
StartKubeScheduler(node string) error
}
func NewFaultTriggerAction ¶
func NewFaultTriggerAction(cli versioned.Interface, kubeCli kubernetes.Interface, cfg *Config) FaultTriggerActions
type Nodes ¶
type Nodes struct {
PhysicalNode string `yaml:"physical_node" json:"physical_node"`
Nodes []string `yaml:"nodes" json:"nodes"`
}
Nodes defines a series of nodes that belong to the same physical node.
type OperatorActions ¶
type OperatorActions interface {
DeployOperator(info *OperatorConfig) error
DeployOperatorOrDie(info *OperatorConfig)
CleanOperator(info *OperatorConfig) error
CleanOperatorOrDie(info *OperatorConfig)
UpgradeOperator(info *OperatorConfig) error
DumpAllLogs(info *OperatorConfig, clusterInfos []*TidbClusterConfig) error
DeployTidbCluster(info *TidbClusterConfig) error
DeployTidbClusterOrDie(info *TidbClusterConfig)
CleanTidbCluster(info *TidbClusterConfig) error
CleanTidbClusterOrDie(info *TidbClusterConfig)
CheckTidbClusterStatus(info *TidbClusterConfig) error
CheckTidbClusterStatusOrDie(info *TidbClusterConfig)
BeginInsertDataTo(info *TidbClusterConfig) error
BeginInsertDataToOrDie(info *TidbClusterConfig)
StopInsertDataTo(info *TidbClusterConfig)
ScaleTidbCluster(info *TidbClusterConfig) error
ScaleTidbClusterOrDie(info *TidbClusterConfig)
CheckScaleInSafely(info *TidbClusterConfig) error
CheckScaledCorrectly(info *TidbClusterConfig, podUIDsBeforeScale map[string]types.UID) error
UpgradeTidbCluster(info *TidbClusterConfig) error
UpgradeTidbClusterOrDie(info *TidbClusterConfig)
DeployAdHocBackup(info *TidbClusterConfig) error
CheckAdHocBackup(info *TidbClusterConfig) (string, error)
DeployScheduledBackup(info *TidbClusterConfig) error
CheckScheduledBackup(info *TidbClusterConfig) error
DeployIncrementalBackup(from *TidbClusterConfig, to *TidbClusterConfig, withDrainer bool, ts string) error
CheckIncrementalBackup(info *TidbClusterConfig, withDrainer bool) error
Restore(from *TidbClusterConfig, to *TidbClusterConfig) error
CheckRestore(from *TidbClusterConfig, to *TidbClusterConfig) error
ForceDeploy(info *TidbClusterConfig) error
CreateSecret(info *TidbClusterConfig) error
GetPodUIDMap(info *TidbClusterConfig) (map[string]types.UID, error)
GetNodeMap(info *TidbClusterConfig, component string) (map[string][]string, error)
TruncateSSTFileThenCheckFailover(info *TidbClusterConfig, tikvFailoverPeriod time.Duration) error
TruncateSSTFileThenCheckFailoverOrDie(info *TidbClusterConfig, tikvFailoverPeriod time.Duration)
CheckFailoverPending(info *TidbClusterConfig, node string, faultPoint *time.Time) (bool, error)
CheckFailoverPendingOrDie(clusters []*TidbClusterConfig, node string, faultPoint *time.Time)
CheckFailover(info *TidbClusterConfig, faultNode string) (bool, error)
CheckFailoverOrDie(clusters []*TidbClusterConfig, faultNode string)
CheckRecover(cluster *TidbClusterConfig) (bool, error)
CheckRecoverOrDie(clusters []*TidbClusterConfig)
CheckK8sAvailable(excludeNodes map[string]string, excludePods map[string]*corev1.Pod) error
CheckK8sAvailableOrDie(excludeNodes map[string]string, excludePods map[string]*corev1.Pod)
CheckOperatorAvailable(operatorConfig *OperatorConfig) error
CheckTidbClustersAvailable(infos []*TidbClusterConfig) error
CheckOperatorDownOrDie(infos []*TidbClusterConfig)
CheckTidbClustersAvailableOrDie(infos []*TidbClusterConfig)
CheckOneEtcdDownOrDie(operatorConfig *OperatorConfig, clusters []*TidbClusterConfig, faultNode string)
CheckOneApiserverDownOrDie(operatorConfig *OperatorConfig, clusters []*TidbClusterConfig, faultNode string)
RegisterWebHookAndService(context *apimachinery.CertContext, info *OperatorConfig) error
RegisterWebHookAndServiceOrDie(context *apimachinery.CertContext, info *OperatorConfig)
CleanWebHookAndService(info *OperatorConfig) error
EventWorker()
EmitEvent(info *TidbClusterConfig, msg string)
BackupRestore(from, to *TidbClusterConfig) error
BackupRestoreOrDie(from, to *TidbClusterConfig)
LabelNodes() error
LabelNodesOrDie()
CheckDisasterTolerance(info *TidbClusterConfig) error
CheckDisasterToleranceOrDie(info *TidbClusterConfig)
CheckDataRegionDisasterTolerance(info *TidbClusterConfig) error
CheckDataRegionDisasterToleranceOrDie(info *TidbClusterConfig)
GetTidbMemberAssignedNodes(info *TidbClusterConfig) (map[string]string, error)
GetTidbMemberAssignedNodesOrDie(info *TidbClusterConfig) map[string]string
CheckTidbMemberAssignedNodes(info *TidbClusterConfig, oldAssignedNodes map[string]string) error
CheckTidbMemberAssignedNodesOrDie(info *TidbClusterConfig, oldAssignedNodes map[string]string)
SetPartitionAnnotation(tcName string, nameSpace string, ordinal int) error
CheckManualPauseTiDB(info *TidbClusterConfig) error
CheckManualPauseTiDBOrDie(info *TidbClusterConfig)
}
func NewOperatorActions ¶
func NewOperatorActions(cli versioned.Interface, kubeCli kubernetes.Interface, pollInterval time.Duration, cfg *Config, clusters []*TidbClusterConfig) OperatorActions
type OperatorConfig ¶
type OperatorConfig struct {
Namespace string
ReleaseName string
Image string
Tag string
SchedulerImage string
SchedulerTag string
SchedulerFeatures []string
LogLevel string
WebhookServiceName string
WebhookSecretName string
WebhookConfigName string
Context *apimachinery.CertContext
ImagePullPolicy corev1.PullPolicy
}
func (*OperatorConfig) OperatorHelmSetString ¶
func (oi *OperatorConfig) OperatorHelmSetString(m map[string]string) string
type RegionInfo ¶
type RegionInfo struct {
ID uint64 `json:"id"`
StartKey string `json:"start_key"`
EndKey string `json:"end_key"`
RegionEpoch *metapb.RegionEpoch `json:"epoch,omitempty"`
Peers []*metapb.Peer `json:"peers,omitempty"`
Leader *metapb.Peer `json:"leader,omitempty"`
DownPeers []*pdpb.PeerStats `json:"down_peers,omitempty"`
PendingPeers []*metapb.Peer `json:"pending_peers,omitempty"`
WrittenBytes uint64 `json:"written_bytes,omitempty"`
ReadBytes uint64 `json:"read_bytes,omitempty"`
ApproximateSize int64 `json:"approximate_size,omitempty"`
ApproximateKeys int64 `json:"approximate_keys,omitempty"`
}
RegionInfo records detail region info for api usage.
type RegionsInfo ¶
type RegionsInfo struct {
Count int `json:"count"`
Regions []*RegionInfo `json:"regions"`
}
RegionsInfo contains some regions with the detailed region info.
type TidbClusterConfig ¶
type TidbClusterConfig struct {
BackupName string
Namespace string
ClusterName string
OperatorTag string
PDImage string
TiKVImage string
TiDBImage string
StorageClassName string
Password string
RecordCount string
InsertBatchSize string
Resources map[string]string
Args map[string]string
Monitor bool
UserName string
InitSecretName string
BackupSecretName string
EnableConfigMapRollout bool
PDMaxReplicas int
TiKVGrpcConcurrency int
TiDBTokenLimit int
PDLogLevel string
PDPreStartScript string
TiDBPreStartScript string
TiKVPreStartScript string
BlockWriteConfig blockwriter.Config
GrafanaClient *metrics.Client
SubValues string
// contains filtered or unexported fields
}
func (*TidbClusterConfig) BackupHelmSetString ¶
func (tc *TidbClusterConfig) BackupHelmSetString(m map[string]string) string
func (*TidbClusterConfig) DSN ¶
func (tc *TidbClusterConfig) DSN(dbName string) string
func (*TidbClusterConfig) DataIsTheSameAs ¶
func (tc *TidbClusterConfig) DataIsTheSameAs(otherInfo *TidbClusterConfig) (bool, error)
func (*TidbClusterConfig) FullName ¶
func (tc *TidbClusterConfig) FullName() string
func (*TidbClusterConfig) ScalePD ¶
func (tc *TidbClusterConfig) ScalePD(replicas uint) *TidbClusterConfig
func (*TidbClusterConfig) ScaleTiDB ¶
func (tc *TidbClusterConfig) ScaleTiDB(replicas uint) *TidbClusterConfig
func (*TidbClusterConfig) ScaleTiKV ¶
func (tc *TidbClusterConfig) ScaleTiKV(replicas uint) *TidbClusterConfig
func (*TidbClusterConfig) String ¶
func (tc *TidbClusterConfig) String() string
func (*TidbClusterConfig) TidbClusterHelmSetString ¶
func (tc *TidbClusterConfig) TidbClusterHelmSetString(m map[string]string) string
func (*TidbClusterConfig) UpdatePDLogLevel ¶
func (tc *TidbClusterConfig) UpdatePDLogLevel(logLevel string) *TidbClusterConfig
func (*TidbClusterConfig) UpdatePdMaxReplicas ¶
func (tc *TidbClusterConfig) UpdatePdMaxReplicas(maxReplicas int) *TidbClusterConfig
FIXME: update of PD configuration do not work now #487
func (*TidbClusterConfig) UpdateTiDBTokenLimit ¶
func (tc *TidbClusterConfig) UpdateTiDBTokenLimit(tokenLimit int) *TidbClusterConfig
func (*TidbClusterConfig) UpdateTiKVGrpcConcurrency ¶
func (tc *TidbClusterConfig) UpdateTiKVGrpcConcurrency(concurrency int) *TidbClusterConfig
func (*TidbClusterConfig) UpgradeAll ¶
func (tc *TidbClusterConfig) UpgradeAll(tag string) *TidbClusterConfig
func (*TidbClusterConfig) UpgradePD ¶
func (tc *TidbClusterConfig) UpgradePD(image string) *TidbClusterConfig
func (*TidbClusterConfig) UpgradeTiDB ¶
func (tc *TidbClusterConfig) UpgradeTiDB(image string) *TidbClusterConfig
func (*TidbClusterConfig) UpgradeTiKV ¶
func (tc *TidbClusterConfig) UpgradeTiKV(image string) *TidbClusterConfig
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
e2e
command
|
|
|
fault-trigger
command
|
|
|
stability
command
|
|
|
pkg
|
|
|
validation
module
|
Click to show internal directories.
Click to hide internal directories.