specify driver health messages

This commit is contained in:
Chelsea Holland Komlo
2018-03-27 19:03:01 -04:00
parent 3583f85343
commit cdfeac13a1
2 changed files with 10 additions and 1 deletions

View File

@@ -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)
}

View File

@@ -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 {