From 4a7068d94a570cd5faa9588d64f90b9eca277d78 Mon Sep 17 00:00:00 2001 From: Andrea Luzzardi Date: Mon, 10 Nov 2014 16:25:09 -0800 Subject: [PATCH] Cluster: Implemented support to return a list of all containers Signed-off-by: Andrea Luzzardi --- cluster.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/cluster.go b/cluster.go index dde27e0827..bb0e2760a8 100644 --- a/cluster.go +++ b/cluster.go @@ -38,3 +38,19 @@ func (c *Cluster) AddNode(n *Node) error { c.nodes[n.ID] = n return nil } + +// Containers returns all the containers running in the cluster. +func (c *Cluster) Containers() []*Container { + c.mux.Lock() + defer c.mux.Unlock() + + out := []*Container{} + for _, n := range c.nodes { + containers := n.Containers() + for _, container := range containers { + out = append(out, container) + } + } + + return out +}