diff --git a/pkg/compute/tasks/disk/disk_create_task.go b/pkg/compute/tasks/disk/disk_create_task.go index c422d53295..d408fbaef9 100644 --- a/pkg/compute/tasks/disk/disk_create_task.go +++ b/pkg/compute/tasks/disk/disk_create_task.go @@ -139,7 +139,9 @@ func (self *DiskCreateTask) OnDiskReady(ctx context.Context, disk *models.SDisk, guest := disk.GetGuest() if guest != nil { // just sync guest status - guest.StartSyncstatus(ctx, self.GetUserCred(), "") + self.SetStage("OnGuestSyncstatusComplete", nil) + guest.StartSyncstatus(ctx, self.GetUserCred(), self.GetTaskId()) + return } } self.SetStageComplete(ctx, nil) @@ -156,6 +158,16 @@ func (self *DiskCreateTask) OnDiskReadyFailed(ctx context.Context, disk *models. self.SetStageFailed(ctx, data) } +func (self *DiskCreateTask) OnGuestSyncstatusComplete(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) { + self.SetStageComplete(ctx, nil) +} + +func (self *DiskCreateTask) OnGuestSyncstatusCompleteFailed(ctx context.Context, guest *models.SGuest, err jsonutils.JSONObject) { + // ??? why + log.Errorf("OnGuestSyncstatusCompleteFailed: %s", err.String()) + self.SetStageFailed(ctx, err) +} + func init() { taskman.RegisterTask(DiskCreateTask{}) }