From 657fcc6c6446ab4fe2b62e863c97cfeee02a88f0 Mon Sep 17 00:00:00 2001 From: Tianxin Dong Date: Tue, 18 Apr 2023 16:57:30 +0800 Subject: [PATCH] Fix: fix terminate suspending steps (#5872) Signed-off-by: FogDong --- pkg/workflow/operation/operation.go | 4 ++-- pkg/workflow/operation/operation_test.go | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pkg/workflow/operation/operation.go b/pkg/workflow/operation/operation.go index 24b1b30e0..5ee266a05 100644 --- a/pkg/workflow/operation/operation.go +++ b/pkg/workflow/operation/operation.go @@ -489,7 +489,7 @@ func TerminateWorkflow(ctx context.Context, kubecli client.Client, app *v1beta1. if step.Reason != wfTypes.StatusReasonFailedAfterRetries && step.Reason != wfTypes.StatusReasonTimeout { steps[i].Reason = wfTypes.StatusReasonTerminate } - case workflowv1alpha1.WorkflowStepPhaseRunning: + case workflowv1alpha1.WorkflowStepPhaseRunning, workflowv1alpha1.WorkflowStepPhaseSuspending: steps[i].Phase = workflowv1alpha1.WorkflowStepPhaseFailed steps[i].Reason = wfTypes.StatusReasonTerminate default: @@ -500,7 +500,7 @@ func TerminateWorkflow(ctx context.Context, kubecli client.Client, app *v1beta1. if sub.Reason != wfTypes.StatusReasonFailedAfterRetries && sub.Reason != wfTypes.StatusReasonTimeout { steps[i].SubStepsStatus[j].Reason = wfTypes.StatusReasonTerminate } - case workflowv1alpha1.WorkflowStepPhaseRunning: + case workflowv1alpha1.WorkflowStepPhaseRunning, workflowv1alpha1.WorkflowStepPhaseSuspending: steps[i].SubStepsStatus[j].Phase = workflowv1alpha1.WorkflowStepPhaseFailed steps[i].SubStepsStatus[j].Reason = wfTypes.StatusReasonTerminate default: diff --git a/pkg/workflow/operation/operation_test.go b/pkg/workflow/operation/operation_test.go index e2fffd021..c070b5528 100644 --- a/pkg/workflow/operation/operation_test.go +++ b/pkg/workflow/operation/operation_test.go @@ -72,6 +72,17 @@ var _ = Describe("Kruise rollout test", func() { It("Terminate workflow", func() { checkApp := v1beta1.Application{} Expect(k8sClient.Get(ctx, types.NamespacedName{Namespace: "default", Name: "opt-app"}, &checkApp)).Should(BeNil()) + checkApp.Status.Workflow = &common.WorkflowStatus{ + Steps: []workflowv1alpha1.WorkflowStepStatus{ + { + StepStatus: workflowv1alpha1.StepStatus{ + Name: "step1", + Type: "suspend", + Phase: workflowv1alpha1.WorkflowStepPhaseSuspending, + }, + }, + }, + } operator := NewApplicationWorkflowOperator(k8sClient, nil, checkApp.DeepCopy()) Expect(operator.Terminate(ctx)).Should(BeNil()) checkApp = v1beta1.Application{} @@ -98,7 +109,7 @@ var _ = Describe("Kruise rollout test", func() { StepStatus: workflowv1alpha1.StepStatus{ Name: "step1", Type: "suspend", - Phase: workflowv1alpha1.WorkflowStepPhaseRunning, + Phase: workflowv1alpha1.WorkflowStepPhaseSuspending, }, }, },