Skip to content

Commit b99bc5c

Browse files
workflow status message fix (#6536)
1 parent 44e36db commit b99bc5c

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

pkg/eventProcessor/in/WorkflowEventProcessorService.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ func (impl *WorkflowEventProcessorImpl) SubscribeCDWorkflowStatusUpdate() error
474474
return
475475
}
476476
}
477-
wfrId, status, stateChanged, err := impl.cdHandler.UpdateWorkflow(wfStatus)
477+
wfrId, status, stateChanged, wfStatusMessage, err := impl.cdHandler.UpdateWorkflow(wfStatus)
478478
impl.logger.Debugw("cd UpdateWorkflow for wfStatus", "wfrId", wfrId, "status", status, "wfStatus", wfStatus)
479479
if err != nil {
480480
impl.logger.Errorw("error in cd workflow status update", "wfrId", wfrId, "status", status, "wfStatus", wfStatus, "err", err)
@@ -501,7 +501,7 @@ func (impl *WorkflowEventProcessorImpl) SubscribeCDWorkflowStatusUpdate() error
501501
wfStatusInEvent := string(wfStatus.Phase)
502502
if wfStatusInEvent == string(v1alpha1.NodeSucceeded) || wfStatusInEvent == string(v1alpha1.NodeFailed) || wfStatusInEvent == string(v1alpha1.NodeError) {
503503
// the re-trigger should only happen when we get a pod deleted event.
504-
if executors.CheckIfReTriggerRequired(status, wfr.Message, wfr.Status) {
504+
if executors.CheckIfReTriggerRequired(status, wfStatusMessage, wfr.Status) {
505505
err = impl.workflowDagExecutor.HandleCdStageReTrigger(wfr)
506506
if err != nil {
507507
// check if this log required or not

pkg/pipeline/CdHandler.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ const (
6060
)
6161

6262
type CdHandler interface {
63-
UpdateWorkflow(workflowStatus eventProcessorBean.CiCdStatus) (int, string, bool, error)
63+
UpdateWorkflow(workflowStatus eventProcessorBean.CiCdStatus) (int, string, bool, string, error)
6464
GetCdBuildHistory(appId int, environmentId int, pipelineId int, offset int, size int) ([]pipelineBean.CdWorkflowWithArtifact, error)
6565
FetchCdWorkflowDetails(appId int, environmentId int, pipelineId int, buildId int) (types.WorkflowResponse, error)
6666
FetchCdPrePostStageStatus(pipelineId int) ([]pipelineBean.CdWorkflowWithArtifact, error)
@@ -129,23 +129,23 @@ func NewCdHandlerImpl(Logger *zap.SugaredLogger, userService user.UserService,
129129
return cdh
130130
}
131131

132-
func (impl *CdHandlerImpl) UpdateWorkflow(workflowStatus eventProcessorBean.CiCdStatus) (int, string, bool, error) {
132+
func (impl *CdHandlerImpl) UpdateWorkflow(workflowStatus eventProcessorBean.CiCdStatus) (int, string, bool, string, error) {
133133
wfStatusRs := impl.extractWorkflowStatus(workflowStatus)
134134
workflowName, status, podStatus, message, podName := wfStatusRs.WorkflowName, wfStatusRs.Status, wfStatusRs.PodStatus, wfStatusRs.Message, wfStatusRs.PodName
135135
impl.Logger.Debugw("cd workflow status update event for", "wf ", workflowName, "status", status)
136136
if workflowName == "" {
137-
return 0, "", false, errors.New("invalid wf name")
137+
return 0, "", false, "", errors.New("invalid wf name")
138138
}
139139
workflowId, err := strconv.Atoi(workflowName[:strings.Index(workflowName, "-")])
140140
if err != nil {
141141
impl.Logger.Errorw("invalid wf status update req", "workflowName", workflowName, "err", err)
142-
return 0, "", false, err
142+
return 0, "", false, "", err
143143
}
144144

145145
savedWorkflow, err := impl.cdWorkflowRepository.FindPreOrPostCdWorkflowRunnerById(workflowId)
146146
if err != nil {
147147
impl.Logger.Error("cannot get saved wf", "workflowId", workflowId, "err", err)
148-
return 0, "", false, err
148+
return 0, "", false, "", err
149149
}
150150

151151
cdArtifactLocationFormat := impl.config.GetArtifactLocationFormat()
@@ -173,22 +173,22 @@ func (impl *CdHandlerImpl) UpdateWorkflow(workflowStatus eventProcessorBean.CiCd
173173
err = impl.cdWorkflowRunnerService.UpdateCdWorkflowRunnerWithStage(savedWorkflow)
174174
if err != nil {
175175
impl.Logger.Errorw("update wf failed for id", "wfId", savedWorkflow.Id, "err", err)
176-
return savedWorkflow.Id, "", true, err
176+
return savedWorkflow.Id, "", true, "", err
177177
}
178178
appId := savedWorkflow.CdWorkflow.Pipeline.AppId
179179
envId := savedWorkflow.CdWorkflow.Pipeline.EnvironmentId
180180
envDeploymentConfig, err := impl.deploymentConfigService.GetConfigForDevtronApps(appId, envId)
181181
if err != nil {
182182
impl.Logger.Errorw("error in fetching environment deployment config by appId and envId", "appId", appId, "envId", envId, "err", err)
183-
return savedWorkflow.Id, savedWorkflow.Status, true, err
183+
return savedWorkflow.Id, savedWorkflow.Status, true, "", err
184184
}
185185
globalUtil.TriggerCDMetrics(pipelineAdapter.GetTriggerMetricsFromRunnerObj(savedWorkflow, envDeploymentConfig), impl.config.ExposeCDMetrics)
186186
if string(v1alpha1.NodeError) == savedWorkflow.Status || string(v1alpha1.NodeFailed) == savedWorkflow.Status {
187187
impl.Logger.Warnw("cd stage failed for workflow", "wfId", savedWorkflow.Id)
188188
}
189-
return savedWorkflow.Id, savedWorkflow.Status, true, nil
189+
return savedWorkflow.Id, savedWorkflow.Status, true, message, nil
190190
}
191-
return savedWorkflow.Id, status, false, nil
191+
return savedWorkflow.Id, status, false, message, nil
192192
}
193193

194194
func (impl *CdHandlerImpl) extractWorkflowStatus(workflowStatus eventProcessorBean.CiCdStatus) *types.WorkflowStatus {

0 commit comments

Comments
 (0)