meta

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 28, 2020 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MetaFileName is the file name of the meta file.
	MetaFileName = "meta.yaml"
	// PatchDirName is the directory to store patch file eg. {PatchDirName}/tidb-hotfix.tar.gz
	PatchDirName = "patch"
	// BackupDirName is the directory to save backup files.
	BackupDirName = "backup"
)
View Source
const (
	ComponentDMMaster         = "dm_master"
	ComponentDMWorker         = "dm_worker"
	ComponentTiDB             = "tidb"
	ComponentTiKV             = "tikv"
	ComponentPD               = "pd"
	ComponentTiFlash          = "tiflash"
	ComponentGrafana          = "grafana"
	ComponentDrainer          = "drainer"
	ComponentPump             = "pump"
	ComponentCDC              = "cdc"
	ComponentAlertManager     = "alertmanager"
	ComponentPrometheus       = "prometheus"
	ComponentPushwaygate      = "pushgateway"
	ComponentBlackboxExporter = "blackbox_exporter"
	ComponentNodeExporter     = "node_exporter"
	ComponentCheckCollector   = "insight"
)

Components names supported by TiOps

View Source
const (
	TiOpsPackageCacheDir = "packages"
	TiOpsClusterDir      = "clusters"
	TiOpsAuditDir        = "audit"
)

sub directory names

View Source
const (
	// AnsibleImportedConfigPath is the sub path where all imported configs are stored
	AnsibleImportedConfigPath = "ansible-imported-configs"
	// TempConfigPath is the sub path where generated temporary configs are stored
	TempConfigPath = "config-cache"
)

Variables

View Source
var (

	// ErrClusterCreateDirFailed is ErrClusterCreateDirFailed
	ErrClusterCreateDirFailed = errNSCluster.NewType("create_dir_failed")
	// ErrClusterSaveMetaFailed is ErrClusterSaveMetaFailed
	ErrClusterSaveMetaFailed = errNSCluster.NewType("save_meta_failed")
)
View Source
var (
	RoleMonitor = "monitor"
)

general role names

Functions

func AllComponentNames added in v0.5.0

func AllComponentNames() (roles []string)

AllComponentNames contains the names of all components. should include all components in ComponentsByStartOrder

func ClusterPath

func ClusterPath(cluster string, subpath ...string) string

ClusterPath returns the full path to a subpath (file or directory) of a cluster, it is a subdir in the profile dir of the user, with the cluster name as its name. It is not guaranteed the path already exist.

func ComponentVersion added in v0.6.0

func ComponentVersion(comp, version string) string

ComponentVersion maps the TiDB version to the third components binding version

func EnsureClusterDir

func EnsureClusterDir(clusterName string) error

EnsureClusterDir ensures that the cluster directory exists.

func HandleImportPathMigration added in v0.6.3

func HandleImportPathMigration(clsName string) error

HandleImportPathMigration tries to rename old configs file directory for imported clusters to the new name

func Initialize

func Initialize(base string) error

Initialize initializes the global variables of meta package. If the environment variable TIUP_COMPONENT_DATA_DIR is set, it is used as root of the profile directory, otherwise the `$HOME/.tiops` of current user is used. The directory will be created before return if it does not already exist.

func PortStarted

func PortStarted(e executor.TiOpsExecutor, port int, timeout int64) error

PortStarted wait until a port is being listened

func PortStopped

func PortStopped(e executor.TiOpsExecutor, port int, timeout int64) error

PortStopped wait until a port is being released

func ProfileDir

func ProfileDir() string

ProfileDir returns the full profile directory path of TiOps.

func ProfilePath

func ProfilePath(subpath ...string) string

ProfilePath joins a path under the profile dir

func SaveClusterMeta

func SaveClusterMeta(clusterName string, meta *ClusterMeta) error

SaveClusterMeta saves the cluster meta information to profile directory

func SaveDMMeta added in v0.5.0

func SaveDMMeta(clusterName string, meta *DMMeta) error

SaveDMMeta saves the cluster meta information to profile directory

func SetTiupEnv added in v0.6.3

func SetTiupEnv(env *tiupmeta.Environment)

SetTiupEnv the gloable env used.

func TiupEnv added in v0.6.3

func TiupEnv() *tiupmeta.Environment

TiupEnv Get the gloable env used.

Types

type AlertManagerComponent

type AlertManagerComponent struct{ *ClusterSpecification }

AlertManagerComponent represents Alertmanager component.

func (*AlertManagerComponent) Instances

func (c *AlertManagerComponent) Instances() []Instance

Instances implements Component interface.

func (*AlertManagerComponent) Name

func (c *AlertManagerComponent) Name() string

Name implements Component interface.

type AlertManagerInstance

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

AlertManagerInstance represent the alert manager instance

func (*AlertManagerInstance) Arch added in v0.6.1

func (i *AlertManagerInstance) Arch() string

func (*AlertManagerInstance) ComponentName

func (i *AlertManagerInstance) ComponentName() string

ComponentName implements Instance interface

func (*AlertManagerInstance) DataDir

func (i *AlertManagerInstance) DataDir() string

func (*AlertManagerInstance) DeployDir

func (i *AlertManagerInstance) DeployDir() string

func (*AlertManagerInstance) GetHost

func (i *AlertManagerInstance) GetHost() string

GetHost implements Instance interface

func (*AlertManagerInstance) GetPort

func (i *AlertManagerInstance) GetPort() int

func (*AlertManagerInstance) GetSSHPort

func (i *AlertManagerInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*AlertManagerInstance) ID

func (i *AlertManagerInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*AlertManagerInstance) InitConfig

