diff --git a/client/allochealth/tracker.go b/client/allochealth/tracker.go index 2bd727180..34db96f13 100644 --- a/client/allochealth/tracker.go +++ b/client/allochealth/tracker.go @@ -171,7 +171,7 @@ func (t *Tracker) TaskEvents() map[string]*structs.TaskEvent { // Go through are task information and build the event map for task, state := range t.taskHealth { useChecks := t.tg.Update.HealthCheck == structs.UpdateStrategyHealthCheck_Checks - if e, ok := state.event(deadline, t.tg.Update.MinHealthyTime, useChecks); ok { + if e, ok := state.event(deadline, t.tg.Update.HealthyDeadline, t.tg.Update.MinHealthyTime, useChecks); ok { events[task] = structs.NewTaskEvent(AllocHealthEventSource).SetMessage(e) } } @@ -487,7 +487,7 @@ type taskHealthState struct { // event takes the deadline time for the allocation to be healthy and the update // strategy of the group. It returns true if the task has contributed to the // allocation being unhealthy and if so, an event description of why. -func (t *taskHealthState) event(deadline time.Time, minHealthyTime time.Duration, useChecks bool) (string, bool) { +func (t *taskHealthState) event(deadline time.Time, healthyDeadline, minHealthyTime time.Duration, useChecks bool) (string, bool) { requireChecks := false desiredChecks := 0 for _, s := range t.task.Services { @@ -505,7 +505,7 @@ func (t *taskHealthState) event(deadline time.Time, minHealthyTime time.Duration switch t.state.State { case structs.TaskStatePending: - return "Task not running by deadline", true + return fmt.Sprintf("Task not running by healthy_deadline of %v", healthyDeadline), true case structs.TaskStateDead: // hook tasks are healthy when dead successfully if t.task.Lifecycle == nil || t.task.Lifecycle.Sidecar { @@ -514,7 +514,7 @@ func (t *taskHealthState) event(deadline time.Time, minHealthyTime time.Duration case structs.TaskStateRunning: // We are running so check if we have been running long enough if t.state.StartedAt.Add(minHealthyTime).After(deadline) { - return fmt.Sprintf("Task not running for min_healthy_time of %v by deadline", minHealthyTime), true + return fmt.Sprintf("Task not running for min_healthy_time of %v by healthy_deadline of %v", minHealthyTime, healthyDeadline), true } } } diff --git a/client/allocrunner/alloc_runner_test.go b/client/allocrunner/alloc_runner_test.go index 510d19940..38e19da84 100644 --- a/client/allocrunner/alloc_runner_test.go +++ b/client/allocrunner/alloc_runner_test.go @@ -1081,7 +1081,7 @@ func TestAllocRunner_DeploymentHealth_Unhealthy_Checks(t *testing.T) { require.NotEmpty(t, state.Events) last := state.Events[len(state.Events)-1] require.Equal(t, allochealth.AllocHealthEventSource, last.Type) - require.Contains(t, last.Message, "by deadline") + require.Contains(t, last.Message, "by healthy_deadline") } // TestAllocRunner_Destroy asserts that Destroy kills and cleans up a running @@ -1648,7 +1648,6 @@ func TestAllocRunner_Reconnect(t *testing.T) { require.Equal(t, tc.clientStatus, ar.AllocState().ClientStatus) - // Make sure the runner's alloc indexes match the update. require.Equal(t, update.AllocModifyIndex, ar.Alloc().AllocModifyIndex) require.Equal(t, update.ModifyIndex, ar.Alloc().ModifyIndex)