From 5a5631a9a5092a433072e147fbb115df443b0ac1 Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Sat, 5 Oct 2024 18:00:00 +0800 Subject: [PATCH] fix(region): container exited status checking (#21347) --- pkg/compute/models/containers.go | 4 ++-- pkg/compute/tasks/pod_stop_task.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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,