Skip to content

Commit e385923

Browse files
committed
[mdsv2] support sync dingo-mdsv2.conf from topology
1 parent 0b5f2b0 commit e385923

File tree

8 files changed

+73
-55
lines changed

8 files changed

+73
-55
lines changed

cli/command/deploy.go

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -44,28 +44,28 @@ import (
4444
)
4545

4646
const (
47-
CLEAN_PRECHECK_ENVIRONMENT = playbook.CLEAN_PRECHECK_ENVIRONMENT
48-
PULL_IMAGE = playbook.PULL_IMAGE
49-
CREATE_CONTAINER = playbook.CREATE_CONTAINER
50-
CREATE_MDSV2_CLI_CONTAINER = playbook.CREATE_MDSV2_CLI_CONTAINER
51-
SYNC_CONFIG = playbook.SYNC_CONFIG
52-
START_ETCD = playbook.START_ETCD
53-
ENABLE_ETCD_AUTH = playbook.ENABLE_ETCD_AUTH
54-
START_MDS = playbook.START_MDS
55-
CREATE_PHYSICAL_POOL = playbook.CREATE_PHYSICAL_POOL
56-
START_CHUNKSERVER = playbook.START_CHUNKSERVER
57-
CREATE_LOGICAL_POOL = playbook.CREATE_LOGICAL_POOL
58-
START_SNAPSHOTCLONE = playbook.START_SNAPSHOTCLONE
59-
START_METASERVER = playbook.START_METASERVER
60-
BALANCE_LEADER = playbook.BALANCE_LEADER
61-
START_MDSV2 = playbook.START_MDS_V2
62-
START_COORDINATOR = playbook.START_COORDINATOR
63-
START_STORE = playbook.START_STORE
64-
START_MDSV2_CLI_CONTAINER = playbook.START_MDSV2_CLI_CONTAINER
65-
START_DINGODB_EXECUTOR_CONTAINER = playbook.START_DINGDB_EXECUTOR_CONTAINER
66-
SYNC_MDSV2_CONFIG = playbook.SYNC_CONFIG
67-
CHECK_STORE_HEALTH = playbook.CHECK_STORE_HEALTH
68-
CREATE_META_TABLES = playbook.CREATE_META_TABLES
47+
CLEAN_PRECHECK_ENVIRONMENT = playbook.CLEAN_PRECHECK_ENVIRONMENT
48+
PULL_IMAGE = playbook.PULL_IMAGE
49+
CREATE_CONTAINER = playbook.CREATE_CONTAINER
50+
CREATE_MDSV2_CLI_CONTAINER = playbook.CREATE_MDSV2_CLI_CONTAINER
51+
SYNC_CONFIG = playbook.SYNC_CONFIG
52+
START_ETCD = playbook.START_ETCD
53+
ENABLE_ETCD_AUTH = playbook.ENABLE_ETCD_AUTH
54+
START_MDS = playbook.START_MDS
55+
CREATE_PHYSICAL_POOL = playbook.CREATE_PHYSICAL_POOL
56+
START_CHUNKSERVER = playbook.START_CHUNKSERVER
57+
CREATE_LOGICAL_POOL = playbook.CREATE_LOGICAL_POOL
58+
START_SNAPSHOTCLONE = playbook.START_SNAPSHOTCLONE
59+
START_METASERVER = playbook.START_METASERVER
60+
BALANCE_LEADER = playbook.BALANCE_LEADER
61+
START_MDSV2 = playbook.START_MDS_V2
62+
START_COORDINATOR = playbook.START_COORDINATOR
63+
START_STORE = playbook.START_STORE
64+
START_MDSV2_CLI_CONTAINER = playbook.START_MDSV2_CLI_CONTAINER
65+
START_DINGODB_EXECUTOR = playbook.START_DINGDB_EXECUTOR
66+
SYNC_MDSV2_CONFIG = playbook.SYNC_CONFIG
67+
CHECK_STORE_HEALTH = playbook.CHECK_STORE_HEALTH
68+
CREATE_META_TABLES = playbook.CREATE_META_TABLES
6969

7070
ROLE_ETCD = topology.ROLE_ETCD
7171
ROLE_MDS = topology.ROLE_MDS
@@ -135,7 +135,7 @@ var (
135135
START_COORDINATOR,
136136
START_STORE,
137137
CHECK_STORE_HEALTH,
138-
START_DINGODB_EXECUTOR_CONTAINER,
138+
START_DINGODB_EXECUTOR,
139139
START_MDSV2_CLI_CONTAINER,
140140
CREATE_META_TABLES,
141141
START_MDSV2,
@@ -151,23 +151,23 @@ var (
151151
}
152152

153153
DEPLOY_FILTER_ROLE = map[int]string{
154-
START_ETCD: ROLE_ETCD,
155-
ENABLE_ETCD_AUTH: ROLE_ETCD,
156-
START_MDS: ROLE_MDS,
157-
START_CHUNKSERVER: ROLE_CHUNKSERVER,
158-
START_SNAPSHOTCLONE: ROLE_SNAPSHOTCLONE,
159-
START_METASERVER: ROLE_METASERVER,
160-
CREATE_PHYSICAL_POOL: ROLE_MDS,
161-
CREATE_LOGICAL_POOL: ROLE_MDS,
162-
BALANCE_LEADER: ROLE_MDS,
163-
START_MDSV2: ROLE_MDS_V2,
164-
START_COORDINATOR: ROLE_COORDINATOR,
165-
START_STORE: ROLE_STORE,
166-
START_MDSV2_CLI_CONTAINER: ROLE_MDSV2_CLI,
167-
START_DINGODB_EXECUTOR_CONTAINER: ROLE_DINGODB_EXECUTOR,
168-
CHECK_STORE_HEALTH: ROLE_STORE,
169-
CREATE_META_TABLES: ROLE_MDSV2_CLI,
170-
CREATE_MDSV2_CLI_CONTAINER: ROLE_MDSV2_CLI,
154+
START_ETCD: ROLE_ETCD,
155+
ENABLE_ETCD_AUTH: ROLE_ETCD,
156+
START_MDS: ROLE_MDS,
157+
START_CHUNKSERVER: ROLE_CHUNKSERVER,
158+
START_SNAPSHOTCLONE: ROLE_SNAPSHOTCLONE,
159+
START_METASERVER: ROLE_METASERVER,
160+
CREATE_PHYSICAL_POOL: ROLE_MDS,
161+
CREATE_LOGICAL_POOL: ROLE_MDS,
162+
BALANCE_LEADER: ROLE_MDS,
163+
START_MDSV2: ROLE_MDS_V2,
164+
START_COORDINATOR: ROLE_COORDINATOR,
165+
START_STORE: ROLE_STORE,
166+
START_MDSV2_CLI_CONTAINER: ROLE_MDSV2_CLI,
167+
START_DINGODB_EXECUTOR: ROLE_DINGODB_EXECUTOR,
168+
CHECK_STORE_HEALTH: ROLE_STORE,
169+
CREATE_META_TABLES: ROLE_MDSV2_CLI,
170+
CREATE_MDSV2_CLI_CONTAINER: ROLE_MDSV2_CLI,
171171
}
172172

173173
// DEPLOY_LIMIT_SERVICE is used to limit the number of services

cli/command/upgrade.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ var (
5858
playbook.START_COORDINATOR,
5959
playbook.START_STORE,
6060
playbook.CHECK_STORE_HEALTH,
61+
playbook.START_DINGDB_EXECUTOR,
6162
playbook.START_MDS_V2,
6263
}
6364
)
@@ -133,6 +134,11 @@ func genUpgradePlaybook(dingoadm *cli.DingoAdm,
133134
stepDcs = dingoadm.FilterDeployConfigByRole(stepDcs, role)
134135
}
135136

137+
if DEPLOY_LIMIT_SERVICE[step] > 0 {
138+
n := DEPLOY_LIMIT_SERVICE[step]
139+
stepDcs = stepDcs[:n]
140+
}
141+
136142
pb.AddStep(&playbook.PlaybookStep{
137143
Type: step,
138144
Configs: stepDcs,

internal/configure/topology/dc_get.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ var (
8989
ROLE_METASERVER: []string{"metaserver.conf"},
9090
ROLE_COORDINATOR: []string{"coordinator-gflags.conf "},
9191
ROLE_STORE: []string{"store-gflags.conf"},
92+
ROLE_MDS_V2: []string{"dingo-mdsv2.template.conf"},
9293
ROLE_DINGODB_EXECUTOR: []string{"executor.yaml"},
9394
}
9495
)
@@ -274,7 +275,7 @@ func (dc *DeployConfig) GetDingoFsV2CoordinatorAddr() string {
274275
type (
275276
ConfFile struct {
276277
Name string
277-
Path string
278+
TargetPath string
278279
SourcePath string
279280
}
280281

@@ -353,13 +354,17 @@ func (dc *DeployConfig) GetProjectLayout() Layout {
353354
serviceConfFiles := []ConfFile{}
354355
for _, item := range ServiceConfigs[role] {
355356
sourcePath := fmt.Sprintf("%s/%s", confSrcDir, item)
357+
targetPath := fmt.Sprintf("%s/%s", serviceConfDir, item)
356358
if role == ROLE_COORDINATOR || role == ROLE_STORE || role == ROLE_DINGODB_EXECUTOR {
357359
// dingo-store coordinator/store gflags config
358360
sourcePath = fmt.Sprintf("%s/%s", serviceConfDir, item)
361+
} else if role == ROLE_MDS_V2 {
362+
sourcePath = fmt.Sprintf("%s/%s", confSrcDirV2, item)
363+
targetPath = sourcePath
359364
}
360365
serviceConfFiles = append(serviceConfFiles, ConfFile{
361366
Name: item,
362-
Path: fmt.Sprintf("%s/%s", serviceConfDir, item),
367+
TargetPath: targetPath,
363368
SourcePath: sourcePath,
364369
})
365370
}
@@ -391,7 +396,7 @@ func (dc *DeployConfig) GetProjectLayout() Layout {
391396
serviceLogDir = LAYOUT_DINGOSTORE_DIST_DIR + LAYOUT_DINGO_STORE_LOG_DIR
392397
serviceDataDir = LAYOUT_DINGOSTORE_DIST_DIR + LAYOUT_DINGO_STORE_DATA_DIR
393398
dingoStoreRaftDir = LAYOUT_DINGOSTORE_DIST_DIR + LAYOUT_DINGO_STORE_RAFT_DIR
394-
} else if role == ROLE_MDS_V2 {
399+
} else if role == ROLE_MDS_V2 || role == ROLE_DINGODB_EXECUTOR {
395400
serviceLogDir = serviceRootDir + "/log" // /dingofs/mdsv2/log
396401
}
397402

internal/configure/topology/topology.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,11 @@ func ParseTopology(data string, ctx *Context) ([]*DeployConfig, error) {
184184
services = topology.StoreServices
185185
case ROLE_DINGODB_EXECUTOR:
186186
services = topology.ExecutorServices
187+
// // just need to create one executor service which is used to trigger gc in dingo-store
188+
// services = Service{
189+
// Config: newIfNil(topology.ExecutorServices.Config),
190+
// Deploy: []Deploy{topology.ExecutorServices.Deploy[0]},
191+
// }
187192
case ROLE_MDSV2_CLI:
188193
// create tables role, only used to create meta tables
189194
// just keep one deploy config

internal/playbook/factory.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ const (
7676
START_COORDINATOR
7777
START_STORE
7878
START_MDSV2_CLI_CONTAINER
79-
START_DINGDB_EXECUTOR_CONTAINER
79+
START_DINGDB_EXECUTOR
8080
STOP_SERVICE
8181
RESTART_SERVICE
8282
CREATE_PHYSICAL_POOL
@@ -242,7 +242,7 @@ func (p *Playbook) createTasks(step *PlaybookStep) (*tasks.Tasks, error) {
242242
START_COORDINATOR,
243243
START_STORE,
244244
START_MDSV2_CLI_CONTAINER,
245-
START_DINGDB_EXECUTOR_CONTAINER:
245+
START_DINGDB_EXECUTOR:
246246
t, err = comm.NewStartServiceTask(dingoadm, config.GetDC(i))
247247
case ENABLE_ETCD_AUTH:
248248
t, err = comm.NewEnableEtcdAuthTask(dingoadm, config.GetDC(i))

internal/task/task/common/sync_config.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,11 @@ func NewMutate(dc *topology.DeployConfig, delimiter string, forceRender bool) st
6464
if strings.HasPrefix(key, "-") {
6565
muteKey = fmt.Sprintf("gflags.%s", strings.TrimPrefix(key, "-"))
6666
}
67-
} else if dc.GetRole() == topology.ROLE_DINGODB_EXECUTOR {
68-
fmt.Printf("origin key: %s, origin value: %s\n", muteKey, value)
69-
fmt.Printf("mutate value: %v\n", serviceConfig[strings.ToLower(muteKey)])
67+
} else if dc.GetRole() == topology.ROLE_MDS_V2 {
68+
// key is like --xxx , trim '--'
69+
if strings.HasPrefix(key, "--") {
70+
muteKey = strings.TrimPrefix(key, "--")
71+
}
7072
}
7173

7274
// replace config
@@ -153,7 +155,7 @@ func NewSyncConfigTask(dingoadm *cli.DingoAdm, dc *topology.DeployConfig) (*task
153155
ContainerSrcId: &containerId,
154156
ContainerSrcPath: conf.SourcePath,
155157
ContainerDestId: &containerId,
156-
ContainerDestPath: conf.Path,
158+
ContainerDestPath: conf.TargetPath,
157159
KVFieldSplit: delimiter,
158160
Mutate: NewMutate(dc, delimiter, conf.Name == "nginx.conf"),
159161
ExecOptions: dingoadm.ExecOptions(),

internal/task/task/playground/init.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ func NewInitPlaygroundTask(dingoadm *cli.DingoAdm, cfg *configure.PlaygroundConf
141141
ContainerSrcId: &containerId,
142142
ContainerSrcPath: conf.SourcePath,
143143
ContainerDestId: &containerId,
144-
ContainerDestPath: conf.Path,
144+
ContainerDestPath: conf.TargetPath,
145145
KVFieldSplit: delimiter,
146146
Mutate: newMutate(dc, delimiter),
147147
ExecOptions: execOptions(dingoadm),
@@ -173,15 +173,15 @@ func NewInitPlaygroundTask(dingoadm *cli.DingoAdm, cfg *configure.PlaygroundConf
173173
ExecOptions: execOptions(dingoadm),
174174
})
175175
for _, conf := range []topology.ConfFile{
176-
{SourcePath: "/curvebs/conf/client.conf", Path: "/curvebs/nebd/conf/client.conf"},
177-
{SourcePath: "/curvebs/conf/nebd-server.conf", Path: "/etc/nebd/nebd-server.conf"},
178-
{SourcePath: "/curvebs/conf/nebd-client.conf", Path: "/etc/nebd/nebd-client.conf"},
176+
{SourcePath: "/curvebs/conf/client.conf", TargetPath: "/curvebs/nebd/conf/client.conf"},
177+
{SourcePath: "/curvebs/conf/nebd-server.conf", TargetPath: "/etc/nebd/nebd-server.conf"},
178+
{SourcePath: "/curvebs/conf/nebd-client.conf", TargetPath: "/etc/nebd/nebd-client.conf"},
179179
} {
180180
t.AddStep(&step.SyncFile{ // sync service config
181181
ContainerSrcId: &containerId,
182182
ContainerSrcPath: conf.SourcePath,
183183
ContainerDestId: &containerId,
184-
ContainerDestPath: conf.Path,
184+
ContainerDestPath: conf.TargetPath,
185185
KVFieldSplit: DEFAULT_CONFIG_DELIMITER,
186186
Mutate: newMutate(cfg.GetClientConfig(), DEFAULT_CONFIG_DELIMITER),
187187
ExecOptions: execOptions(dingoadm),

internal/tui/service/status.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,11 @@ var (
7676
ROLE_COORDINATOR: 0,
7777
ROLE_MDS: 1,
7878
ROLE_STORE: 1,
79-
ROLE_DINGODB_EXECUTOR: 2,
8079
ROLE_CHUNKSERVER: 2,
8180
ROLE_METASERVER: 2,
8281
ROLE_SNAPSHOTCLONE: 3,
8382
ROLE_MDS_V2: 3,
83+
ROLE_DINGODB_EXECUTOR: 4,
8484
}
8585
MONITOT_ROLE_SCORE = map[string]int{
8686
configure.ROLE_NODE_EXPORTER: 0,

0 commit comments

Comments
 (0)