@@ -924,7 +924,7 @@ func (envs *Manager) CreateAutoEnvironment(workflowPath string, userVars map[str
924924
925925 goErrorKillDestroy := func (op string ) {
926926 envState := env .CurrentState ()
927- env .sendEnvironmentEvent (& event.EnvironmentEvent {EnvironmentID : env .Id ().String (), Error : err })
927+ env .sendEnvironmentEvent (& event.EnvironmentEvent {Message : fmt . Sprintf ( "environment is in %s, handling ERROR" , envState ), EnvironmentID : env .Id ().String (), Error : err })
928928 log .WithField ("state" , envState ).
929929 WithField ("environment" , env .Id ().String ()).
930930 WithError (err ).
@@ -937,14 +937,15 @@ func (envs *Manager) CreateAutoEnvironment(workflowPath string, userVars map[str
937937 log .WithField ("partition" , env .Id ().String ()).
938938 WithField ("state" , envState ).
939939 Debug ("could not transition failed auto-transitioning environment to ERROR, cleanup in progress" )
940+ env .sendEnvironmentEvent (& event.EnvironmentEvent {Message : "transition ERROR failed, forcing" , EnvironmentID : env .Id ().String (), Error : err })
940941 env .setState ("ERROR" )
941942 }
942943
943944 envTasks := env .Workflow ().GetTasks ()
944945 // TeardownEnvironment manages the envs.mu internally
945946 err = envs .TeardownEnvironment (env .Id (), true /*force*/ )
946947 if err != nil {
947- env .sendEnvironmentEvent (& event.EnvironmentEvent {EnvironmentID : env .Id ().String (), Error : err })
948+ env .sendEnvironmentEvent (& event.EnvironmentEvent {Message : "force teardown failed, handling" , EnvironmentID : env .Id ().String (), Error : err })
948949 }
949950
950951 killedTasks , _ , rlsErr := envs .taskman .KillTasks (envTasks .GetTaskIds ())
@@ -959,6 +960,8 @@ func (envs *Manager) CreateAutoEnvironment(workflowPath string, userVars map[str
959960 }).
960961 Infof ("auto-environment failed at %s, tasks were cleaned up" , op )
961962 log .WithField ("partition" , env .Id ().String ()).Info ("environment teardown complete" )
963+
964+ env .sendEnvironmentEvent (& event.EnvironmentEvent {Message : "environment teardown complete" , EnvironmentID : env .Id ().String ()})
962965 }
963966
964967 if err != nil {
@@ -973,7 +976,7 @@ func (envs *Manager) CreateAutoEnvironment(workflowPath string, userVars map[str
973976 // now we have the environment we should transition to start
974977 trans := NewStartActivityTransition (envs .taskman )
975978 if trans == nil {
976- env .sendEnvironmentEvent (& event.EnvironmentEvent {EnvironmentID : env .Id ().String (), Error : err })
979+ env .sendEnvironmentEvent (& event.EnvironmentEvent {EnvironmentID : env .Id ().String (), Error : err , Message : "transition START_ACTIVITY failed, handling" })
977980 goErrorKillDestroy ("transition START_ACTIVITY" )
978981
979982 return
@@ -1000,22 +1003,24 @@ func (envs *Manager) CreateAutoEnvironment(workflowPath string, userVars map[str
10001003 // RUN finished so we can reset and delete the environment
10011004 err = env .TryTransition (NewResetTransition (envs .taskman ))
10021005 if err != nil {
1003- env .sendEnvironmentEvent (& event.EnvironmentEvent {EnvironmentID : env .Id ().String (), Error : err })
1006+ env .sendEnvironmentEvent (& event.EnvironmentEvent {Message : "transition RESET failed, handling" , EnvironmentID : env .Id ().String (), Error : err })
10041007 goErrorKillDestroy ("transition RESET" )
10051008 return
10061009 }
10071010 err = envs .TeardownEnvironment (env .id , false )
10081011 if err != nil {
1009- env .sendEnvironmentEvent (& event.EnvironmentEvent {EnvironmentID : env .Id ().String (), Error : err })
1012+ env .sendEnvironmentEvent (& event.EnvironmentEvent {Message : "teardown failed, handling" , EnvironmentID : env .Id ().String (), Error : err })
10101013 goErrorKillDestroy ("teardown" )
10111014 return
10121015 }
10131016 tasksForEnv := env .Workflow ().GetTasks ().GetTaskIds ()
10141017 _ , _ , err = envs .taskman .KillTasks (tasksForEnv )
10151018 if err != nil {
1016- env .sendEnvironmentEvent (& event.EnvironmentEvent {EnvironmentID : env .Id ().String (), Error : err })
1019+ env .sendEnvironmentEvent (& event.EnvironmentEvent {Message : "task kill failed, handling" , EnvironmentID : env .Id ().String (), Error : err })
10171020 return
10181021 }
1022+
1023+ env .sendEnvironmentEvent (& event.EnvironmentEvent {Message : "environment teardown complete" , EnvironmentID : env .Id ().String ()})
10191024 return
10201025 case "ERROR" :
10211026 fallthrough
0 commit comments