diff --git a/chaoscenter/graphql/definitions/shared/chaos_experiment.graphqls b/chaoscenter/graphql/definitions/shared/chaos_experiment.graphqls index fb78559ffcb..c9db03b5de5 100644 --- a/chaoscenter/graphql/definitions/shared/chaos_experiment.graphqls +++ b/chaoscenter/graphql/definitions/shared/chaos_experiment.graphqls @@ -29,6 +29,8 @@ enum ExperimentRunStatus { Skipped Error Timeout + Terminated + Queued NA } diff --git a/chaoscenter/graphql/server/graph/generated/generated.go b/chaoscenter/graphql/server/graph/generated/generated.go index b1201bf5a06..db2e96fd65b 100644 --- a/chaoscenter/graphql/server/graph/generated/generated.go +++ b/chaoscenter/graphql/server/graph/generated/generated.go @@ -4531,6 +4531,8 @@ enum ExperimentRunStatus { Skipped Error Timeout + Terminated + Queued NA } diff --git a/chaoscenter/graphql/server/graph/model/models_gen.go b/chaoscenter/graphql/server/graph/model/models_gen.go index 25a25681efd..d2e2240be93 100644 --- a/chaoscenter/graphql/server/graph/model/models_gen.go +++ b/chaoscenter/graphql/server/graph/model/models_gen.go @@ -2135,6 +2135,8 @@ const ( ExperimentRunStatusSkipped ExperimentRunStatus = "Skipped" ExperimentRunStatusError ExperimentRunStatus = "Error" ExperimentRunStatusTimeout ExperimentRunStatus = "Timeout" + ExperimentRunStatusTerminated ExperimentRunStatus = "Terminated" + ExperimentRunStatusQueued ExperimentRunStatus = "Queued" ExperimentRunStatusNa ExperimentRunStatus = "NA" ) @@ -2147,12 +2149,14 @@ var AllExperimentRunStatus = []ExperimentRunStatus{ ExperimentRunStatusSkipped, ExperimentRunStatusError, ExperimentRunStatusTimeout, + ExperimentRunStatusTerminated, + ExperimentRunStatusQueued, ExperimentRunStatusNa, } func (e ExperimentRunStatus) IsValid() bool { switch e { - case ExperimentRunStatusAll, ExperimentRunStatusRunning, ExperimentRunStatusCompleted, ExperimentRunStatusCompletedWithError, ExperimentRunStatusStopped, ExperimentRunStatusSkipped, ExperimentRunStatusError, ExperimentRunStatusTimeout, ExperimentRunStatusNa: + case ExperimentRunStatusAll, ExperimentRunStatusRunning, ExperimentRunStatusCompleted, ExperimentRunStatusCompletedWithError, ExperimentRunStatusStopped, ExperimentRunStatusSkipped, ExperimentRunStatusError, ExperimentRunStatusTimeout, ExperimentRunStatusTerminated, ExperimentRunStatusQueued, ExperimentRunStatusNa: return true } return false diff --git a/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go b/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go index dd9ef9fc4b9..cb8db9c9f7d 100644 --- a/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go +++ b/chaoscenter/graphql/server/pkg/chaos_experiment_run/handler/handler.go @@ -777,7 +777,7 @@ func (c *ChaosExperimentRunHandler) RunChaosWorkFlow(ctx context.Context, projec executionData := types.ExecutionData{ Name: workflowManifest.Name, - Phase: "Queued", + Phase: string(model.ExperimentRunStatusQueued), ExperimentID: workflow.ExperimentID, } @@ -856,7 +856,7 @@ func (c *ChaosExperimentRunHandler) RunChaosWorkFlow(ctx context.Context, projec err = c.chaosExperimentRunOperator.CreateExperimentRun(sessionContext, dbChaosExperimentRun.ChaosExperimentRun{ InfraID: workflow.InfraID, ExperimentID: workflow.ExperimentID, - Phase: "Queued", + Phase: string(model.ExperimentRunStatusQueued), RevisionID: workflow.Revision[0].RevisionID, ProjectID: projectID, Audit: mongodb.Audit{ @@ -1042,27 +1042,27 @@ func (c *ChaosExperimentRunHandler) GetExperimentRunStats(ctx context.Context, p return nil, err } - resMap := map[string]int{ - "Completed": 0, - "Stopped": 0, - "Running": 0, - "Terminated": 0, - "Error": 0, + resMap := map[model.ExperimentRunStatus]int{ + model.ExperimentRunStatusCompleted: 0, + model.ExperimentRunStatusStopped: 0, + model.ExperimentRunStatusRunning: 0, + model.ExperimentRunStatusTerminated: 0, + model.ExperimentRunStatusError: 0, } totalExperimentRuns := 0 for _, phase := range res { - resMap[phase.Id] = phase.Count + resMap[model.ExperimentRunStatus(phase.Id)] = phase.Count totalExperimentRuns = totalExperimentRuns + phase.Count } return &model.GetExperimentRunStatsResponse{ TotalExperimentRuns: totalExperimentRuns, - TotalCompletedExperimentRuns: resMap["Completed"], - TotalTerminatedExperimentRuns: resMap["Terminated"], - TotalRunningExperimentRuns: resMap["Running"], - TotalStoppedExperimentRuns: resMap["Stopped"], - TotalErroredExperimentRuns: resMap["Error"], + TotalCompletedExperimentRuns: resMap[model.ExperimentRunStatusCompleted], + TotalTerminatedExperimentRuns: resMap[model.ExperimentRunStatusTerminated], + TotalRunningExperimentRuns: resMap[model.ExperimentRunStatusRunning], + TotalStoppedExperimentRuns: resMap[model.ExperimentRunStatusStopped], + TotalErroredExperimentRuns: resMap[model.ExperimentRunStatusError], }, nil } diff --git a/litmus-portal/graphql-server/pkg/chaos-workflow/handler/handler.go b/litmus-portal/graphql-server/pkg/chaos-workflow/handler/handler.go index caabb7da067..e4c95df7a73 100644 --- a/litmus-portal/graphql-server/pkg/chaos-workflow/handler/handler.go +++ b/litmus-portal/graphql-server/pkg/chaos-workflow/handler/handler.go @@ -198,7 +198,7 @@ func (c *ChaosWorkflowHandler) TerminateChaosWorkflow(ctx context.Context, proje for _, workflowRun := range workflow.WorkflowRuns { if workflowRun.WorkflowRunID == *workflowRunID { workflowRun.Completed = true - workflowRun.Phase = "Terminated" + workflowRun.Phase = string(model.WorkflowRunStatusTerminated) } }