nodeevents -> events

This commit is contained in:
Alex Dadgar
2018-03-13 17:59:37 -07:00
parent 57ddd511cc
commit eceabb66f8
9 changed files with 41 additions and 48 deletions

View File

@@ -113,25 +113,22 @@ type Node struct {
Status string
StatusDescription string
StatusUpdatedAt int64
NodeEvents []*NodeEvent
Events []*NodeEvent
CreateIndex uint64
ModifyIndex uint64
}
// Subsystem denotes the subsystem where a node event took place.
type Subsystem string
const (
Drain Subsystem = "Drain"
Driver Subsystem = "Driver"
Heartbeat Subsystem = "Heartbeat"
Cluster Subsystem = "Cluster"
NodeEventSubsystemDrain = "Drain"
NodeEventSubsystemDriver = "Driver"
NodeEventSubsystemHeartbeat = "Heartbeat"
NodeEventSubsystemCluster = "Cluster"
)
// NodeEvent is a single unit representing a nodes state change
type NodeEvent struct {
Message string
Subsystem Subsystem
Subsystem string
Details map[string]string
Timestamp int64

View File

@@ -135,7 +135,7 @@ func TestNodes_Info(t *testing.T) {
t.Fatalf("start time: %v, status updated: %v", startTime, result.StatusUpdatedAt)
}
if len(result.NodeEvents) < 1 {
if len(result.Events) < 1 {
t.Fatalf("Expected at minimum the node register event to be populated: %+v", result)
}
}

View File

@@ -396,10 +396,10 @@ func TestHTTP_NodeQuery(t *testing.T) {
if n.ID != node.ID {
t.Fatalf("bad: %#v", n)
}
if len(n.NodeEvents) < 1 {
if len(n.Events) < 1 {
t.Fatalf("Expected node registration event to be populated: %#v", n)
}
if n.NodeEvents[0].Message != "Node Registered" {
if n.Events[0].Message != "Node Registered" {
t.Fatalf("Expected node registration event to be first node event: %#v", n)
}
})

View File

@@ -390,7 +390,7 @@ func (c *NodeStatusCommand) formatNode(client *api.Client, node *api.Node) int {
func (c *NodeStatusCommand) outputNodeStatusEvents(node *api.Node) {
c.Ui.Output(c.Colorize().Color("\n[bold]Node Events "))
c.outputNodeEvent(node.NodeEvents)
c.outputNodeEvent(node.Events)
}
func (c *NodeStatusCommand) outputNodeEvent(events []*api.NodeEvent) {

View File

@@ -111,9 +111,9 @@ func TestFSM_UpsertNodeEvents(t *testing.T) {
out, err := state.NodeByID(ws, node.ID)
require.Nil(err)
require.Equal(2, len(out.NodeEvents))
require.Equal(2, len(out.Events))
first := out.NodeEvents[1]
first := out.Events[1]
require.Equal(uint64(1), first.CreateIndex)
require.Equal("Heartbeating failed", first.Message)
}

View File

@@ -114,7 +114,7 @@ func TestClientEndpoint_EmitEvents(t *testing.T) {
ws := memdb.NewWatchSet()
out, err := state.NodeByID(ws, node.ID)
require.Nil(err)
require.False(len(out.NodeEvents) < 2)
require.False(len(out.Events) < 2)
}
func TestClientEndpoint_Register_SecretMismatch(t *testing.T) {
@@ -986,16 +986,16 @@ func TestClientEndpoint_GetNode(t *testing.T) {
// Update the status updated at value
node.StatusUpdatedAt = resp2.Node.StatusUpdatedAt
node.SecretID = ""
node.NodeEvents = resp2.Node.NodeEvents
node.Events = resp2.Node.Events
if !reflect.DeepEqual(node, resp2.Node) {
t.Fatalf("bad: %#v \n %#v", node, resp2.Node)
}
// assert that the node register event was set correctly
if len(resp2.Node.NodeEvents) != 1 {
if len(resp2.Node.Events) != 1 {
t.Fatalf("Did not set node events: %#v", resp2.Node)
}
if resp2.Node.NodeEvents[0].Message != "Node Registered" {
if resp2.Node.Events[0].Message != "Node Registered" {
t.Fatalf("Did not set node register event correctly: %#v", resp2.Node)
}

View File

@@ -528,7 +528,7 @@ func (s *StateStore) UpsertNode(index uint64, node *structs.Node) error {
node.Drain = exist.Drain // Retain the drain mode
// retain node events that have already been set on the node
node.NodeEvents = exist.NodeEvents
node.Events = exist.Events
} else {
// Because this is the first time the node is being registered, we should
// also create a node registration event
@@ -537,7 +537,7 @@ func (s *StateStore) UpsertNode(index uint64, node *structs.Node) error {
Subsystem: "Cluster",
Timestamp: node.StatusUpdatedAt,
}
node.NodeEvents = []*structs.NodeEvent{nodeEvent}
node.Events = []*structs.NodeEvent{nodeEvent}
node.CreateIndex = index
node.ModifyIndex = index
}
@@ -686,13 +686,13 @@ func (s *StateStore) upsertNodeEvents(index uint64, nodeID string, events []*str
for _, e := range events {
e.CreateIndex = index
e.ModifyIndex = index
copyNode.NodeEvents = append(copyNode.NodeEvents, e)
copyNode.Events = append(copyNode.Events, e)
}
// Keep node events pruned to not exceed the max allowed
if l := len(copyNode.NodeEvents); l > structs.MaxRetainedNodeEvents {
if l := len(copyNode.Events); l > structs.MaxRetainedNodeEvents {
delta := l - structs.MaxRetainedNodeEvents
copyNode.NodeEvents = copyNode.NodeEvents[delta:]
copyNode.Events = copyNode.Events[delta:]
}
// Insert the node

View File

@@ -758,9 +758,9 @@ func TestStateStore_AddSingleNodeEvent(t *testing.T) {
err := state.UpsertNode(1000, node)
require.Nil(err)
require.Equal(1, len(node.NodeEvents))
require.Equal(structs.Subsystem("Cluster"), node.NodeEvents[0].Subsystem)
require.Equal("Node Registered", node.NodeEvents[0].Message)
require.Equal(1, len(node.Events))
require.Equal(structs.NodeEventSubsystemCluster, node.Events[0].Subsystem)
require.Equal("Node Registered", node.Events[0].Message)
// Create a watchset so we can test that AddNodeEvent fires the watch
ws := memdb.NewWatchSet()
@@ -784,8 +784,8 @@ func TestStateStore_AddSingleNodeEvent(t *testing.T) {
out, err := state.NodeByID(ws, node.ID)
require.Nil(err)
require.Equal(2, len(out.NodeEvents))
require.Equal(nodeEvent, out.NodeEvents[1])
require.Equal(2, len(out.Events))
require.Equal(nodeEvent, out.Events[1])
}
// To prevent stale node events from accumulating, we limit the number of
@@ -800,9 +800,9 @@ func TestStateStore_NodeEvents_RetentionWindow(t *testing.T) {
if err != nil {
t.Fatalf("err: %v", err)
}
require.Equal(1, len(node.NodeEvents))
require.Equal(structs.Subsystem("Cluster"), node.NodeEvents[0].Subsystem)
require.Equal("Node Registered", node.NodeEvents[0].Message)
require.Equal(1, len(node.Events))
require.Equal(structs.NodeEventSubsystemCluster, node.Events[0].Subsystem)
require.Equal("Node Registered", node.Events[0].Message)
var out *structs.Node
for i := 1; i <= 20; i++ {
@@ -832,9 +832,9 @@ func TestStateStore_NodeEvents_RetentionWindow(t *testing.T) {
out, err = state.NodeByID(ws, node.ID)
require.Nil(err)
require.Equal(10, len(out.NodeEvents))
require.Equal(uint64(11), out.NodeEvents[0].CreateIndex)
require.Equal(uint64(20), out.NodeEvents[len(out.NodeEvents)-1].CreateIndex)
require.Equal(10, len(out.Events))
require.Equal(uint64(11), out.Events[0].CreateIndex)
require.Equal(uint64(20), out.Events[len(out.Events)-1].CreateIndex)
}
func TestStateStore_Nodes(t *testing.T) {

View File

@@ -1072,21 +1072,17 @@ type EmitNodeEventsResponse struct {
WriteMeta
}
// TODO needs to be a more specific name
// Subsystem denotes the subsystem where a node event took place.
type Subsystem string
const (
Drain Subsystem = "Drain"
Driver Subsystem = "Driver"
Heartbeat Subsystem = "Heartbeat"
Cluster Subsystem = "Cluster"
NodeEventSubsystemDrain = "Drain"
NodeEventSubsystemDriver = "Driver"
NodeEventSubsystemHeartbeat = "Heartbeat"
NodeEventSubsystemCluster = "Cluster"
)
// NodeEvent is a single unit representing a nodes state change
type NodeEvent struct {
Message string
Subsystem Subsystem
Subsystem string
Details map[string]string
Timestamp int64
CreateIndex uint64
@@ -1099,7 +1095,7 @@ func (ne *NodeEvent) String() string {
details = append(details, fmt.Sprintf("%s: %s", k, v))
}
return fmt.Sprintf("Message: %s, Subsystem: %s, Details: %s, Timestamp: %d", ne.Message, string(ne.Subsystem), strings.Join(details, ","), ne.Timestamp)
return fmt.Sprintf("Message: %s, Subsystem: %s, Details: %s, Timestamp: %d", ne.Message, ne.Subsystem, strings.Join(details, ","), ne.Timestamp)
}
func (ne *NodeEvent) Copy() *NodeEvent {
@@ -1212,9 +1208,9 @@ type Node struct {
// updated
StatusUpdatedAt int64
// NodeEvents is the most recent set of events generated for the node,
// Events is the most recent set of events generated for the node,
// retaining only MaxRetainedNodeEvents number at a time
NodeEvents []*NodeEvent
Events []*NodeEvent
// Raft Indexes
CreateIndex uint64
@@ -1237,7 +1233,7 @@ func (n *Node) Copy() *Node {
nn.Reserved = nn.Reserved.Copy()
nn.Links = helper.CopyMapStringString(nn.Links)
nn.Meta = helper.CopyMapStringString(nn.Meta)
nn.NodeEvents = copyNodeEvents(n.NodeEvents)
nn.Events = copyNodeEvents(n.Events)
return nn
}