From c533ac15f2ca7d8be86227c33949b4d5c8bfe4e4 Mon Sep 17 00:00:00 2001 From: Chen Lixiang Date: Tue, 24 Mar 2020 14:52:58 +0800 Subject: [PATCH 1/6] add config file support for playground --- components/playground/instance/instance.go | 1 + components/playground/instance/pd.go | 6 +++++- components/playground/instance/tidb.go | 6 +++++- components/playground/instance/tikv.go | 6 +++++- components/playground/main.go | 23 ++++++++++++++-------- 5 files changed, 31 insertions(+), 11 deletions(-) diff --git a/components/playground/instance/instance.go b/components/playground/instance/instance.go index 53c865add2..8f11afdcd2 100644 --- a/components/playground/instance/instance.go +++ b/components/playground/instance/instance.go @@ -26,6 +26,7 @@ type instance struct { Host string Port int StatusPort int // client port for PD + ConfigPath string } // Instance represent running component diff --git a/components/playground/instance/pd.go b/components/playground/instance/pd.go index 0d87b762ba..baa8772ddc 100644 --- a/components/playground/instance/pd.go +++ b/components/playground/instance/pd.go @@ -34,7 +34,7 @@ type PDInstance struct { } // NewPDInstance return a PDInstance -func NewPDInstance(dir, host string, id int) *PDInstance { +func NewPDInstance(dir, host, configPath string, id int) *PDInstance { return &PDInstance{ instance: instance{ ID: id, @@ -42,6 +42,7 @@ func NewPDInstance(dir, host string, id int) *PDInstance { Host: host, Port: utils.MustGetFreePort(host, 2380), StatusPort: utils.MustGetFreePort(host, 2379), + ConfigPath: configPath, }, } } @@ -68,6 +69,9 @@ func (inst *PDInstance) Start(ctx context.Context, version repository.Version) e fmt.Sprintf("--advertise-client-urls=http://%s:%d", inst.Host, inst.StatusPort), fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "pd.log")), } + if inst.ConfigPath != "" { + args = append(args, fmt.Sprintf("--config=%s", inst.ConfigPath)) + } endpoints := make([]string, 0, len(inst.endpoints)) for _, pd := range inst.endpoints { uid := fmt.Sprintf("pd-%d", pd.ID) diff --git a/components/playground/instance/tidb.go b/components/playground/instance/tidb.go index c8ed5f243e..a5013a2017 100644 --- a/components/playground/instance/tidb.go +++ b/components/playground/instance/tidb.go @@ -35,7 +35,7 @@ type TiDBInstance struct { } // NewTiDBInstance return a TiDBInstance -func NewTiDBInstance(dir, host string, id int, pds []*PDInstance) *TiDBInstance { +func NewTiDBInstance(dir, host, configPath string, id int, pds []*PDInstance) *TiDBInstance { return &TiDBInstance{ instance: instance{ ID: id, @@ -43,6 +43,7 @@ func NewTiDBInstance(dir, host string, id int, pds []*PDInstance) *TiDBInstance Host: host, Port: utils.MustGetFreePort(host, 4000), StatusPort: utils.MustGetFreePort("0.0.0.0", 10080), + ConfigPath: configPath, }, pds: pds, } @@ -66,6 +67,9 @@ func (inst *TiDBInstance) Start(ctx context.Context, version repository.Version) fmt.Sprintf("--path=%s", strings.Join(endpoints, ",")), fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "tidb.log")), } + if inst.ConfigPath != "" { + args = append(args, fmt.Sprintf("--config=%s", inst.ConfigPath)) + } inst.cmd = exec.CommandContext(ctx, args[0], args[1:]...) inst.cmd.Env = append( os.Environ(), diff --git a/components/playground/instance/tikv.go b/components/playground/instance/tikv.go index 6afdf1c173..c5be6ae14b 100644 --- a/components/playground/instance/tikv.go +++ b/components/playground/instance/tikv.go @@ -36,7 +36,7 @@ type TiKVInstance struct { } // NewTiKVInstance return a TiKVInstance -func NewTiKVInstance(dir, host string, id int, pds []*PDInstance) *TiKVInstance { +func NewTiKVInstance(dir, host, configPath string, id int, pds []*PDInstance) *TiKVInstance { return &TiKVInstance{ instance: instance{ ID: id, @@ -44,6 +44,7 @@ func NewTiKVInstance(dir, host string, id int, pds []*PDInstance) *TiKVInstance Host: host, Port: utils.MustGetFreePort(host, 20160), StatusPort: utils.MustGetFreePort(host, 20180), + ConfigPath: configPath, }, pds: pds, } @@ -55,6 +56,9 @@ func (inst *TiKVInstance) Start(ctx context.Context, version repository.Version) return err } configPath := path.Join(inst.Dir, "tikv.toml") + if inst.ConfigPath != "" { + configPath = inst.ConfigPath + } cf, err := os.Create(configPath) if err != nil { return errors.Trace(err) diff --git a/components/playground/main.go b/components/playground/main.go index 001a44c80f..0bdf36ec3b 100644 --- a/components/playground/main.go +++ b/components/playground/main.go @@ -73,6 +73,9 @@ func execute() error { pdNum := 1 host := "127.0.0.1" monitor := false + dbConfigPath := "" + kvConfigPath := "" + pdConfigPath := "" rootCmd := &cobra.Command{ Use: "tiup playground [version]", @@ -80,16 +83,17 @@ func execute() error { if you don't specified a version. Examples: - $ tiup playground nightly # Start a TiDB nightly version local cluster - $ tiup playground v3.0.10 --db 3 --pd 3 --kv 3 # Start a local cluster with 10 nodes - $ tiup playground nightly --monitor # Start a local cluster with monitor system`, + $ tiup playground nightly # Start a TiDB nightly version local cluster + $ tiup playground v3.0.10 --db 3 --pd 3 --kv 3 # Start a local cluster with 10 nodes + $ tiup playground nightly --monitor # Start a local cluster with monitor system + $ tiup playground --pd.config ./pd.toml --db.config ./db.toml --kv.config ./kv.toml # Start a local cluster with specified configuration file`, SilenceUsage: true, RunE: func(cmd *cobra.Command, args []string) error { version := "" if len(args) > 0 { version = args[0] } - return bootCluster(version, pdNum, tidbNum, tikvNum, host, monitor) + return bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath, pdNum, tidbNum, tikvNum, host, monitor) }, } @@ -98,6 +102,9 @@ Examples: rootCmd.Flags().IntVarP(&pdNum, "pd", "", 1, "PD instance number") rootCmd.Flags().StringVarP(&host, "host", "", host, "Playground cluster host") rootCmd.Flags().BoolVar(&monitor, "monitor", false, "Start prometheus component") + rootCmd.Flags().StringVarP(&dbConfigPath, "db.config", "", "", "TiDB instance configuration file") + rootCmd.Flags().StringVarP(&kvConfigPath, "kv.config", "", "", "TiKV instance configuration file") + rootCmd.Flags().StringVarP(&pdConfigPath, "pd.config", "", "", "PD instance configuration file") return rootCmd.Execute() } @@ -147,7 +154,7 @@ func hasDashboard(pdAddr string) bool { return false } -func bootCluster(version string, pdNum, tidbNum, tikvNum int, host string, monitor bool) error { +func bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath string, pdNum, tidbNum, tikvNum int, host string, monitor bool) error { if pdNum < 1 || tidbNum < 1 || tikvNum < 1 { return fmt.Errorf("all components count must be great than 0 (tidb=%v, tikv=%v, pd=%v)", tidbNum, tikvNum, pdNum) @@ -179,7 +186,7 @@ func bootCluster(version string, pdNum, tidbNum, tikvNum int, host string, monit for i := 0; i < pdNum; i++ { dir := filepath.Join(dataDir, fmt.Sprintf("pd-%d", i)) - inst := instance.NewPDInstance(dir, host, i) + inst := instance.NewPDInstance(dir, pdConfigPath, host, i) pds = append(pds, inst) all = append(all, inst) } @@ -189,14 +196,14 @@ func bootCluster(version string, pdNum, tidbNum, tikvNum int, host string, monit for i := 0; i < tikvNum; i++ { dir := filepath.Join(dataDir, fmt.Sprintf("tikv-%d", i)) - inst := instance.NewTiKVInstance(dir, host, i, pds) + inst := instance.NewTiKVInstance(dir, host, kvConfigPath, i, pds) kvs = append(kvs, inst) all = append(all, inst) } for i := 0; i < tidbNum; i++ { dir := filepath.Join(dataDir, fmt.Sprintf("tidb-%d", i)) - inst := instance.NewTiDBInstance(dir, host, i, pds) + inst := instance.NewTiDBInstance(dir, host, dbConfigPath, i, pds) dbs = append(dbs, inst) all = append(all, inst) } From 6fce0de832047e3d6877847e0ebcc1bb4118bdf1 Mon Sep 17 00:00:00 2001 From: Chen Lixiang Date: Wed, 25 Mar 2020 10:28:22 +0800 Subject: [PATCH 2/6] fix problems --- components/playground/instance/pd.go | 13 +++++++------ components/playground/instance/tidb.go | 13 +++++++------ components/playground/main.go | 2 +- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/components/playground/instance/pd.go b/components/playground/instance/pd.go index baa8772ddc..722803b3fd 100644 --- a/components/playground/instance/pd.go +++ b/components/playground/instance/pd.go @@ -62,15 +62,16 @@ func (inst *PDInstance) Start(ctx context.Context, version repository.Version) e args := []string{ "tiup", compVersion("pd", version), "--name=" + uid, - fmt.Sprintf("--data-dir=%s", filepath.Join(inst.Dir, "data")), - fmt.Sprintf("--peer-urls=http://%s:%d", inst.Host, inst.Port), - fmt.Sprintf("--advertise-peer-urls=http://%s:%d", inst.Host, inst.Port), - fmt.Sprintf("--client-urls=http://%s:%d", inst.Host, inst.StatusPort), - fmt.Sprintf("--advertise-client-urls=http://%s:%d", inst.Host, inst.StatusPort), - fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "pd.log")), } if inst.ConfigPath != "" { args = append(args, fmt.Sprintf("--config=%s", inst.ConfigPath)) + } else { + args = append(args, fmt.Sprintf("--data-dir=%s", filepath.Join(inst.Dir, "data")), + fmt.Sprintf("--peer-urls=http://%s:%d", inst.Host, inst.Port), + fmt.Sprintf("--advertise-peer-urls=http://%s:%d", inst.Host, inst.Port), + fmt.Sprintf("--client-urls=http://%s:%d", inst.Host, inst.StatusPort), + fmt.Sprintf("--advertise-client-urls=http://%s:%d", inst.Host, inst.StatusPort), + fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "pd.log"))) } endpoints := make([]string, 0, len(inst.endpoints)) for _, pd := range inst.endpoints { diff --git a/components/playground/instance/tidb.go b/components/playground/instance/tidb.go index a5013a2017..8a11480ac5 100644 --- a/components/playground/instance/tidb.go +++ b/components/playground/instance/tidb.go @@ -60,15 +60,16 @@ func (inst *TiDBInstance) Start(ctx context.Context, version repository.Version) } args := []string{ "tiup", compVersion("tidb", version), - "-P", strconv.Itoa(inst.Port), - "--store=tikv", - fmt.Sprintf("--host=%s", inst.Host), - fmt.Sprintf("--status=%d", inst.StatusPort), - fmt.Sprintf("--path=%s", strings.Join(endpoints, ",")), - fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "tidb.log")), } if inst.ConfigPath != "" { args = append(args, fmt.Sprintf("--config=%s", inst.ConfigPath)) + } else { + args = append(args, "-P", strconv.Itoa(inst.Port), + "--store=tikv", + fmt.Sprintf("--host=%s", inst.Host), + fmt.Sprintf("--status=%d", inst.StatusPort), + fmt.Sprintf("--path=%s", strings.Join(endpoints, ",")), + fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "tidb.log"))) } inst.cmd = exec.CommandContext(ctx, args[0], args[1:]...) inst.cmd.Env = append( diff --git a/components/playground/main.go b/components/playground/main.go index 0bdf36ec3b..062605f6c9 100644 --- a/components/playground/main.go +++ b/components/playground/main.go @@ -186,7 +186,7 @@ func bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath string, pdNum for i := 0; i < pdNum; i++ { dir := filepath.Join(dataDir, fmt.Sprintf("pd-%d", i)) - inst := instance.NewPDInstance(dir, pdConfigPath, host, i) + inst := instance.NewPDInstance(dir, host, pdConfigPath, i) pds = append(pds, inst) all = append(all, inst) } From 6c52acb9788c5d94844f1d17c101955397af72b6 Mon Sep 17 00:00:00 2001 From: Chen Lixiang Date: Wed, 25 Mar 2020 14:22:23 +0800 Subject: [PATCH 3/6] don't miss other configs, fix example --- components/playground/instance/pd.go | 13 ++++++------- components/playground/instance/tidb.go | 13 ++++++------- components/playground/main.go | 8 ++++---- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/components/playground/instance/pd.go b/components/playground/instance/pd.go index 722803b3fd..baa8772ddc 100644 --- a/components/playground/instance/pd.go +++ b/components/playground/instance/pd.go @@ -62,16 +62,15 @@ func (inst *PDInstance) Start(ctx context.Context, version repository.Version) e args := []string{ "tiup", compVersion("pd", version), "--name=" + uid, + fmt.Sprintf("--data-dir=%s", filepath.Join(inst.Dir, "data")), + fmt.Sprintf("--peer-urls=http://%s:%d", inst.Host, inst.Port), + fmt.Sprintf("--advertise-peer-urls=http://%s:%d", inst.Host, inst.Port), + fmt.Sprintf("--client-urls=http://%s:%d", inst.Host, inst.StatusPort), + fmt.Sprintf("--advertise-client-urls=http://%s:%d", inst.Host, inst.StatusPort), + fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "pd.log")), } if inst.ConfigPath != "" { args = append(args, fmt.Sprintf("--config=%s", inst.ConfigPath)) - } else { - args = append(args, fmt.Sprintf("--data-dir=%s", filepath.Join(inst.Dir, "data")), - fmt.Sprintf("--peer-urls=http://%s:%d", inst.Host, inst.Port), - fmt.Sprintf("--advertise-peer-urls=http://%s:%d", inst.Host, inst.Port), - fmt.Sprintf("--client-urls=http://%s:%d", inst.Host, inst.StatusPort), - fmt.Sprintf("--advertise-client-urls=http://%s:%d", inst.Host, inst.StatusPort), - fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "pd.log"))) } endpoints := make([]string, 0, len(inst.endpoints)) for _, pd := range inst.endpoints { diff --git a/components/playground/instance/tidb.go b/components/playground/instance/tidb.go index 8a11480ac5..a5013a2017 100644 --- a/components/playground/instance/tidb.go +++ b/components/playground/instance/tidb.go @@ -60,16 +60,15 @@ func (inst *TiDBInstance) Start(ctx context.Context, version repository.Version) } args := []string{ "tiup", compVersion("tidb", version), + "-P", strconv.Itoa(inst.Port), + "--store=tikv", + fmt.Sprintf("--host=%s", inst.Host), + fmt.Sprintf("--status=%d", inst.StatusPort), + fmt.Sprintf("--path=%s", strings.Join(endpoints, ",")), + fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "tidb.log")), } if inst.ConfigPath != "" { args = append(args, fmt.Sprintf("--config=%s", inst.ConfigPath)) - } else { - args = append(args, "-P", strconv.Itoa(inst.Port), - "--store=tikv", - fmt.Sprintf("--host=%s", inst.Host), - fmt.Sprintf("--status=%d", inst.StatusPort), - fmt.Sprintf("--path=%s", strings.Join(endpoints, ",")), - fmt.Sprintf("--log-file=%s", filepath.Join(inst.Dir, "tidb.log"))) } inst.cmd = exec.CommandContext(ctx, args[0], args[1:]...) inst.cmd.Env = append( diff --git a/components/playground/main.go b/components/playground/main.go index 062605f6c9..645d1c252a 100644 --- a/components/playground/main.go +++ b/components/playground/main.go @@ -83,10 +83,10 @@ func execute() error { if you don't specified a version. Examples: - $ tiup playground nightly # Start a TiDB nightly version local cluster - $ tiup playground v3.0.10 --db 3 --pd 3 --kv 3 # Start a local cluster with 10 nodes - $ tiup playground nightly --monitor # Start a local cluster with monitor system - $ tiup playground --pd.config ./pd.toml --db.config ./db.toml --kv.config ./kv.toml # Start a local cluster with specified configuration file`, + $ tiup playground nightly # Start a TiDB nightly version local cluster + $ tiup playground v3.0.10 --db 3 --pd 3 --kv 3 # Start a local cluster with 10 nodes + $ tiup playground nightly --monitor # Start a local cluster with monitor system + $ tiup playground --pd.config ~/config/pd.toml # Start a local cluster with specified configuration file`, SilenceUsage: true, RunE: func(cmd *cobra.Command, args []string) error { version := "" From 8e306337691fa019055c2e5c7481d9de97adbe71 Mon Sep 17 00:00:00 2001 From: Chen Lixiang Date: Sat, 28 Mar 2020 20:59:19 +0800 Subject: [PATCH 4/6] add bootOptions struct --- components/playground/main.go | 59 ++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 18 deletions(-) diff --git a/components/playground/main.go b/components/playground/main.go index 645d1c252a..21ccd67616 100644 --- a/components/playground/main.go +++ b/components/playground/main.go @@ -37,6 +37,18 @@ import ( "go.uber.org/zap" ) +type bootOptions struct { + version string + pdConfigPath string + dbConfigPath string + kvConfigPath string + pdNum int + tidbNum int + tikvNum int + host string + monitor bool +} + func installIfMissing(profile *localdata.Profile, component, version string) error { versions, err := meta.Profile().InstalledVersions(component) if err != nil { @@ -93,7 +105,18 @@ Examples: if len(args) > 0 { version = args[0] } - return bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath, pdNum, tidbNum, tikvNum, host, monitor) + options := &bootOptions{ + version: version, + pdConfigPath: pdConfigPath, + dbConfigPath: dbConfigPath, + kvConfigPath: kvConfigPath, + pdNum: pdNum, + tidbNum: tidbNum, + tikvNum: tikvNum, + host: host, + monitor: monitor, + } + return bootCluster(options) }, } @@ -154,10 +177,10 @@ func hasDashboard(pdAddr string) bool { return false } -func bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath string, pdNum, tidbNum, tikvNum int, host string, monitor bool) error { - if pdNum < 1 || tidbNum < 1 || tikvNum < 1 { +func bootCluster(options *bootOptions) error { + if options.pdNum < 1 || options.tidbNum < 1 || options.tikvNum < 1 { return fmt.Errorf("all components count must be great than 0 (tidb=%v, tikv=%v, pd=%v)", - tidbNum, tikvNum, pdNum) + options.tidbNum, options.tikvNum, options.pdNum) } // Initialize the profile @@ -167,7 +190,7 @@ func bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath string, pdNum } profile := localdata.NewProfile(profileRoot) for _, comp := range []string{"pd", "tikv", "tidb"} { - if err := installIfMissing(profile, comp, version); err != nil { + if err := installIfMissing(profile, comp, options.version); err != nil { return err } } @@ -176,17 +199,17 @@ func bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath string, pdNum return fmt.Errorf("cannot read environment variable %s", localdata.EnvNameInstanceDataDir) } - all := make([]instance.Instance, 0, pdNum+tikvNum+tidbNum) - pds := make([]*instance.PDInstance, 0, pdNum) - kvs := make([]*instance.TiKVInstance, 0, tikvNum) - dbs := make([]*instance.TiDBInstance, 0, tidbNum) + all := make([]instance.Instance, 0, options.pdNum+options.tikvNum+options.tidbNum) + pds := make([]*instance.PDInstance, 0, options.pdNum) + kvs := make([]*instance.TiKVInstance, 0, options.tikvNum) + dbs := make([]*instance.TiDBInstance, 0, options.tidbNum) ctx, cancel := context.WithCancel(context.Background()) defer cancel() - for i := 0; i < pdNum; i++ { + for i := 0; i < options.pdNum; i++ { dir := filepath.Join(dataDir, fmt.Sprintf("pd-%d", i)) - inst := instance.NewPDInstance(dir, host, pdConfigPath, i) + inst := instance.NewPDInstance(dir, options.host, options.pdConfigPath, i) pds = append(pds, inst) all = append(all, inst) } @@ -194,16 +217,16 @@ func bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath string, pdNum pd.Join(pds) } - for i := 0; i < tikvNum; i++ { + for i := 0; i < options.tikvNum; i++ { dir := filepath.Join(dataDir, fmt.Sprintf("tikv-%d", i)) - inst := instance.NewTiKVInstance(dir, host, kvConfigPath, i, pds) + inst := instance.NewTiKVInstance(dir, options.host, options.kvConfigPath, i, pds) kvs = append(kvs, inst) all = append(all, inst) } - for i := 0; i < tidbNum; i++ { + for i := 0; i < options.tidbNum; i++ { dir := filepath.Join(dataDir, fmt.Sprintf("tidb-%d", i)) - inst := instance.NewTiDBInstance(dir, host, dbConfigPath, i, pds) + inst := instance.NewTiDBInstance(dir, options.host, options.dbConfigPath, i, pds) dbs = append(dbs, inst) all = append(all, inst) } @@ -211,7 +234,7 @@ func bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath string, pdNum fmt.Println("Playground Bootstrapping...") var monitorAddr string - if monitor { + if options.monitor { if err := installIfMissing(profile, "prometheus", ""); err != nil { return err } @@ -227,7 +250,7 @@ func bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath string, pdNum } promDir := filepath.Join(dataDir, "prometheus") - addr, cmd, err := startMonitor(ctx, host, promDir, tidbAddrs, tikvAddrs, pdAddrs) + addr, cmd, err := startMonitor(ctx, options.host, promDir, tidbAddrs, tikvAddrs, pdAddrs) if err != nil { return err } @@ -255,7 +278,7 @@ func bootCluster(version, pdConfigPath, dbConfigPath, kvConfigPath string, pdNum } for _, inst := range all { - if err := inst.Start(ctx, repository.Version(version)); err != nil { + if err := inst.Start(ctx, repository.Version(options.version)); err != nil { return err } } From 063b04884a0b48bb0b873749380792a20cbf3ee6 Mon Sep 17 00:00:00 2001 From: Chen Lixiang Date: Sun, 29 Mar 2020 15:43:45 +0800 Subject: [PATCH 5/6] get absolute path for config files --- components/playground/main.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/components/playground/main.go b/components/playground/main.go index 841ece7c4c..6a9629d0fc 100644 --- a/components/playground/main.go +++ b/components/playground/main.go @@ -214,6 +214,16 @@ func bootCluster(options *bootOptions) error { pathMap["pd"] = getAbsolutePath(options.pdBinPath) } + if options.tidbConfigPath != "" { + options.tidbConfigPath = getAbsolutePath(options.tidbConfigPath) + } + if options.tikvConfigPath != "" { + options.tikvConfigPath = getAbsolutePath(options.tikvConfigPath) + } + if options.pdConfigPath != "" { + options.pdConfigPath = getAbsolutePath(options.pdConfigPath) + } + // Initialize the profile profileRoot := os.Getenv(localdata.EnvNameHome) if profileRoot == "" { From 2922ccd49d2a726e6878a1c7f260aae54dff8064 Mon Sep 17 00:00:00 2001 From: Chen Lixiang Date: Sun, 29 Mar 2020 15:47:31 +0800 Subject: [PATCH 6/6] fix some formats --- components/playground/main.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/playground/main.go b/components/playground/main.go index 6a9629d0fc..cbd77995a3 100644 --- a/components/playground/main.go +++ b/components/playground/main.go @@ -135,9 +135,9 @@ Examples: rootCmd.Flags().IntVarP(&pdNum, "pd", "", 1, "PD instance number") rootCmd.Flags().StringVarP(&host, "host", "", host, "Playground cluster host") rootCmd.Flags().BoolVar(&monitor, "monitor", false, "Start prometheus component") - rootCmd.Flags().StringVarP(&tidbConfigPath, "db.config", "", "", "TiDB instance configuration file") - rootCmd.Flags().StringVarP(&tikvConfigPath, "kv.config", "", "", "TiKV instance configuration file") - rootCmd.Flags().StringVarP(&pdConfigPath, "pd.config", "", "", "PD instance configuration file") + rootCmd.Flags().StringVarP(&tidbConfigPath, "db.config", "", tidbConfigPath, "TiDB instance configuration file") + rootCmd.Flags().StringVarP(&tikvConfigPath, "kv.config", "", tikvConfigPath, "TiKV instance configuration file") + rootCmd.Flags().StringVarP(&pdConfigPath, "pd.config", "", pdConfigPath, "PD instance configuration file") rootCmd.Flags().StringVarP(&tidbBinPath, "db.binpath", "", tidbBinPath, "TiDB instance binary path") rootCmd.Flags().StringVarP(&tikvBinPath, "kv.binpath", "", tikvBinPath, "TiKV instance binary path") rootCmd.Flags().StringVarP(&pdBinPath, "pd.binpath", "", pdBinPath, "PD instance binary path")