fix: [CDE-757]: Update instance state to error upon receiving error from resume operations (#3751)

* fix: [CDE-757]: Update instance state to error upon receiving error from resume operations
This commit is contained in:
Vikyath Harekal 2025-04-30 09:45:56 +00:00 committed by Harness
parent c62f822571
commit 8f7e024c9b

View File

@ -79,6 +79,7 @@ func (s *Service) handleGitspaceInfraResumeEvent(
}
updatedInstance, resumeStartErr := s.orchestrator.ResumeStartGitspace(ctxWithTimedOut, *config, payload.Infra)
if resumeStartErr != nil {
updatedInstance.State = enum.GitspaceInstanceStateError
s.emitGitspaceConfigEvent(ctxWithTimedOut, config, enum.GitspaceEventTypeGitspaceActionStartFailed)
updatedInstance.ErrorMessage = resumeStartErr.ErrorMessage
err = fmt.Errorf("failed to resume start gitspace: %w", resumeStartErr.Error)
@ -89,6 +90,7 @@ func (s *Service) handleGitspaceInfraResumeEvent(
case enum.InfraEventStop:
instanceState, resumeStopErr := s.orchestrator.ResumeStopGitspace(ctxWithTimedOut, *config, payload.Infra)
if resumeStopErr != nil {
instance.State = enum.GitspaceInstanceStateError
s.emitGitspaceConfigEvent(ctxWithTimedOut, config, enum.GitspaceEventTypeGitspaceActionStopFailed)
instance.ErrorMessage = resumeStopErr.ErrorMessage
err = fmt.Errorf("failed to resume stop gitspace: %w", resumeStopErr.Error)
@ -99,6 +101,7 @@ func (s *Service) handleGitspaceInfraResumeEvent(
case enum.InfraEventDeprovision:
instanceState, resumeDeleteErr := s.orchestrator.ResumeDeleteGitspace(ctxWithTimedOut, *config, payload.Infra)
if resumeDeleteErr != nil {
instance.State = enum.GitspaceInstanceStateError
err = fmt.Errorf("failed to resume delete gitspace: %w", resumeDeleteErr)
} else if config.IsMarkedForDeletion {
config.IsDeleted = true
@ -113,6 +116,7 @@ func (s *Service) handleGitspaceInfraResumeEvent(
instanceState, resumeCleanupErr := s.orchestrator.ResumeCleanupInstanceResources(
ctxWithTimedOut, *config, payload.Infra)
if resumeCleanupErr != nil {
instance.State = enum.GitspaceInstanceStateError
s.emitGitspaceConfigEvent(ctxWithTimedOut, config, enum.GitspaceEventTypeInfraCleanupFailed)
err = fmt.Errorf("failed to resume cleanup gitspace: %w", resumeCleanupErr)