func (i *AlertManagerInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implement Instance interface

func (*AlertManagerInstance) InstanceName

func (i *AlertManagerInstance) InstanceName() string

InstanceName implements Instance interface

func (*AlertManagerInstance) LogDir

func (i *AlertManagerInstance) LogDir() string

func (*AlertManagerInstance) OS added in v0.6.1

func (i *AlertManagerInstance) OS() string

func (*AlertManagerInstance) PrepareStart added in v0.6.2

func (i *AlertManagerInstance) PrepareStart() error

PrepareStart checks instance requirements before starting

func (*AlertManagerInstance) Ready

func (i *AlertManagerInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*AlertManagerInstance) ScaleConfig

func (i *AlertManagerInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification,
	clusterName string, clusterVersion string, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*AlertManagerInstance) ServiceName

func (i *AlertManagerInstance) ServiceName() string

ServiceName implements Instance interface

func (*AlertManagerInstance) Status

func (i *AlertManagerInstance) Status(pdList ...string) string

func (*AlertManagerInstance) UsedDirs

func (i *AlertManagerInstance) UsedDirs() []string

func (*AlertManagerInstance) UsedPorts

func (i *AlertManagerInstance) UsedPorts() []int

func (*AlertManagerInstance) WaitForDown

func (i *AlertManagerInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type AlertManagerSpec

type AlertManagerSpec struct {
	Host            string          `yaml:"host"`
	SSHPort         int             `yaml:"ssh_port,omitempty"`
	Imported        bool            `yaml:"imported,omitempty"`
	WebPort         int             `yaml:"web_port" default:"9093"`
	ClusterPort     int             `yaml:"cluster_port" default:"9094"`
	DeployDir       string          `yaml:"deploy_dir,omitempty"`
	DataDir         string          `yaml:"data_dir,omitempty"`
	LogDir          string          `yaml:"log_dir,omitempty"`
	NumaNode        string          `yaml:"numa_node,omitempty"`
	ResourceControl ResourceControl `yaml:"resource_control,omitempty"`
	Arch            string          `yaml:"arch,omitempty"`
	OS              string          `yaml:"os,omitempty"`
}

AlertManagerSpec represents the AlertManager topology specification in topology.yaml

func (AlertManagerSpec) GetMainPort

func (s AlertManagerSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (AlertManagerSpec) IsImported

func (s AlertManagerSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (AlertManagerSpec) Role

func (s AlertManagerSpec) Role() string

Role returns the component role of the instance

func (AlertManagerSpec) SSH

func (s AlertManagerSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

type CDCComponent added in v0.6.0

type CDCComponent struct{ *ClusterSpecification }

CDCComponent represents CDC component.

func (*CDCComponent) Instances added in v0.6.0

func (c *CDCComponent) Instances() []Instance

Instances implements Component interface.

func (*CDCComponent) Name added in v0.6.0

func (c *CDCComponent) Name() string

Name implements Component interface.

type CDCInstance added in v0.6.0

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

CDCInstance represent the CDC instance.

func (*CDCInstance) Arch added in v0.6.1

func (i *CDCInstance) Arch() string

func (*CDCInstance) ComponentName added in v0.6.0

func (i *CDCInstance) ComponentName() string

ComponentName implements Instance interface

func (*CDCInstance) DataDir added in v0.6.0

func (i *CDCInstance) DataDir() string

func (*CDCInstance) DeployDir added in v0.6.0

func (i *CDCInstance) DeployDir() string

func (*CDCInstance) GetHost added in v0.6.0

func (i *CDCInstance) GetHost() string

GetHost implements Instance interface

func (*CDCInstance) GetPort added in v0.6.0

func (i *CDCInstance) GetPort() int

func (*CDCInstance) GetSSHPort added in v0.6.0

func (i *CDCInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*CDCInstance) ID added in v0.6.0

func (i *CDCInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*CDCInstance) InitConfig added in v0.6.0

func (i *CDCInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implements Instance interface.

func (*CDCInstance) InstanceName added in v0.6.0

func (i *CDCInstance) InstanceName() string

InstanceName implements Instance interface

func (*CDCInstance) LogDir added in v0.6.0

func (i *CDCInstance) LogDir() string

func (*CDCInstance) OS added in v0.6.1

func (i *CDCInstance) OS() string

func (*CDCInstance) PrepareStart added in v0.6.2

func (i *CDCInstance) PrepareStart() error

PrepareStart checks instance requirements before starting

func (*CDCInstance) Ready added in v0.6.0

func (i *CDCInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*CDCInstance) ScaleConfig added in v0.6.0

func (i *CDCInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification, clusterName, clusterVersion, user string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*CDCInstance) ServiceName added in v0.6.0

func (i *CDCInstance) ServiceName() string

ServiceName implements Instance interface

func (*CDCInstance) Status added in v0.6.0

func (i *CDCInstance) Status(pdList ...string) string

func (*CDCInstance) UsedDirs added in v0.6.0

func (i *CDCInstance) UsedDirs() []string

func (*CDCInstance) UsedPorts added in v0.6.0

func (i *CDCInstance) UsedPorts() []int

func (*CDCInstance) WaitForDown added in v0.6.0

func (i *CDCInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type CDCSpec added in v0.6.0

type CDCSpec struct {
	Host            string                 `yaml:"host"`
	SSHPort         int                    `yaml:"ssh_port,omitempty"`
	Imported        bool                   `yaml:"imported,omitempty"`
	Port            int                    `yaml:"port" default:"8300"`
	DeployDir       string                 `yaml:"deploy_dir,omitempty"`
	LogDir          string                 `yaml:"log_dir,omitempty"`
	Offline         bool                   `yaml:"offline,omitempty"`
	NumaNode        string                 `yaml:"numa_node,omitempty"`
	Config          map[string]interface{} `yaml:"config,omitempty"`
	ResourceControl ResourceControl        `yaml:"resource_control,omitempty"`
	Arch            string                 `yaml:"arch,omitempty"`
	OS              string                 `yaml:"os,omitempty"`
}

CDCSpec represents the Drainer topology specification in topology.yaml

func (CDCSpec) GetMainPort added in v0.6.0

func (s CDCSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (CDCSpec) IsImported added in v0.6.0

func (s CDCSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (CDCSpec) Role added in v0.6.0

func (s CDCSpec) Role() string

Role returns the component role of the instance

func (CDCSpec) SSH added in v0.6.0

func (s CDCSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

type ClusterMeta

type ClusterMeta struct {
	User    string `yaml:"user"`         // the user to run and manage cluster on remote
	Version string `yaml:"tidb_version"` // the version of TiDB cluster
	//EnableTLS      bool   `yaml:"enable_tls"`
	//EnableFirewall bool   `yaml:"firewall"`
	OpsVer string `yaml:"last_ops_ver,omitempty"` // the version of ourself that updated the meta last time

	Topology *TopologySpecification `yaml:"topology"`
}

ClusterMeta is the specification of generic cluster metadata

func ClusterMetadata

func ClusterMetadata(clusterName string) (*ClusterMeta, error)

ClusterMetadata tries to read the metadata of a cluster from file

type ClusterSpecification added in v0.5.0

type ClusterSpecification = TopologySpecification

ClusterSpecification of cluster

func (*ClusterSpecification) AlertManagerEndpoints added in v0.6.0

func (topo *ClusterSpecification) AlertManagerEndpoints(user string) []*scripts.AlertManagerScript

AlertManagerEndpoints returns the AlertManager endpoints configurations

func (*ClusterSpecification) ComponentsByStartOrder added in v0.5.0

func (topo *ClusterSpecification) ComponentsByStartOrder() (comps []Component)

ComponentsByStartOrder return component in the order need to start.

func (*ClusterSpecification) ComponentsByStopOrder added in v0.5.0

func (topo *ClusterSpecification) ComponentsByStopOrder() (comps []Component)

ComponentsByStopOrder return component in the order need to stop.

func (*ClusterSpecification) ComponentsByUpdateOrder added in v0.6.3

func (topo *ClusterSpecification) ComponentsByUpdateOrder() (comps []Component)

ComponentsByUpdateOrder return component in the order need to be updated.

func (*ClusterSpecification) Endpoints added in v0.5.0

func (topo *ClusterSpecification) Endpoints(user string) []*scripts.PDScript

Endpoints returns the PD endpoints configurations

func (*ClusterSpecification) GetClusterSpecification added in v0.5.0

func (topo *ClusterSpecification) GetClusterSpecification() *ClusterSpecification

GetClusterSpecification returns cluster topology

func (*ClusterSpecification) GetDMSpecification added in v0.5.0

func (topo *ClusterSpecification) GetDMSpecification() *DMSpecification

GetDMSpecification returns dm topology

func (*ClusterSpecification) GetGlobalOptions added in v0.5.0

func (topo *ClusterSpecification) GetGlobalOptions() GlobalOptions

GetGlobalOptions returns GlobalOptions

func (*ClusterSpecification) GetMonitoredOptions added in v0.5.0

func (topo *ClusterSpecification) GetMonitoredOptions() MonitoredOptions

GetMonitoredOptions returns MonitoredOptions

func (*ClusterSpecification) IterComponent added in v0.5.0

func (topo *ClusterSpecification) IterComponent(fn func(comp Component))

IterComponent iterates all components in component starting order

func (*ClusterSpecification) IterHost added in v0.5.0

func (topo *ClusterSpecification) IterHost(fn func(instance Instance))

IterHost iterates one instance for each host

func (*ClusterSpecification) IterInstance added in v0.5.0

func (topo *ClusterSpecification) IterInstance(fn func(instance Instance))

IterInstance iterates all instances in component starting order

type Component

type Component interface {
	Name() string
	Instances() []Instance
}

Component represents a component of the cluster.

type DMMasterComponent added in v0.5.0

type DMMasterComponent struct{ *DMSpecification }

DMMasterComponent represents TiDB component.

func (*DMMasterComponent) Instances added in v0.5.0

func (c *DMMasterComponent) Instances() []Instance

Instances implements Component interface.

func (*DMMasterComponent) Name added in v0.5.0

func (c *DMMasterComponent) Name() string

Name implements Component interface.

type DMMasterInstance added in v0.5.0

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

DMMasterInstance represent the TiDB instance

func (*DMMasterInstance) Arch added in v0.6.1

func (i *DMMasterInstance) Arch() string

func (*DMMasterInstance) ComponentName added in v0.5.0

func (i *DMMasterInstance) ComponentName() string

ComponentName implements Instance interface

func (*DMMasterInstance) DataDir added in v0.5.0

func (i *DMMasterInstance) DataDir() string

func (*DMMasterInstance) DeployDir added in v0.5.0

func (i *DMMasterInstance) DeployDir() string

func (*DMMasterInstance) GetHost added in v0.5.0

func (i *DMMasterInstance) GetHost() string

GetHost implements Instance interface

func (*DMMasterInstance) GetPort added in v0.5.0

func (i *DMMasterInstance) GetPort() int

func (*DMMasterInstance) GetSSHPort added in v0.5.0

func (i *DMMasterInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*DMMasterInstance) ID added in v0.5.0

func (i *DMMasterInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*DMMasterInstance) InitConfig added in v0.5.0

func (i *DMMasterInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implement Instance interface

func (*DMMasterInstance) InstanceName added in v0.5.0

func (i *DMMasterInstance) InstanceName() string

InstanceName implements Instance interface

func (*DMMasterInstance) LogDir added in v0.5.0

func (i *DMMasterInstance) LogDir() string

func (*DMMasterInstance) OS added in v0.6.1

func (i *DMMasterInstance) OS() string

func (*DMMasterInstance) PrepareStart added in v0.6.2

func (i *DMMasterInstance) PrepareStart() error

func (*DMMasterInstance) Ready added in v0.5.0

func (i *DMMasterInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*DMMasterInstance) ScaleConfig added in v0.5.0

func (i *DMMasterInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification, clusterName, clusterVersion, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*DMMasterInstance) ServiceName added in v0.5.0

func (i *DMMasterInstance) ServiceName() string

ServiceName implements Instance interface

func (*DMMasterInstance) Status added in v0.5.0

func (i *DMMasterInstance) Status(pdList ...string) string

func (*DMMasterInstance) UsedDirs added in v0.5.0

func (i *DMMasterInstance) UsedDirs() []string

func (*DMMasterInstance) UsedPorts added in v0.5.0

func (i *DMMasterInstance) UsedPorts() []int

func (*DMMasterInstance) WaitForDown added in v0.5.0

func (i *DMMasterInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type DMMeta added in v0.5.0

type DMMeta struct {
	User    string `yaml:"user"`       // the user to run and manage cluster on remote
	Version string `yaml:"dm_version"` // the version of TiDB cluster

	Topology *DMTopologySpecification `yaml:"topology"`
}

DMMeta is the specification of generic cluster metadata

func DMMetadata added in v0.5.0

func DMMetadata(clusterName string) (*DMMeta, error)

DMMetadata tries to read the metadata of a cluster from file

type DMServerConfigs added in v0.5.0

type DMServerConfigs struct {
	Master map[string]interface{} `yaml:"master"`
	Worker map[string]interface{} `yaml:"worker"`
}

DMServerConfigs represents the server runtime configuration

type DMSpecification added in v0.5.0

type DMSpecification = DMTopologySpecification

DMSpecification of cluster

func (*DMSpecification) ComponentsByStartOrder added in v0.5.0

func (topo *DMSpecification) ComponentsByStartOrder() (comps []Component)

ComponentsByStartOrder return component in the order need to start.

func (*DMSpecification) ComponentsByStopOrder added in v0.5.0

func (topo *DMSpecification) ComponentsByStopOrder() (comps []Component)

ComponentsByStopOrder return component in the order need to stop.

func (*DMSpecification) ComponentsByUpdateOrder added in v0.6.3

func (topo *DMSpecification) ComponentsByUpdateOrder() (comps []Component)

ComponentsByUpdateOrder return component in the order need to be updated.

func (*DMSpecification) Endpoints added in v0.5.0

func (topo *DMSpecification) Endpoints(user string) []*scripts.DMMasterScript

Endpoints returns the PD endpoints configurations

func (*DMSpecification) GetClusterSpecification added in v0.5.0

func (topo *DMSpecification) GetClusterSpecification() *ClusterSpecification

GetClusterSpecification returns cluster topology

func (*DMSpecification) GetDMSpecification added in v0.5.0

func (topo *DMSpecification) GetDMSpecification() *DMSpecification

GetDMSpecification returns dm topology

func (*DMSpecification) GetGlobalOptions added in v0.5.0

func (topo *DMSpecification) GetGlobalOptions() GlobalOptions

GetGlobalOptions returns cluster topology

func (*DMSpecification) GetMonitoredOptions added in v0.5.0

func (topo *DMSpecification) GetMonitoredOptions() MonitoredOptions

GetMonitoredOptions returns MonitoredOptions

func (*DMSpecification) IterComponent added in v0.5.0

func (topo *DMSpecification) IterComponent(fn func(comp Component))

IterComponent iterates all components in component starting order

func (*DMSpecification) IterHost added in v0.5.0

func (topo *DMSpecification) IterHost(fn func(instance Instance))

IterHost iterates one instance for each host

func (*DMSpecification) IterInstance added in v0.5.0

func (topo *DMSpecification) IterInstance(fn func(instance Instance))

IterInstance iterates all instances in component starting order

type DMTopologySpecification added in v0.5.0

type DMTopologySpecification struct {
	GlobalOptions    GlobalOptions      `yaml:"global,omitempty"`
	MonitoredOptions MonitoredOptions   `yaml:"monitored,omitempty"`
	ServerConfigs    DMServerConfigs    `yaml:"server_configs,omitempty"`
	Masters          []MasterSpec       `yaml:"dm_masters"`
	Workers          []WorkerSpec       `yaml:"dm_workers"`
	Monitors         []PrometheusSpec   `yaml:"monitoring_servers"`
	Grafana          []GrafanaSpec      `yaml:"grafana_servers,omitempty"`
	Alertmanager     []AlertManagerSpec `yaml:"alertmanager_servers,omitempty"`
}

DMTopologySpecification represents the specification of topology.yaml

func (*DMTopologySpecification) Merge added in v0.5.0

Merge returns a new TopologySpecification which sum old ones

func (*DMTopologySpecification) UnmarshalYAML added in v0.5.0

func (topo *DMTopologySpecification) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML sets default values when unmarshaling the topology file

func (*DMTopologySpecification) Validate added in v0.5.0

func (topo *DMTopologySpecification) Validate() error

Validate validates the topology specification and produce error if the specification invalid (e.g: port conflicts or directory conflicts)

type DMWorkerComponent added in v0.5.0

type DMWorkerComponent struct {
	*DMSpecification
}

DMWorkerComponent represents DM worker component.

func (*DMWorkerComponent) Instances added in v0.5.0

func (c *DMWorkerComponent) Instances() []Instance

Instances implements Component interface.

func (*DMWorkerComponent) Name added in v0.5.0

func (c *DMWorkerComponent) Name() string

Name implements Component interface.

type DMWorkerInstance added in v0.5.0

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

DMWorkerInstance represent the DM worker instance

func (*DMWorkerInstance) Arch added in v0.6.1

func (i *DMWorkerInstance) Arch() string

func (*DMWorkerInstance) ComponentName added in v0.5.0

func (i *DMWorkerInstance) ComponentName() string

ComponentName implements Instance interface

func (*DMWorkerInstance) DataDir added in v0.5.0

func (i *DMWorkerInstance) DataDir() string

func (*DMWorkerInstance) DeployDir added in v0.5.0

func (i *DMWorkerInstance) DeployDir() string

func (*DMWorkerInstance) GetHost added in v0.5.0

func (i *DMWorkerInstance) GetHost() string

GetHost implements Instance interface

func (*DMWorkerInstance) GetPort added in v0.5.0

func (i *DMWorkerInstance) GetPort() int

func (*DMWorkerInstance) GetSSHPort added in v0.5.0

func (i *DMWorkerInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*DMWorkerInstance) ID added in v0.5.0

func (i *DMWorkerInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*DMWorkerInstance) InitConfig added in v0.5.0

func (i *DMWorkerInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implement Instance interface

func (*DMWorkerInstance) InstanceName added in v0.5.0

func (i *DMWorkerInstance) InstanceName() string

InstanceName implements Instance interface

func (*DMWorkerInstance) LogDir added in v0.5.0

func (i *DMWorkerInstance) LogDir() string

func (*DMWorkerInstance) OS added in v0.6.1

func (i *DMWorkerInstance) OS() string

func (*DMWorkerInstance) PrepareStart added in v0.6.2

func (i *DMWorkerInstance) PrepareStart() error

func (*DMWorkerInstance) Ready added in v0.5.0

func (i *DMWorkerInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*DMWorkerInstance) ScaleConfig added in v0.5.0

func (i *DMWorkerInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification, clusterName, clusterVersion, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*DMWorkerInstance) ServiceName added in v0.5.0

func (i *DMWorkerInstance) ServiceName() string

ServiceName implements Instance interface

func (*DMWorkerInstance) Status added in v0.5.0

func (i *DMWorkerInstance) Status(pdList ...string) string

func (*DMWorkerInstance) UsedDirs added in v0.5.0

func (i *DMWorkerInstance) UsedDirs() []string

func (*DMWorkerInstance) UsedPorts added in v0.5.0

func (i *DMWorkerInstance) UsedPorts() []int

func (*DMWorkerInstance) WaitForDown added in v0.5.0

func (i *DMWorkerInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type DirPaths

type DirPaths struct {
	Deploy string
	Data   []string
	Log    string
	Cache  string
}

DirPaths stores the paths needed for component to put files

func (DirPaths) String

func (p DirPaths) String() string

String implements the fmt.Stringer interface

type DrainerComponent

type DrainerComponent struct{ *ClusterSpecification }

DrainerComponent represents Drainer component.

func (*DrainerComponent) Instances

func (c *DrainerComponent) Instances() []Instance

Instances implements Component interface.

func (*DrainerComponent) Name

func (c *DrainerComponent) Name() string

Name implements Component interface.

type DrainerInstance

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

DrainerInstance represent the Drainer instance.

func (*DrainerInstance) Arch added in v0.6.1

func (i *DrainerInstance) Arch() string

func (*DrainerInstance) ComponentName

func (i *DrainerInstance) ComponentName() string

ComponentName implements Instance interface

func (*DrainerInstance) DataDir

func (i *DrainerInstance) DataDir() string

func (*DrainerInstance) DeployDir

func (i *DrainerInstance) DeployDir() string

func (*DrainerInstance) GetHost

func (i *DrainerInstance) GetHost() string

GetHost implements Instance interface

func (*DrainerInstance) GetPort

func (i *DrainerInstance) GetPort() int

func (*DrainerInstance) GetSSHPort

func (i *DrainerInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*DrainerInstance) ID

func (i *DrainerInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*DrainerInstance) InitConfig

func (i *DrainerInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implements Instance interface.

func (*DrainerInstance) InstanceName

func (i *DrainerInstance) InstanceName() string

InstanceName implements Instance interface

func (*DrainerInstance) LogDir

func (i *DrainerInstance) LogDir() string

func (*DrainerInstance) OS added in v0.6.1

func (i *DrainerInstance) OS() string

func (*DrainerInstance) PrepareStart added in v0.6.2

func (i *DrainerInstance) PrepareStart() error

PrepareStart checks instance requirements before starting

func (*DrainerInstance) Ready

func (i *DrainerInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*DrainerInstance) ScaleConfig

func (i *DrainerInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification, clusterName, clusterVersion, user string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*DrainerInstance) ServiceName

func (i *DrainerInstance) ServiceName() string

ServiceName implements Instance interface

func (*DrainerInstance) Status

func (i *DrainerInstance) Status(pdList ...string) string

func (*DrainerInstance) UsedDirs

func (i *DrainerInstance) UsedDirs() []string

func (*DrainerInstance) UsedPorts

func (i *DrainerInstance) UsedPorts() []int

func (*DrainerInstance) WaitForDown

func (i *DrainerInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type DrainerSpec

type DrainerSpec struct {
	Host            string                 `yaml:"host"`
	SSHPort         int                    `yaml:"ssh_port,omitempty"`
	Imported        bool                   `yaml:"imported,omitempty"`
	Port            int                    `yaml:"port" default:"8249"`
	DeployDir       string                 `yaml:"deploy_dir,omitempty"`
	DataDir         string                 `yaml:"data_dir,omitempty"`
	LogDir          string                 `yaml:"log_dir,omitempty"`
	CommitTS        int64                  `yaml:"commit_ts,omitempty"`
	Offline         bool                   `yaml:"offline,omitempty"`
	NumaNode        string                 `yaml:"numa_node,omitempty"`
	Config          map[string]interface{} `yaml:"config,omitempty"`
	ResourceControl ResourceControl        `yaml:"resource_control,omitempty"`
	Arch            string                 `yaml:"arch,omitempty"`
	OS              string                 `yaml:"os,omitempty"`
}

DrainerSpec represents the Drainer topology specification in topology.yaml

func (DrainerSpec) GetMainPort

func (s DrainerSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (DrainerSpec) IsImported

func (s DrainerSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (DrainerSpec) Role

func (s DrainerSpec) Role() string

Role returns the component role of the instance

func (DrainerSpec) SSH

func (s DrainerSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

type GlobalOptions

type GlobalOptions struct {
	User            string          `yaml:"user,omitempty" default:"tidb"`
	SSHPort         int             `yaml:"ssh_port,omitempty" default:"22"`
	DeployDir       string          `yaml:"deploy_dir,omitempty" default:"deploy"`
	DataDir         string          `yaml:"data_dir,omitempty" default:"data"`
	LogDir          string          `yaml:"log_dir,omitempty"`
	ResourceControl ResourceControl `yaml:"resource_control,omitempty"`
	OS              string          `yaml:"os,omitempty" default:"linux"`
	Arch            string          `yaml:"arch,omitempty" default:"amd64"`
}

GlobalOptions represents the global options for all groups in topology specification in topology.yaml

type GrafanaComponent

type GrafanaComponent struct{ *ClusterSpecification }

GrafanaComponent represents Grafana component.

func (*GrafanaComponent) Instances

func (c *GrafanaComponent) Instances() []Instance

Instances implements Component interface.

func (*GrafanaComponent) Name

func (c *GrafanaComponent) Name() string

Name implements Component interface.

type GrafanaInstance

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

GrafanaInstance represent the grafana instance

func (*GrafanaInstance) Arch added in v0.6.1

func (i *GrafanaInstance) Arch() string

func (*GrafanaInstance) ComponentName

func (i *GrafanaInstance) ComponentName() string

ComponentName implements Instance interface

func (*GrafanaInstance) DataDir

func (i *GrafanaInstance) DataDir() string

func (*GrafanaInstance) DeployDir

func (i *GrafanaInstance) DeployDir() string

func (*GrafanaInstance) GetHost

func (i *GrafanaInstance) GetHost() string

GetHost implements Instance interface

func (*GrafanaInstance) GetPort

func (i *GrafanaInstance) GetPort() int

func (*GrafanaInstance) GetSSHPort

func (i *GrafanaInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*GrafanaInstance) ID

func (i *GrafanaInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*GrafanaInstance) InitConfig

func (i *GrafanaInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implement Instance interface

func (*GrafanaInstance) InstanceName

func (i *GrafanaInstance) InstanceName() string

InstanceName implements Instance interface

func (*GrafanaInstance) LogDir

func (i *GrafanaInstance) LogDir() string

func (*GrafanaInstance) OS added in v0.6.1

func (i *GrafanaInstance) OS() string

func (*GrafanaInstance) PrepareStart added in v0.6.2

func (i *GrafanaInstance) PrepareStart() error

PrepareStart checks instance requirements before starting

func (*GrafanaInstance) Ready

func (i *GrafanaInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*GrafanaInstance) ScaleConfig

func (i *GrafanaInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification,
	clusterName string, clusterVersion string, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*GrafanaInstance) ServiceName

func (i *GrafanaInstance) ServiceName() string

ServiceName implements Instance interface

func (*GrafanaInstance) Status

func (i *GrafanaInstance) Status(pdList ...string) string

func (*GrafanaInstance) UsedDirs

func (i *GrafanaInstance) UsedDirs() []string

func (*GrafanaInstance) UsedPorts

func (i *GrafanaInstance) UsedPorts() []int

func (*GrafanaInstance) WaitForDown

func (i *GrafanaInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type GrafanaSpec

type GrafanaSpec struct {
	Host            string          `yaml:"host"`
	SSHPort         int             `yaml:"ssh_port,omitempty"`
	Imported        bool            `yaml:"imported,omitempty"`
	Port            int             `yaml:"port" default:"3000"`
	DeployDir       string          `yaml:"deploy_dir,omitempty"`
	ResourceControl ResourceControl `yaml:"resource_control,omitempty"`
	Arch            string          `yaml:"arch,omitempty"`
	OS              string          `yaml:"os,omitempty"`
}

GrafanaSpec represents the Grafana topology specification in topology.yaml

func (GrafanaSpec) GetMainPort

func (s GrafanaSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (GrafanaSpec) IsImported

func (s GrafanaSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (GrafanaSpec) Role

func (s GrafanaSpec) Role() string

Role returns the component role of the instance

func (GrafanaSpec) SSH

func (s GrafanaSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

type Instance

type Instance interface {
	InstanceSpec
	ID() string
	Ready(executor.TiOpsExecutor, int64) error
	WaitForDown(executor.TiOpsExecutor, int64) error
	InitConfig(e executor.TiOpsExecutor, clusterName string, clusterVersion string, deployUser string, paths DirPaths) error
	ScaleConfig(e executor.TiOpsExecutor, topo Specification, clusterName string, clusterVersion string, deployUser string, paths DirPaths) error
	PrepareStart() error
	ComponentName() string
	InstanceName() string
	ServiceName() string
	GetHost() string
	GetPort() int
	GetSSHPort() int
	DeployDir() string
	UsedPorts() []int
	UsedDirs() []string
	Status(pdList ...string) string
	DataDir() string
	LogDir() string
	OS() string // only linux supported now
	Arch() string
}

Instance represents the instance.

type InstanceSpec

type InstanceSpec interface {
	Role() string
	SSH() (string, int)
	GetMainPort() int
	IsImported() bool
}

InstanceSpec represent a instance specification

type MasterSpec added in v0.5.0

type MasterSpec struct {
	Host     string `yaml:"host"`
	SSHPort  int    `yaml:"ssh_port,omitempty"`
	Imported bool   `yaml:"imported,omitempty"`
	// Use Name to get the name with a default value if it's empty.
	Name      string                 `yaml:"name"`
	Port      int                    `yaml:"port" default:"8261"`
	PeerPort  int                    `yaml:"peer_port" default:"8291"`
	DeployDir string                 `yaml:"deploy_dir,omitempty"`
	DataDir   string                 `yaml:"data_dir,omitempty"`
	LogDir    string                 `yaml:"log_dir,omitempty"`
	Offline   bool                   `yaml:"offline,omitempty"`
	NumaNode  string                 `yaml:"numa_node,omitempty"`
	Config    map[string]interface{} `yaml:"config,omitempty"`
	Arch      string                 `yaml:"arch,omitempty"`
	OS        string                 `yaml:"os,omitempty"`
}

MasterSpec represents the Master topology specification in topology.yaml

func (MasterSpec) GetMainPort added in v0.5.0

func (s MasterSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (MasterSpec) IsImported added in v0.5.0

func (s MasterSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (MasterSpec) Role added in v0.5.0

func (s MasterSpec) Role() string

Role returns the component role of the instance

func (MasterSpec) SSH added in v0.5.0

func (s MasterSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

func (MasterSpec) Status added in v0.5.0

func (s MasterSpec) Status(pdList ...string) string

Status queries current status of the instance

type MonitorComponent

type MonitorComponent struct{ *ClusterSpecification }

MonitorComponent represents Monitor component.

func (*MonitorComponent) Instances

func (c *MonitorComponent) Instances() []Instance

Instances implements Component interface.

func (*MonitorComponent) Name

func (c *MonitorComponent) Name() string

Name implements Component interface.

type MonitorInstance

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

MonitorInstance represent the monitor instance

func (*MonitorInstance) Arch added in v0.6.1

func (i *MonitorInstance) Arch() string

func (*MonitorInstance) ComponentName

func (i *MonitorInstance) ComponentName() string

ComponentName implements Instance interface

func (*MonitorInstance) DataDir

func (i *MonitorInstance) DataDir() string

func (*MonitorInstance) DeployDir

func (i *MonitorInstance) DeployDir() string

func (*MonitorInstance) GetHost

func (i *MonitorInstance) GetHost() string

GetHost implements Instance interface

func (*MonitorInstance) GetPort

func (i *MonitorInstance) GetPort() int

func (*MonitorInstance) GetSSHPort

func (i *MonitorInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*MonitorInstance) ID

func (i *MonitorInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*MonitorInstance) InitConfig

func (i *MonitorInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implement Instance interface

func (*MonitorInstance) InstanceName

func (i *MonitorInstance) InstanceName() string

InstanceName implements Instance interface

func (*MonitorInstance) LogDir

func (i *MonitorInstance) LogDir() string

func (*MonitorInstance) OS added in v0.6.1

func (i *MonitorInstance) OS() string

func (*MonitorInstance) PrepareStart added in v0.6.2

func (i *MonitorInstance) PrepareStart() error

PrepareStart checks instance requirements before starting

func (*MonitorInstance) Ready

func (i *MonitorInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*MonitorInstance) ScaleConfig

func (i *MonitorInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification,
	clusterName string, clusterVersion string, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*MonitorInstance) ServiceName

func (i *MonitorInstance) ServiceName() string

ServiceName implements Instance interface

func (*MonitorInstance) Status

func (i *MonitorInstance) Status(pdList ...string) string

func (*MonitorInstance) UsedDirs

func (i *MonitorInstance) UsedDirs() []string

func (*MonitorInstance) UsedPorts

func (i *MonitorInstance) UsedPorts() []int

func (*MonitorInstance) WaitForDown

func (i *MonitorInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type MonitoredOptions

type MonitoredOptions struct {
	NodeExporterPort     int             `yaml:"node_exporter_port,omitempty" default:"9100"`
	BlackboxExporterPort int             `yaml:"blackbox_exporter_port,omitempty" default:"9115"`
	DeployDir            string          `yaml:"deploy_dir,omitempty"`
	DataDir              string          `yaml:"data_dir,omitempty"`
	LogDir               string          `yaml:"log_dir,omitempty"`
	NumaNode             string          `yaml:"numa_node,omitempty"`
	ResourceControl      ResourceControl `yaml:"resource_control,omitempty"`
}

MonitoredOptions represents the monitored node configuration

type PDComponent

type PDComponent struct{ *ClusterSpecification }

PDComponent represents PD component.

func (*PDComponent) Instances

func (c *PDComponent) Instances() []Instance

Instances implements Component interface.

func (*PDComponent) Name

func (c *PDComponent) Name() string

Name implements Component interface.

type PDInstance

type PDInstance struct {
	Name string
	// contains filtered or unexported fields
}

PDInstance represent the PD instance

func (*PDInstance) Arch added in v0.6.1

func (i *PDInstance) Arch() string

func (*PDInstance) ComponentName

func (i *PDInstance) ComponentName() string

ComponentName implements Instance interface

func (*PDInstance) DataDir

func (i *PDInstance) DataDir() string

func (*PDInstance) DeployDir

func (i *PDInstance) DeployDir() string

func (*PDInstance) GetHost

func (i *PDInstance) GetHost() string

GetHost implements Instance interface

func (*PDInstance) GetPort

func (i *PDInstance) GetPort() int

func (*PDInstance) GetSSHPort

func (i *PDInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*PDInstance) ID

func (i *PDInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*PDInstance) InitConfig

func (i *PDInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implement Instance interface

func (*PDInstance) InstanceName

func (i *PDInstance) InstanceName() string

InstanceName implements Instance interface

func (*PDInstance) LogDir

func (i *PDInstance) LogDir() string

func (*PDInstance) OS added in v0.6.1

func (i *PDInstance) OS() string

func (*PDInstance) PrepareStart added in v0.6.2

func (i *PDInstance) PrepareStart() error

PrepareStart checks instance requirements before starting

func (*PDInstance) Ready

func (i *PDInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*PDInstance) ScaleConfig

func (i *PDInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification, clusterName, clusterVersion, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*PDInstance) ServiceName

func (i *PDInstance) ServiceName() string

ServiceName implements Instance interface

func (*PDInstance) Status

func (i *PDInstance) Status(pdList ...string) string

func (*PDInstance) UsedDirs

func (i *PDInstance) UsedDirs() []string

func (*PDInstance) UsedPorts

func (i *PDInstance) UsedPorts() []int

func (*PDInstance) WaitForDown

func (i *PDInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type PDSpec

type PDSpec struct {
	Host     string `yaml:"host"`
	SSHPort  int    `yaml:"ssh_port,omitempty"`
	Imported bool   `yaml:"imported,omitempty"`
	// Use Name to get the name with a default value if it's empty.
	Name            string                 `yaml:"name"`
	ClientPort      int                    `yaml:"client_port" default:"2379"`
	PeerPort        int                    `yaml:"peer_port" default:"2380"`
	DeployDir       string                 `yaml:"deploy_dir,omitempty"`
	DataDir         string                 `yaml:"data_dir,omitempty"`
	LogDir          string                 `yaml:"log_dir,omitempty"`
	NumaNode        string                 `yaml:"numa_node,omitempty"`
	Config          map[string]interface{} `yaml:"config,omitempty"`
	ResourceControl ResourceControl        `yaml:"resource_control,omitempty"`
	Arch            string                 `yaml:"arch,omitempty"`
	OS              string                 `yaml:"os,omitempty"`
}

PDSpec represents the PD topology specification in topology.yaml

func (PDSpec) GetMainPort

func (s PDSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (PDSpec) IsImported

func (s PDSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (PDSpec) Role

func (s PDSpec) Role() string

Role returns the component role of the instance

func (PDSpec) SSH

func (s PDSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

func (PDSpec) Status

func (s PDSpec) Status(pdList ...string) string

Status queries current status of the instance

type PrometheusSpec

type PrometheusSpec struct {
	Host            string          `yaml:"host"`
	SSHPort         int             `yaml:"ssh_port,omitempty"`
	Imported        bool            `yaml:"imported,omitempty"`
	Port            int             `yaml:"port" default:"9090"`
	DeployDir       string          `yaml:"deploy_dir,omitempty"`
	DataDir         string          `yaml:"data_dir,omitempty"`
	LogDir          string          `yaml:"log_dir,omitempty"`
	NumaNode        string          `yaml:"numa_node,omitempty"`
	Retention       string          `yaml:"storage_retention,omitempty"`
	ResourceControl ResourceControl `yaml:"resource_control,omitempty"`
	Arch            string          `yaml:"arch,omitempty"`
	OS              string          `yaml:"os,omitempty"`
}

PrometheusSpec represents the Prometheus Server topology specification in topology.yaml

func (PrometheusSpec) GetMainPort

func (s PrometheusSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (PrometheusSpec) IsImported

func (s PrometheusSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (PrometheusSpec) Role

func (s PrometheusSpec) Role() string

Role returns the component role of the instance

func (PrometheusSpec) SSH

func (s PrometheusSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

type PumpComponent

type PumpComponent struct{ *ClusterSpecification }

PumpComponent represents Pump component.

func (*PumpComponent) Instances

func (c *PumpComponent) Instances() []Instance

Instances implements Component interface.

func (*PumpComponent) Name

func (c *PumpComponent) Name() string

Name implements Component interface.

type PumpInstance

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

PumpInstance represent the Pump instance.

func (*PumpInstance) Arch added in v0.6.1

func (i *PumpInstance) Arch() string

func (*PumpInstance) ComponentName

func (i *PumpInstance) ComponentName() string

ComponentName implements Instance interface

func (*PumpInstance) DataDir

func (i *PumpInstance) DataDir() string

func (*PumpInstance) DeployDir

func (i *PumpInstance) DeployDir() string

func (*PumpInstance) GetHost

func (i *PumpInstance) GetHost() string

GetHost implements Instance interface

func (*PumpInstance) GetPort

func (i *PumpInstance) GetPort() int

func (*PumpInstance) GetSSHPort

func (i *PumpInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*PumpInstance) ID

func (i *PumpInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*PumpInstance) InitConfig

func (i *PumpInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implements Instance interface.

func (*PumpInstance) InstanceName

func (i *PumpInstance) InstanceName() string

InstanceName implements Instance interface

func (*PumpInstance) LogDir

func (i *PumpInstance) LogDir() string

func (*PumpInstance) OS added in v0.6.1

func (i *PumpInstance) OS() string

func (*PumpInstance) PrepareStart added in v0.6.2

func (i *PumpInstance) PrepareStart() error

PrepareStart checks instance requirements before starting

func (*PumpInstance) Ready

func (i *PumpInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*PumpInstance) ScaleConfig

func (i *PumpInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification, clusterName, clusterVersion, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*PumpInstance) ServiceName

func (i *PumpInstance) ServiceName() string

ServiceName implements Instance interface

func (*PumpInstance) Status

func (i *PumpInstance) Status(pdList ...string) string

func (*PumpInstance) UsedDirs

func (i *PumpInstance) UsedDirs() []string

func (*PumpInstance) UsedPorts

func (i *PumpInstance) UsedPorts() []int

func (*PumpInstance) WaitForDown

func (i *PumpInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type PumpSpec

type PumpSpec struct {
	Host            string                 `yaml:"host"`
	SSHPort         int                    `yaml:"ssh_port,omitempty"`
	Imported        bool                   `yaml:"imported,omitempty"`
	Port            int                    `yaml:"port" default:"8250"`
	DeployDir       string                 `yaml:"deploy_dir,omitempty"`
	DataDir         string                 `yaml:"data_dir,omitempty"`
	LogDir          string                 `yaml:"log_dir,omitempty"`
	Offline         bool                   `yaml:"offline,omitempty"`
	NumaNode        string                 `yaml:"numa_node,omitempty"`
	Config          map[string]interface{} `yaml:"config,omitempty"`
	ResourceControl ResourceControl        `yaml:"resource_control"`
	Arch            string                 `yaml:"arch,omitempty"`
	OS              string                 `yaml:"os,omitempty"`
}

PumpSpec represents the Pump topology specification in topology.yaml

func (PumpSpec) GetMainPort

func (s PumpSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (PumpSpec) IsImported

func (s PumpSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (PumpSpec) Role

func (s PumpSpec) Role() string

Role returns the component role of the instance

func (PumpSpec) SSH

func (s PumpSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

type ResourceControl added in v0.5.0

type ResourceControl struct {
	MemoryLimit         string `yaml:"memory_limit,omitempty"`
	CPUQuota            string `yaml:"cpu_quota,omitempty"`
	IOReadBandwidthMax  string `yaml:"io_read_bandwidth_max,omitempty"`
	IOWriteBandwidthMax string `yaml:"io_write_bandwidth_max,omitempty"`
}

ResourceControl is used to control the system resource See: https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html

func MergeResourceControl added in v0.5.0

func MergeResourceControl(lhs, rhs ResourceControl) ResourceControl

MergeResourceControl merge the rhs into lhs and overwrite rhs if lhs has value for same field

type ServerConfigs

type ServerConfigs struct {
	TiDB           map[string]interface{} `yaml:"tidb"`
	TiKV           map[string]interface{} `yaml:"tikv"`
	PD             map[string]interface{} `yaml:"pd"`
	TiFlash        map[string]interface{} `yaml:"tiflash"`
	TiFlashLearner map[string]interface{} `yaml:"tiflash-learner"`
	Pump           map[string]interface{} `yaml:"pump"`
	Drainer        map[string]interface{} `yaml:"drainer"`
	CDC            map[string]interface{} `yaml:"cdc"`
}

ServerConfigs represents the server runtime configuration

type Specification

type Specification interface {
	ComponentsByStopOrder() (comps []Component)
	ComponentsByStartOrder() (comps []Component)
	ComponentsByUpdateOrder() (comps []Component)
	IterComponent(fn func(comp Component))
	IterInstance(fn func(instance Instance))
	IterHost(fn func(instance Instance))
	GetGlobalOptions() GlobalOptions
	GetMonitoredOptions() MonitoredOptions
	GetClusterSpecification() *ClusterSpecification
	GetDMSpecification() *DMSpecification
}

Specification represents the topology of cluster/dm

type TiDBComponent

type TiDBComponent struct{ *ClusterSpecification }

TiDBComponent represents TiDB component.

func (*TiDBComponent) Instances

func (c *TiDBComponent) Instances() []Instance

Instances implements Component interface.

func (*TiDBComponent) Name

func (c *TiDBComponent) Name() string

Name implements Component interface.

type TiDBInstance

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

TiDBInstance represent the TiDB instance

func (*TiDBInstance) Arch added in v0.6.1

func (i *TiDBInstance) Arch() string

func (*TiDBInstance) ComponentName

func (i *TiDBInstance) ComponentName() string

ComponentName implements Instance interface

func (*TiDBInstance) DataDir

func (i *TiDBInstance) DataDir() string

func (*TiDBInstance) DeployDir

func (i *TiDBInstance) DeployDir() string

func (*TiDBInstance) GetHost

func (i *TiDBInstance) GetHost() string

GetHost implements Instance interface

func (*TiDBInstance) GetPort

func (i *TiDBInstance) GetPort() int

func (*TiDBInstance) GetSSHPort

func (i *TiDBInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*TiDBInstance) ID

func (i *TiDBInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*TiDBInstance) InitConfig

func (i *TiDBInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implement Instance interface

func (*TiDBInstance) InstanceName

func (i *TiDBInstance) InstanceName() string

InstanceName implements Instance interface

func (*TiDBInstance) LogDir

func (i *TiDBInstance) LogDir() string

func (*TiDBInstance) OS added in v0.6.1

func (i *TiDBInstance) OS() string

func (*TiDBInstance) PrepareStart added in v0.6.2

func (i *TiDBInstance) PrepareStart() error

PrepareStart checks instance requirements before starting

func (*TiDBInstance) Ready

func (i *TiDBInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*TiDBInstance) ScaleConfig

func (i *TiDBInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification, clusterName, clusterVersion, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*TiDBInstance) ServiceName

func (i *TiDBInstance) ServiceName() string

ServiceName implements Instance interface

func (*TiDBInstance) Status

func (i *TiDBInstance) Status(pdList ...string) string

func (*TiDBInstance) UsedDirs

func (i *TiDBInstance) UsedDirs() []string

func (*TiDBInstance) UsedPorts

func (i *TiDBInstance) UsedPorts() []int

func (*TiDBInstance) WaitForDown

func (i *TiDBInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type TiDBSpec

type TiDBSpec struct {
	Host            string                 `yaml:"host"`
	SSHPort         int                    `yaml:"ssh_port,omitempty"`
	Imported        bool                   `yaml:"imported,omitempty"`
	Port            int                    `yaml:"port" default:"4000"`
	StatusPort      int                    `yaml:"status_port" default:"10080"`
	DeployDir       string                 `yaml:"deploy_dir,omitempty"`
	LogDir          string                 `yaml:"log_dir,omitempty"`
	NumaNode        string                 `yaml:"numa_node,omitempty"`
	Config          map[string]interface{} `yaml:"config,omitempty"`
	ResourceControl ResourceControl        `yaml:"resource_control,omitempty"`
	Arch            string                 `yaml:"arch,omitempty"`
	OS              string                 `yaml:"os,omitempty"`
}

TiDBSpec represents the TiDB topology specification in topology.yaml

func (TiDBSpec) GetMainPort

func (s TiDBSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (TiDBSpec) IsImported

func (s TiDBSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (TiDBSpec) Role

func (s TiDBSpec) Role() string

Role returns the component role of the instance

func (TiDBSpec) SSH

func (s TiDBSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

func (TiDBSpec) Status

func (s TiDBSpec) Status(pdList ...string) string

Status queries current status of the instance

type TiFlashComponent

type TiFlashComponent struct{ *ClusterSpecification }

TiFlashComponent represents TiFlash component.

func (*TiFlashComponent) Instances

func (c *TiFlashComponent) Instances() []Instance

Instances implements Component interface.

func (*TiFlashComponent) Name

func (c *TiFlashComponent) Name() string

Name implements Component interface.

type TiFlashInstance

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

TiFlashInstance represent the TiFlash instance

func (*TiFlashInstance) Arch added in v0.6.1

func (i *TiFlashInstance) Arch() string

func (*TiFlashInstance) ComponentName

func (i *TiFlashInstance) ComponentName() string

ComponentName implements Instance interface

func (*TiFlashInstance) DataDir

func (i *TiFlashInstance) DataDir() string

DataDir represents TiFlash's DataDir

func (*TiFlashInstance) DeployDir

func (i *TiFlashInstance) DeployDir() string

func (*TiFlashInstance) GetHost

func (i *TiFlashInstance) GetHost() string

GetHost implements Instance interface

func (*TiFlashInstance) GetPort

func (i *TiFlashInstance) GetPort() int

func (*TiFlashInstance) GetSSHPort

func (i *TiFlashInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*TiFlashInstance) GetServicePort added in v0.6.3

func (i *TiFlashInstance) GetServicePort() int

GetServicePort returns the service port of TiFlash

func (*TiFlashInstance) ID

func (i *TiFlashInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*TiFlashInstance) InitConfig

func (i *TiFlashInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implement Instance interface

func (*TiFlashInstance) InitTiFlashConfig

func (i *TiFlashInstance) InitTiFlashConfig(cfg *scripts.TiFlashScript, src map[string]interface{}) (map[string]interface{}, error)

InitTiFlashConfig initializes TiFlash config file

func (*TiFlashInstance) InitTiFlashLearnerConfig

func (i *TiFlashInstance) InitTiFlashLearnerConfig(cfg *scripts.TiFlashScript, src map[string]interface{}) (map[string]interface{}, error)

InitTiFlashLearnerConfig initializes TiFlash learner config file

func (*TiFlashInstance) InstanceName

func (i *TiFlashInstance) InstanceName() string

InstanceName implements Instance interface

func (*TiFlashInstance) LogDir

func (i *TiFlashInstance) LogDir() string

func (*TiFlashInstance) OS added in v0.6.1

func (i *TiFlashInstance) OS() string

func (*TiFlashInstance) PrepareStart added in v0.6.2

func (i *TiFlashInstance) PrepareStart() error

PrepareStart checks TiFlash requirements before starting

func (*TiFlashInstance) Ready

func (i *TiFlashInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*TiFlashInstance) ScaleConfig

func (i *TiFlashInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification, clusterName, clusterVersion, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*TiFlashInstance) ServiceName

func (i *TiFlashInstance) ServiceName() string

ServiceName implements Instance interface

func (*TiFlashInstance) Status

func (i *TiFlashInstance) Status(pdList ...string) string

func (*TiFlashInstance) UsedDirs

func (i *TiFlashInstance) UsedDirs() []string

func (*TiFlashInstance) UsedPorts

func (i *TiFlashInstance) UsedPorts() []int

func (*TiFlashInstance) WaitForDown

func (i *TiFlashInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type TiFlashSpec

type TiFlashSpec struct {
	Host                 string                 `yaml:"host"`
	SSHPort              int                    `yaml:"ssh_port,omitempty"`
	Imported             bool                   `yaml:"imported,omitempty"`
	TCPPort              int                    `yaml:"tcp_port" default:"9000"`
	HTTPPort             int                    `yaml:"http_port" default:"8123"`
	FlashServicePort     int                    `yaml:"flash_service_port" default:"3930"`
	FlashProxyPort       int                    `yaml:"flash_proxy_port" default:"20170"`
	FlashProxyStatusPort int                    `yaml:"flash_proxy_status_port" default:"20292"`
	StatusPort           int                    `yaml:"metrics_port" default:"8234"`
	DeployDir            string                 `yaml:"deploy_dir,omitempty"`
	DataDir              string                 `yaml:"data_dir,omitempty"`
	LogDir               string                 `yaml:"log_dir,omitempty"`
	TmpDir               string                 `yaml:"tmp_path,omitempty"`
	Offline              bool                   `yaml:"offline,omitempty"`
	NumaNode             string                 `yaml:"numa_node,omitempty"`
	Config               map[string]interface{} `yaml:"config,omitempty"`
	LearnerConfig        map[string]interface{} `yaml:"learner_config,omitempty"`
	ResourceControl      ResourceControl        `yaml:"resource_control,omitempty"`
	Arch                 string                 `yaml:"arch,omitempty"`
	OS                   string                 `yaml:"os,omitempty"`
}

TiFlashSpec represents the TiFlash topology specification in topology.yaml

func (TiFlashSpec) GetMainPort

func (s TiFlashSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (TiFlashSpec) IsImported

func (s TiFlashSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (TiFlashSpec) Role

func (s TiFlashSpec) Role() string

Role returns the component role of the instance

func (TiFlashSpec) SSH

func (s TiFlashSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

func (TiFlashSpec) Status

func (s TiFlashSpec) Status(pdList ...string) string

Status queries current status of the instance

type TiKVComponent

type TiKVComponent struct {
	*ClusterSpecification
}

TiKVComponent represents TiKV component.

func (*TiKVComponent) Instances

func (c *TiKVComponent) Instances() []Instance

Instances implements Component interface.

func (*TiKVComponent) Name

func (c *TiKVComponent) Name() string

Name implements Component interface.

type TiKVInstance

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

TiKVInstance represent the TiDB instance

func (*TiKVInstance) Arch added in v0.6.1

func (i *TiKVInstance) Arch() string

func (*TiKVInstance) ComponentName

func (i *TiKVInstance) ComponentName() string

ComponentName implements Instance interface

func (*TiKVInstance) DataDir

func (i *TiKVInstance) DataDir() string

func (*TiKVInstance) DeployDir

func (i *TiKVInstance) DeployDir() string

func (*TiKVInstance) GetHost

func (i *TiKVInstance) GetHost() string

GetHost implements Instance interface

func (*TiKVInstance) GetPort

func (i *TiKVInstance) GetPort() int

func (*TiKVInstance) GetSSHPort

func (i *TiKVInstance) GetSSHPort() int

GetSSHPort implements Instance interface

func (*TiKVInstance) ID

func (i *TiKVInstance) ID() string

ID returns the identifier of this instance, the ID is constructed by host:port

func (*TiKVInstance) InitConfig

func (i *TiKVInstance) InitConfig(e executor.TiOpsExecutor, clusterName, clusterVersion, deployUser string, paths DirPaths) error

InitConfig implement Instance interface

func (*TiKVInstance) InstanceName

func (i *TiKVInstance) InstanceName() string

InstanceName implements Instance interface

func (*TiKVInstance) LogDir

func (i *TiKVInstance) LogDir() string

func (*TiKVInstance) OS added in v0.6.1

func (i *TiKVInstance) OS() string

func (*TiKVInstance) PrepareStart added in v0.6.2

func (i *TiKVInstance) PrepareStart() error

PrepareStart checks instance requirements before starting

func (*TiKVInstance) Ready

func (i *TiKVInstance) Ready(e executor.TiOpsExecutor, timeout int64) error

Ready implements Instance interface

func (*TiKVInstance) ScaleConfig

func (i *TiKVInstance) ScaleConfig(e executor.TiOpsExecutor, b Specification, clusterName, clusterVersion, deployUser string, paths DirPaths) error

ScaleConfig deploy temporary config on scaling

func (*TiKVInstance) ServiceName

func (i *TiKVInstance) ServiceName() string

ServiceName implements Instance interface

func (*TiKVInstance) Status

func (i *TiKVInstance) Status(pdList ...string) string

func (*TiKVInstance) UsedDirs

func (i *TiKVInstance) UsedDirs() []string

func (*TiKVInstance) UsedPorts

func (i *TiKVInstance) UsedPorts() []int

func (*TiKVInstance) WaitForDown

func (i *TiKVInstance) WaitForDown(e executor.TiOpsExecutor, timeout int64) error

WaitForDown implements Instance interface

type TiKVSpec

type TiKVSpec struct {
	Host            string                 `yaml:"host"`
	SSHPort         int                    `yaml:"ssh_port,omitempty"`
	Imported        bool                   `yaml:"imported,omitempty"`
	Port            int                    `yaml:"port" default:"20160"`
	StatusPort      int                    `yaml:"status_port" default:"20180"`
	DeployDir       string                 `yaml:"deploy_dir,omitempty"`
	DataDir         string                 `yaml:"data_dir,omitempty"`
	LogDir          string                 `yaml:"log_dir,omitempty"`
	Offline         bool                   `yaml:"offline,omitempty"`
	NumaNode        string                 `yaml:"numa_node,omitempty"`
	Config          map[string]interface{} `yaml:"config,omitempty"`
	ResourceControl ResourceControl        `yaml:"resource_control,omitempty"`
	Arch            string                 `yaml:"arch,omitempty"`
	OS              string                 `yaml:"os,omitempty"`
}

TiKVSpec represents the TiKV topology specification in topology.yaml

func (TiKVSpec) GetMainPort

func (s TiKVSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (TiKVSpec) IsImported

func (s TiKVSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (TiKVSpec) Role

func (s TiKVSpec) Role() string

Role returns the component role of the instance

func (TiKVSpec) SSH

func (s TiKVSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

func (TiKVSpec) Status

func (s TiKVSpec) Status(pdList ...string) string

Status queries current status of the instance

type TopologySpecification

type TopologySpecification struct {
	GlobalOptions    GlobalOptions      `yaml:"global,omitempty"`
	MonitoredOptions MonitoredOptions   `yaml:"monitored,omitempty"`
	ServerConfigs    ServerConfigs      `yaml:"server_configs,omitempty"`
	TiDBServers      []TiDBSpec         `yaml:"tidb_servers"`
	TiKVServers      []TiKVSpec         `yaml:"tikv_servers"`
	TiFlashServers   []TiFlashSpec      `yaml:"tiflash_servers"`
	PDServers        []PDSpec           `yaml:"pd_servers"`
	PumpServers      []PumpSpec         `yaml:"pump_servers,omitempty"`
	Drainers         []DrainerSpec      `yaml:"drainer_servers,omitempty"`
	CDCServers       []CDCSpec          `yaml:"cdc_servers,omitempty"`
	Monitors         []PrometheusSpec   `yaml:"monitoring_servers"`
	Grafana          []GrafanaSpec      `yaml:"grafana_servers,omitempty"`
	Alertmanager     []AlertManagerSpec `yaml:"alertmanager_servers,omitempty"`
}

TopologySpecification represents the specification of topology.yaml

func (*TopologySpecification) GetEtcdClient added in v0.6.1

func (topo *TopologySpecification) GetEtcdClient() (*clientv3.Client, error)

GetEtcdClient load EtcdClient of current cluster

func (*TopologySpecification) GetPDList

func (topo *TopologySpecification) GetPDList() []string

GetPDList returns a list of PD API hosts of the current cluster

func (*TopologySpecification) Merge

Merge returns a new TopologySpecification which sum old ones

func (*TopologySpecification) UnmarshalYAML

func (topo *TopologySpecification) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML sets default values when unmarshaling the topology file

func (*TopologySpecification) Validate

func (topo *TopologySpecification) Validate() error

Validate validates the topology specification and produce error if the specification invalid (e.g: port conflicts or directory conflicts)

type WorkerSpec added in v0.5.0

type WorkerSpec struct {
	Host     string `yaml:"host"`
	SSHPort  int    `yaml:"ssh_port,omitempty"`
	Imported bool   `yaml:"imported,omitempty"`
	// Use Name to get the name with a default value if it's empty.
	Name      string                 `yaml:"name"`
	Port      int                    `yaml:"port" default:"8262"`
	DeployDir string                 `yaml:"deploy_dir,omitempty"`
	DataDir   string                 `yaml:"data_dir,omitempty"`
	LogDir    string                 `yaml:"log_dir,omitempty"`
	Offline   bool                   `yaml:"offline,omitempty"`
	NumaNode  string                 `yaml:"numa_node,omitempty"`
	Config    map[string]interface{} `yaml:"config,omitempty"`
	Arch      string                 `yaml:"arch,omitempty"`
	OS        string                 `yaml:"os,omitempty"`
}

WorkerSpec represents the Master topology specification in topology.yaml

func (WorkerSpec) GetMainPort added in v0.5.0

func (s WorkerSpec) GetMainPort() int

GetMainPort returns the main port of the instance

func (WorkerSpec) IsImported added in v0.5.0

func (s WorkerSpec) IsImported() bool

IsImported returns if the node is imported from TiDB-Ansible

func (WorkerSpec) Role added in v0.5.0

func (s WorkerSpec) Role() string

Role returns the component role of the instance

func (WorkerSpec) SSH added in v0.5.0

func (s WorkerSpec) SSH() (string, int)

SSH returns the host and SSH port of the instance

func (WorkerSpec) Status added in v0.5.0

func (s WorkerSpec) Status(pdList ...string) string

Status queries current status of the instance

Jump to

Keyboard shortcuts

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