Merge pull request #189 from aluzzardi/node-events

Events: Embed the entire Node object rather than its attributes.
This commit is contained in:
Victor Vieux 2014-12-18 17:49:14 -08:00
commit 262ca3b286
5 changed files with 14 additions and 19 deletions

View File

@ -39,12 +39,12 @@ func (eh *eventsHandler) Handle(e *cluster.Event) error {
str := fmt.Sprintf("{%q:%q,%q:%q,%q:%q,%q:%d,%q:%q,%q:%q,%q:%q,%q:%q}", str := fmt.Sprintf("{%q:%q,%q:%q,%q:%q,%q:%d,%q:%q,%q:%q,%q:%q,%q:%q}",
"status", e.Status, "status", e.Status,
"id", e.Id, "id", e.Id,
"from", e.From+" node:"+e.NodeName, "from", e.From+" node:"+e.Node.Name,
"time", e.Time, "time", e.Time,
"node_name", e.NodeName, "node_name", e.Node.Name,
"node_id", e.NodeID, "node_id", e.Node.ID,
"node_addr", e.NodeAddr, "node_addr", e.Node.Addr,
"node_ip", e.NodeIP) "node_ip", e.Node.IP)
for key, w := range eh.ws { for key, w := range eh.ws {
if _, err := fmt.Fprintf(w, str); err != nil { if _, err := fmt.Fprintf(w, str); err != nil {

View File

@ -27,10 +27,12 @@ func TestHandle(t *testing.T) {
assert.Equal(t, eh.Size(), 1) assert.Equal(t, eh.Size(), 1)
event := &cluster.Event{ event := &cluster.Event{
NodeName: "node_name", Node: &cluster.Node{
NodeID: "node_id", Name: "node_name",
NodeAddr: "node_addr", ID: "node_id",
NodeIP: "node_ip", Addr: "node_addr",
IP: "node_ip",
},
} }
event.Event.Status = "status" event.Event.Status = "status"
event.Event.Id = "id" event.Event.Id = "id"

View File

@ -4,11 +4,7 @@ import "github.com/samalba/dockerclient"
type Event struct { type Event struct {
dockerclient.Event dockerclient.Event
Node *Node
NodeName string
NodeID string
NodeAddr string
NodeIP string
} }
type EventHandler interface { type EventHandler interface {

View File

@ -359,10 +359,7 @@ func (n *Node) handler(ev *dockerclient.Event, args ...interface{}) {
} }
event := &Event{ event := &Event{
NodeName: n.Name, Node: n,
NodeID: n.ID,
NodeAddr: n.Addr,
NodeIP: n.IP,
} }
event.Event = *ev event.Event = *ev

View File

@ -20,7 +20,7 @@ type logHandler struct {
} }
func (h *logHandler) Handle(e *cluster.Event) error { func (h *logHandler) Handle(e *cluster.Event) error {
log.Printf("event -> status: %q from: %q id: %q node: %q", e.Status, e.From, e.Id, e.NodeName) log.Printf("event -> status: %q from: %q id: %q node: %q", e.Status, e.From, e.Id, e.Node.Name)
return nil return nil
} }