From a40f307e887ce24916a0bafec0a5ed551cbd002e Mon Sep 17 00:00:00 2001 From: Michael Crosby Date: Thu, 8 Jun 2017 16:46:13 -0700 Subject: [PATCH] Namespace cgroups monitor ids Signed-off-by: Michael Crosby --- metrics/cgroups/cgroups.go | 9 +++++++-- spec_unix.go | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/metrics/cgroups/cgroups.go b/metrics/cgroups/cgroups.go index 1fb3ea373..6752a0f24 100644 --- a/metrics/cgroups/cgroups.go +++ b/metrics/cgroups/cgroups.go @@ -3,6 +3,7 @@ package cgroups import ( + "fmt" "time" "github.com/containerd/cgroups" @@ -45,8 +46,12 @@ type cgroupsMonitor struct { events chan<- *plugin.Event } +func getID(t plugin.Task) string { + return fmt.Sprintf("%s-%s", t.Info().ID, t.Info().Namespace) +} + func (m *cgroupsMonitor) Monitor(c plugin.Task) error { - id := c.Info().ID + id := getID(c) state, err := c.State(m.context) if err != nil { return err @@ -62,7 +67,7 @@ func (m *cgroupsMonitor) Monitor(c plugin.Task) error { } func (m *cgroupsMonitor) Stop(c plugin.Task) error { - m.collector.Remove(c.Info().ID) + m.collector.Remove(getID(c)) return nil } diff --git a/spec_unix.go b/spec_unix.go index f0b071068..c74d88e5f 100644 --- a/spec_unix.go +++ b/spec_unix.go @@ -155,6 +155,7 @@ func createDefaultSpec() (*specs.Spec, error) { }, }, Linux: &specs.Linux{ + // TODO (@crosbymichael) make sure we don't have have two containers in the same cgroup Resources: &specs.LinuxResources{ Devices: []specs.LinuxDeviceCgroup{ {