From cdfeac13a1d04d6c16f0fdceeeb283ac3ea58ffc Mon Sep 17 00:00:00 2001 From: Chelsea Holland Komlo Date: Tue, 27 Mar 2018 19:03:01 -0400 Subject: [PATCH] specify driver health messages --- client/client.go | 1 + command/node_status.go | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/client/client.go b/client/client.go index 432c5b815..fb6261b66 100644 --- a/client/client.go +++ b/client/client.go @@ -1070,6 +1070,7 @@ func (c *Client) updateNodeFromDriver(name string, fingerprint, health *structs. Subsystem: "Driver", Message: health.HealthDescription, Timestamp: time.Now(), + Details: map[string]string{"driver": name}, } c.triggerNodeEvent(event) } diff --git a/command/node_status.go b/command/node_status.go index c914950a2..5bdac0d5d 100644 --- a/command/node_status.go +++ b/command/node_status.go @@ -431,7 +431,7 @@ func (c *NodeStatusCommand) outputNodeEvent(events []*api.NodeEvent) { for i, event := range events { timestamp := formatTime(event.Timestamp) subsystem := event.Subsystem - msg := event.Message + msg := formatEventMessage(event.Message, event.Details["driver"]) if c.verbose { details := formatEventDetails(event.Details) nodeEvents[size-i] = fmt.Sprintf("%s|%s|%s|%s", timestamp, subsystem, msg, details) @@ -442,6 +442,14 @@ func (c *NodeStatusCommand) outputNodeEvent(events []*api.NodeEvent) { c.Ui.Output(formatList(nodeEvents)) } +func formatEventMessage(message, driverName string) string { + if driverName == "" { + return message + } + + return fmt.Sprintf("Driver: %s, Message: %s", driverName, message) +} + func formatEventDetails(details map[string]string) string { output := make([]string, 0, len(details)) for k, v := range details {