fix(region): json to string fix

This commit is contained in:
ioito
2021-12-28 10:41:26 +08:00
parent b945f9173e
commit cac7b8547a

View File

@@ -41,21 +41,22 @@ func (self *GuestSaveGuestImageTask) OnInit(ctx context.Context, obj db.IStandal
self.SetStage("OnSaveRootImageComplete", nil)
disks := guest.CategorizeDisks()
imageIds, _ := self.Params.GetArray("image_ids")
imageIds := []string{}
self.Params.Unmarshal(&imageIds, "image_ids")
self.Params.Remove("image_ids")
// data disk
for index, dataDisk := range disks.Data {
params := jsonutils.DeepCopy(self.Params).(*jsonutils.JSONDict)
params.Add(imageIds[index], "image_id")
opts := api.DiskSaveInput{ImageId: imageIds[index].String()}
params.Add(jsonutils.NewString(imageIds[index]), "image_id")
opts := api.DiskSaveInput{ImageId: imageIds[index]}
if err := dataDisk.StartDiskSaveTask(ctx, self.UserCred, opts, self.GetTaskId()); err != nil {
self.taskFailed(ctx, guest, jsonutils.NewString(err.Error()))
}
}
self.Params.Add(imageIds[len(imageIds)-1], "image_id")
opts := api.DiskSaveInput{ImageId: imageIds[len(imageIds)-1].String()}
self.Params.Add(jsonutils.NewString(imageIds[len(imageIds)-1]), "image_id")
opts := api.DiskSaveInput{ImageId: imageIds[len(imageIds)-1]}
if err := disks.Root.StartDiskSaveTask(ctx, self.UserCred, opts, self.GetTaskId()); err != nil {
self.taskFailed(ctx, guest, jsonutils.NewString(err.Error()))
}