diff --git a/pkg/compute/guestdrivers/base.go b/pkg/compute/guestdrivers/base.go index 7fc6802013..ad9b92f003 100644 --- a/pkg/compute/guestdrivers/base.go +++ b/pkg/compute/guestdrivers/base.go @@ -158,7 +158,14 @@ func (self *SBaseGuestDriver) StartGuestResetTask(guest *models.SGuest, ctx cont } func (self *SBaseGuestDriver) StartGuestRestartTask(guest *models.SGuest, ctx context.Context, userCred mcclient.TokenCredential, isForce bool, parentTaskId string) error { - return fmt.Errorf("Not Implement") + data := jsonutils.NewDict() + data.Set("is_force", jsonutils.NewBool(isForce)) + task, err := taskman.TaskManager.NewTask(ctx, "GuestRestartTask", guest, userCred, nil, parentTaskId, "", nil) + if err != nil { + return err + } + task.ScheduleRun(nil) + return nil } func (self *SBaseGuestDriver) RequestSoftReset(ctx context.Context, guest *models.SGuest, task taskman.ITask) error { diff --git a/pkg/compute/guestdrivers/container.go b/pkg/compute/guestdrivers/container.go index 635a6b30e0..8e2d91364d 100644 --- a/pkg/compute/guestdrivers/container.go +++ b/pkg/compute/guestdrivers/container.go @@ -170,3 +170,7 @@ func (self *SContainerDriver) RequestRebuildRootDisk(ctx context.Context, guest func (self *SContainerDriver) GetRandomNetworkTypes() []string { return []string{models.SERVER_TYPE_CONTAINER, models.SERVER_TYPE_GUEST} } + +func (self *SContainerDriver) StartGuestRestartTask(guest *models.SGuest, ctx context.Context, userCred mcclient.TokenCredential, isForce bool, parentTaskId string) error { + return fmt.Errorf("Not Implement") +} diff --git a/pkg/compute/guestdrivers/virtualization.go b/pkg/compute/guestdrivers/virtualization.go index 3f0d8ee7ae..893001de71 100644 --- a/pkg/compute/guestdrivers/virtualization.go +++ b/pkg/compute/guestdrivers/virtualization.go @@ -132,17 +132,6 @@ func (self *SVirtualizedGuestDriver) StartGuestResetTask(guest *models.SGuest, c return nil } -func (self *SVirtualizedGuestDriver) StartGuestRestartTask(guest *models.SGuest, ctx context.Context, userCred mcclient.TokenCredential, isForce bool, parentTaskId string) error { - data := jsonutils.NewDict() - data.Set("is_force", jsonutils.NewBool(isForce)) - task, err := taskman.TaskManager.NewTask(ctx, "GuestRestartTask", guest, userCred, nil, parentTaskId, "", nil) - if err != nil { - return err - } - task.ScheduleRun(nil) - return nil -} - func (self *SVirtualizedGuestDriver) RequestDeleteDetachedDisk(ctx context.Context, disk *models.SDisk, task taskman.ITask, isPurge bool) error { return disk.StartDiskDeleteTask(ctx, task.GetUserCred(), task.GetTaskId(), isPurge, jsonutils.QueryBoolean(task.GetParams(), "override_pending_delete", false))