Unverified Commit a0e517cf authored by Preetha's avatar Preetha Committed by GitHub
Browse files

Merge pull request #3535 from hashicorp/b-alloc-status-message-bugfix

Fixes bug with display message logic due to deprecating GenericSource…
parents f5c0c4e7 4e307587
Showing with 26 additions and 4 deletions
+26 -4
...@@ -583,7 +583,6 @@ const ( ...@@ -583,7 +583,6 @@ const (
TaskRestartSignal = "Restart Signaled" TaskRestartSignal = "Restart Signaled"
TaskLeaderDead = "Leader Task Dead" TaskLeaderDead = "Leader Task Dead"
TaskBuildingTaskDir = "Building Task Directory" TaskBuildingTaskDir = "Building Task Directory"
TaskGenericMessage = "Generic"
) )
// TaskEvent is an event that effects the state of a task and contains meta-data // TaskEvent is an event that effects the state of a task and contains meta-data
......
...@@ -440,8 +440,7 @@ func buildDisplayMessage(event *api.TaskEvent) string { ...@@ -440,8 +440,7 @@ func buildDisplayMessage(event *api.TaskEvent) string {
desc = event.DriverMessage desc = event.DriverMessage
case api.TaskLeaderDead: case api.TaskLeaderDead:
desc = "Leader Task in Group dead" desc = "Leader Task in Group dead"
case api.TaskGenericMessage: default:
event.Type = event.GenericSource
desc = event.Message desc = event.Message
} }
......
...@@ -3963,7 +3963,7 @@ func (event *TaskEvent) PopulateEventDisplayMessage() { ...@@ -3963,7 +3963,7 @@ func (event *TaskEvent) PopulateEventDisplayMessage() {
case TaskLeaderDead: case TaskLeaderDead:
desc = "Leader Task in Group dead" desc = "Leader Task in Group dead"
default: default:
desc = "" desc = event.Message
} }
event.DisplayMessage = desc event.DisplayMessage = desc
......
...@@ -2,6 +2,7 @@ package structs ...@@ -2,6 +2,7 @@ package structs
import ( import (
"fmt" "fmt"
"os"
"reflect" "reflect"
"strings" "strings"
"testing" "testing"
...@@ -2433,24 +2434,47 @@ func TestACLPolicySetHash(t *testing.T) { ...@@ -2433,24 +2434,47 @@ func TestACLPolicySetHash(t *testing.T) {
} }
func TestTaskEventPopulate(t *testing.T) { func TestTaskEventPopulate(t *testing.T) {
prepopulatedEvent := NewTaskEvent(TaskSetup)
prepopulatedEvent.DisplayMessage = "Hola"
testcases := []struct { testcases := []struct {
event *TaskEvent event *TaskEvent
expectedMsg string expectedMsg string
}{ }{
{nil, ""}, {nil, ""},
{prepopulatedEvent, "Hola"},
{NewTaskEvent(TaskSetup).SetMessage("Setup"), "Setup"},
{NewTaskEvent(TaskStarted), "Task started by client"}, {NewTaskEvent(TaskStarted), "Task started by client"},
{NewTaskEvent(TaskReceived), "Task received by client"}, {NewTaskEvent(TaskReceived), "Task received by client"},
{NewTaskEvent(TaskFailedValidation), "Validation of task failed"},
{NewTaskEvent(TaskFailedValidation).SetValidationError(fmt.Errorf("task failed validation")), "task failed validation"}, {NewTaskEvent(TaskFailedValidation).SetValidationError(fmt.Errorf("task failed validation")), "task failed validation"},
{NewTaskEvent(TaskSetupFailure), "Task setup failed"},
{NewTaskEvent(TaskSetupFailure).SetSetupError(fmt.Errorf("task failed setup")), "task failed setup"}, {NewTaskEvent(TaskSetupFailure).SetSetupError(fmt.Errorf("task failed setup")), "task failed setup"},
{NewTaskEvent(TaskDriverFailure), "Failed to start task"}, {NewTaskEvent(TaskDriverFailure), "Failed to start task"},
{NewTaskEvent(TaskDownloadingArtifacts), "Client is downloading artifacts"}, {NewTaskEvent(TaskDownloadingArtifacts), "Client is downloading artifacts"},
{NewTaskEvent(TaskArtifactDownloadFailed), "Failed to download artifacts"}, {NewTaskEvent(TaskArtifactDownloadFailed), "Failed to download artifacts"},
{NewTaskEvent(TaskArtifactDownloadFailed).SetDownloadError(fmt.Errorf("connection reset by peer")), "connection reset by peer"}, {NewTaskEvent(TaskArtifactDownloadFailed).SetDownloadError(fmt.Errorf("connection reset by peer")), "connection reset by peer"},
{NewTaskEvent(TaskRestarting).SetRestartDelay(2 * time.Second).SetRestartReason(ReasonWithinPolicy), "Task restarting in 2s"},
{NewTaskEvent(TaskRestarting).SetRestartReason("Chaos Monkey did it"), "Chaos Monkey did it - Task restarting in 0s"},
{NewTaskEvent(TaskKilling), "Sent interrupt"},
{NewTaskEvent(TaskKilling).SetKillReason("Its time for you to die"), "Killing task: Its time for you to die"}, {NewTaskEvent(TaskKilling).SetKillReason("Its time for you to die"), "Killing task: Its time for you to die"},
{NewTaskEvent(TaskKilling).SetKillTimeout(1 * time.Second), "Sent interrupt. Waiting 1s before force killing"}, {NewTaskEvent(TaskKilling).SetKillTimeout(1 * time.Second), "Sent interrupt. Waiting 1s before force killing"},
{NewTaskEvent(TaskTerminated).SetExitCode(-1).SetSignal(3), "Exit Code: -1, Signal: 3"}, {NewTaskEvent(TaskTerminated).SetExitCode(-1).SetSignal(3), "Exit Code: -1, Signal: 3"},
{NewTaskEvent(TaskTerminated).SetMessage("Goodbye"), "Exit Code: 0, Exit Message: \"Goodbye\""},
{NewTaskEvent(TaskKilled), "Task successfully killed"},
{NewTaskEvent(TaskKilled).SetKillError(fmt.Errorf("undead creatures can't be killed")), "undead creatures can't be killed"},
{NewTaskEvent(TaskNotRestarting).SetRestartReason("Chaos Monkey did it"), "Chaos Monkey did it"},
{NewTaskEvent(TaskNotRestarting), "Task exceeded restart policy"},
{NewTaskEvent(TaskLeaderDead), "Leader Task in Group dead"}, {NewTaskEvent(TaskLeaderDead), "Leader Task in Group dead"},
{NewTaskEvent(TaskSiblingFailed), "Task's sibling failed"},
{NewTaskEvent(TaskSiblingFailed).SetFailedSibling("patient zero"), "Task's sibling \"patient zero\" failed"}, {NewTaskEvent(TaskSiblingFailed).SetFailedSibling("patient zero"), "Task's sibling \"patient zero\" failed"},
{NewTaskEvent(TaskSignaling), "Task being sent a signal"},
{NewTaskEvent(TaskSignaling).SetTaskSignal(os.Interrupt), "Task being sent signal interrupt"},
{NewTaskEvent(TaskSignaling).SetTaskSignal(os.Interrupt).SetTaskSignalReason("process interrupted"), "Task being sent signal interrupt: process interrupted"},
{NewTaskEvent(TaskRestartSignal), "Task signaled to restart"},
{NewTaskEvent(TaskRestartSignal).SetRestartReason("Chaos Monkey restarted it"), "Chaos Monkey restarted it"},
{NewTaskEvent(TaskDriverMessage).SetDriverMessage("YOLO"), "YOLO"},
{NewTaskEvent("Unknown Type, No message"), ""},
{NewTaskEvent("Unknown Type").SetMessage("Hello world"), "Hello world"},
} }
for _, tc := range testcases { for _, tc := range testcases {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment