diff --git a/pkg/app/pipedv1/plugin/kubernetes/deployment/pipeline.go b/pkg/app/pipedv1/plugin/kubernetes/deployment/pipeline.go index 388aa5f959..f7e57369b4 100644 --- a/pkg/app/pipedv1/plugin/kubernetes/deployment/pipeline.go +++ b/pkg/app/pipedv1/plugin/kubernetes/deployment/pipeline.go @@ -105,7 +105,7 @@ func MakeInitialStageMetadata(cfg config.PipelineStage) map[string]string { } } -func buildQuickSyncPipeline(autoRollback bool, now time.Time) []*model.PipelineStage { +func buildQuickSyncPipeline(index int32, autoRollback bool, now time.Time) []*model.PipelineStage { var ( preStageID = "" stage, _ = GetPredefinedStage(PredefinedStageK8sSync) @@ -113,16 +113,16 @@ func buildQuickSyncPipeline(autoRollback bool, now time.Time) []*model.PipelineS out = make([]*model.PipelineStage, 0, len(stages)) ) - for i, s := range stages { + for _, s := range stages { id := s.ID if id == "" { - id = fmt.Sprintf("stage-%d", i) + id = fmt.Sprintf("kubernetes-stage-%d", index) } stage := &model.PipelineStage{ Id: id, Name: s.Name.String(), Desc: s.Desc, - Index: int32(i), + Index: int32(index), Predefined: true, Visible: true, Status: model.StageStatus_STAGE_NOT_STARTED_YET, diff --git a/pkg/app/pipedv1/plugin/kubernetes/deployment/pipeline_test.go b/pkg/app/pipedv1/plugin/kubernetes/deployment/pipeline_test.go index 26f608ed77..3e8f604828 100644 --- a/pkg/app/pipedv1/plugin/kubernetes/deployment/pipeline_test.go +++ b/pkg/app/pipedv1/plugin/kubernetes/deployment/pipeline_test.go @@ -29,11 +29,13 @@ func TestBuildQuickSyncPipeline(t *testing.T) { tests := []struct { name string + index int32 autoRollback bool expected []*model.PipelineStage }{ { name: "without auto rollback", + index: 0, autoRollback: false, expected: []*model.PipelineStage{ { @@ -52,6 +54,7 @@ func TestBuildQuickSyncPipeline(t *testing.T) { }, { name: "with auto rollback", + index: 0, autoRollback: true, expected: []*model.PipelineStage{ { @@ -82,7 +85,7 @@ func TestBuildQuickSyncPipeline(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - actual := buildQuickSyncPipeline(tt.autoRollback, now) + actual := buildQuickSyncPipeline(tt.index, tt.autoRollback, now) assert.Equal(t, tt.expected, actual) }) } diff --git a/pkg/app/pipedv1/plugin/kubernetes/deployment/server.go b/pkg/app/pipedv1/plugin/kubernetes/deployment/server.go index a06b87a360..5a4c5d206f 100644 --- a/pkg/app/pipedv1/plugin/kubernetes/deployment/server.go +++ b/pkg/app/pipedv1/plugin/kubernetes/deployment/server.go @@ -72,7 +72,7 @@ func (a *DeploymentService) BuildPipelineSyncStages(context.Context, *deployment // BuildQuickSyncStages implements deployment.DeploymentServiceServer. func (a *DeploymentService) BuildQuickSyncStages(ctx context.Context, request *deployment.BuildQuickSyncStagesRequest) (*deployment.BuildQuickSyncStagesResponse, error) { now := time.Now() - stages := buildQuickSyncPipeline(request.GetRollback(), now) + stages := buildQuickSyncPipeline(request.GetStageIndex(), request.GetRollback(), now) return &deployment.BuildQuickSyncStagesResponse{ Stages: stages, }, nil