From 944ba06e33a88c44aa642e165342c672e77aba3a Mon Sep 17 00:00:00 2001 From: Hrishav Date: Wed, 15 Nov 2023 19:29:59 +0530 Subject: [PATCH] fix: Fixed duplicate probe issue in enable/disable cron API (#4296) * fix: Fixed duplicate probe issue in enable/disable cron API Signed-off-by: Hrishav * chore: Updated go imports Signed-off-by: Hrishav --------- Signed-off-by: Hrishav --- .../pkg/chaos_experiment/handler/handler.go | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/chaoscenter/graphql/server/pkg/chaos_experiment/handler/handler.go b/chaoscenter/graphql/server/pkg/chaos_experiment/handler/handler.go index 41927187b3..8e35010ff2 100644 --- a/chaoscenter/graphql/server/pkg/chaos_experiment/handler/handler.go +++ b/chaoscenter/graphql/server/pkg/chaos_experiment/handler/handler.go @@ -9,12 +9,12 @@ import ( "strconv" "time" - "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1" - dbChaosInfra "github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb/chaos_infrastructure" "github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/probe" + "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1" chaosTypes "github.com/litmuschaos/chaos-operator/api/litmuschaos/v1alpha1" "github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/chaos_experiment/ops" + dbChaosInfra "github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb/chaos_infrastructure" dbSchemaProbe "github.com/litmuschaos/litmus/chaoscenter/graphql/server/pkg/database/mongodb/probe" @@ -1358,11 +1358,6 @@ func (c *ChaosExperimentHandler) UpdateCronExperimentState(ctx context.Context, return false, fmt.Errorf("failed to unmarshal experiment manifest, error: %s", err.Error()) } - cronWorkflowManifest, err = probe.GenerateCronExperimentManifestWithProbes(experiment.Revision[0].ExperimentManifest, experiment.ProjectID) - if err != nil { - return false, fmt.Errorf("failed to unmarshal experiment manifest, error: %v", err) - } - //state of the cron experiment state cronWorkflowManifest.Spec.Suspend = disable @@ -1386,7 +1381,6 @@ func (c *ChaosExperimentHandler) UpdateCronExperimentState(ctx context.Context, } //Update the runtime values in cron experiment manifest - cronWorkflowManifest, _, err = c.chaosExperimentService.UpdateRuntimeCronWorkflowConfiguration(cronWorkflowManifest, experiment) if err != nil { return false, err @@ -1396,6 +1390,17 @@ func (c *ChaosExperimentHandler) UpdateCronExperimentState(ctx context.Context, if err != nil { return false, errors.New("failed to marshal workflow manifest") } + + cronWorkflowManifest, err = probe.GenerateCronExperimentManifestWithProbes(string(updatedManifest), experiment.ProjectID) + if err != nil { + return false, fmt.Errorf("failed to unmarshal experiment manifest, error: %v", err) + } + + updatedManifest, err = json.Marshal(cronWorkflowManifest) + if err != nil { + return false, errors.New("failed to marshal workflow manifest") + } + if r != nil { chaos_infrastructure.SendExperimentToSubscriber(projectID, &model.ChaosExperimentRequest{ ExperimentID: &workflowID,