From 6585d4cfb6b55cb1e1cdbc09b34824f17f009c45 Mon Sep 17 00:00:00 2001 From: Andrea Luzzardi Date: Mon, 17 Nov 2014 13:31:17 -0800 Subject: [PATCH] Node: Expose reserved memory and CPUs. Signed-off-by: Andrea Luzzardi --- node.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/node.go b/node.go index 2222409dd3..7fa4f5748c 100644 --- a/node.go +++ b/node.go @@ -161,6 +161,24 @@ func (n *Node) updateLoop() { } } +// Return the sum of memory reserved by containers. +func (n *Node) ReservedMemory() int64 { + var r int64 = 0 + for _, c := range n.containers { + r += int64(c.Info.Config.Memory) + } + return r +} + +// Return the sum of CPUs reserved by containers. +func (n *Node) ReservedCpus() float64 { + r := 0.0 + for _, c := range n.containers { + r += float64(c.Info.Config.CpuShares) / 100.0 * float64(n.Cpus) + } + return r +} + func (n *Node) Create(config *dockerclient.ContainerConfig, name string, pullImage bool) (*Container, error) { var ( err error