diff --git a/pkg/compute/models/containers.go b/pkg/compute/models/containers.go index 74b3627035..0c16771359 100644 --- a/pkg/compute/models/containers.go +++ b/pkg/compute/models/containers.go @@ -361,8 +361,8 @@ func (c *SContainer) StartCreateTask(ctx context.Context, userCred mcclient.Toke } func (c *SContainer) ValidateUpdateData(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input *api.ContainerUpdateInput) (*api.ContainerUpdateInput, error) { - if c.GetStatus() != api.CONTAINER_STATUS_EXITED { - return nil, httperrors.NewInvalidStatusError("current status %s is not %s", c.GetStatus(), api.CONTAINER_STATUS_EXITED) + if !api.ContainerExitedStatus.Has(c.GetStatus()) { + return nil, httperrors.NewInvalidStatusError("current status %s is not in %v", c.GetStatus(), api.ContainerExitedStatus.List()) } baseInput, err := c.SVirtualResourceBase.ValidateUpdateData(ctx, userCred, query, input.VirtualResourceBaseUpdateInput) diff --git a/pkg/compute/tasks/pod_stop_task.go b/pkg/compute/tasks/pod_stop_task.go index 44c1017de2..751ab260e8 100644 --- a/pkg/compute/tasks/pod_stop_task.go +++ b/pkg/compute/tasks/pod_stop_task.go @@ -51,7 +51,7 @@ func (t *PodStopTask) OnWaitContainerStopped(ctx context.Context, pod *models.SG for i := range ctrs { curCtr := ctrs[i] log.Infof("========container status: %s", curCtr.GetStatus()) - if curCtr.GetStatus() != api.CONTAINER_STATUS_EXITED { + if !api.ContainerExitedStatus.Has(curCtr.GetStatus()) { isAllStopped = false curCtr.StartStopTask(ctx, t.GetUserCred(), &api.ContainerStopInput{ Timeout: 1,