@@ -104,6 +104,8 @@ var (
104
104
105
105
type migrateOptions struct {
106
106
filename string
107
+ poolset string
108
+ poolsetDiskType string
107
109
}
108
110
109
111
func NewMigrateCommand (curveadm * cli.CurveAdm ) * cobra.Command {
@@ -120,6 +122,10 @@ func NewMigrateCommand(curveadm *cli.CurveAdm) *cobra.Command {
120
122
DisableFlagsInUseLine : true ,
121
123
}
122
124
125
+ flags := cmd .Flags ()
126
+ flags .StringVar (& options .poolset , "poolset" , "default" , "Specify the poolset" )
127
+ flags .StringVar (& options .poolsetDiskType , "poolset-disktype" , "ssd" , "Specify the disk type of physical pool" )
128
+
123
129
return cmd
124
130
}
125
131
@@ -178,13 +184,15 @@ func getMigrates(curveadm *cli.CurveAdm, data string) []*configure.MigrateServer
178
184
}
179
185
180
186
func genMigratePlaybook (curveadm * cli.CurveAdm ,
181
- dcs []* topology.DeployConfig , data string ) (* playbook.Playbook , error ) {
187
+ dcs []* topology.DeployConfig , options migrateOptions , data string ) (* playbook.Playbook , error ) {
182
188
diffs , _ := diffTopology (curveadm , data )
183
189
dcs2add := diffs [topology .DIFF_ADD ]
184
190
dcs2del := diffs [topology .DIFF_DELETE ]
185
191
migrates := getMigrates (curveadm , data )
186
192
role := migrates [0 ].From .GetRole ()
187
193
steps := MIGRATE_ROLE_STEPS [role ]
194
+ poolset := options .poolset
195
+ poolsetDiskType := options .poolsetDiskType
188
196
189
197
pb := playbook .NewPlaybook (curveadm )
190
198
for _ , step := range steps {
@@ -210,10 +218,14 @@ func genMigratePlaybook(curveadm *cli.CurveAdm,
210
218
case playbook .CREATE_PHYSICAL_POOL :
211
219
options [comm .KEY_CREATE_POOL_TYPE ] = comm .POOL_TYPE_PHYSICAL
212
220
options [comm .KEY_MIGRATE_SERVERS ] = migrates
221
+ options [comm .POOLSET ] = poolset
222
+ options [comm .POOLSET_DISK_TYPE ] = poolsetDiskType
213
223
case playbook .CREATE_LOGICAL_POOL :
214
224
options [comm .KEY_CREATE_POOL_TYPE ] = comm .POOL_TYPE_LOGICAL
215
225
options [comm .KEY_MIGRATE_SERVERS ] = migrates
216
226
options [comm .KEY_NEW_TOPOLOGY_DATA ] = data
227
+ options [comm .POOLSET ] = poolset
228
+ options [comm .POOLSET_DISK_TYPE ] = poolsetDiskType
217
229
case playbook .UPDATE_TOPOLOGY :
218
230
options [comm .KEY_NEW_TOPOLOGY_DATA ] = data
219
231
}
@@ -270,7 +282,7 @@ func runMigrate(curveadm *cli.CurveAdm, options migrateOptions) error {
270
282
}
271
283
272
284
// 6) generate migrate playbook
273
- pb , err := genMigratePlaybook (curveadm , dcs , data )
285
+ pb , err := genMigratePlaybook (curveadm , dcs , options , data )
274
286
if err != nil {
275
287
return err
276
288
}
0 commit comments