From b919dee8347a47763d576136254bcbc922ef4c57 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Thu, 7 May 2015 15:18:22 -0600 Subject: [PATCH] Update "hack/vendor.sh" to be more explicit Previously, we've taken advantage of the fact that libcontainer's `update-vendor.sh` is the same syntax as Docker's `vendor.sh` with some shell magic. This changes that to copy libcontainer's dependencies into this file explicitly so that we can scale to more projects with varying methods of vendoring (assuming they don't use import re-writing, which screws up everyone). We'll need to stay diligent in making sure this list matches what's in libcontainer's `update-vendor.sh` (minus the not-required codegangsta/cli dep), but that's a fair trade-off for being able to scale our dependency model better (and track new discrete dependencies more directly). Signed-off-by: Andrew "Tianon" Page --- hack/vendor.sh | 37 ++++++++---------- .../github.com/docker/libcontainer/.gitignore | 1 + .../github.com/docker/libcontainer/SPEC.md | 11 +++--- .../cgroups/fs/stats_util_test.go | 30 +++++++------- .../docker/libcontainer/container_linux.go | 6 +-- .../docker/libcontainer/init_linux.go | 10 ++--- .../libcontainer/integration/exec_test.go | 38 ++---------------- .../libcontainer/integration/init_test.go | 39 +++++++++++++++++-- .../libcontainer/integration/utils_test.go | 14 ++----- .../docker/libcontainer/nsinit/init.go | 4 +- .../docker/libcontainer/nsinit/main.go | 8 ++-- .../docker/libcontainer/nsinit/oom.go | 8 ++-- .../docker/libcontainer/nsinit/pause.go | 10 ++--- .../docker/libcontainer/nsinit/utils.go | 4 +- 14 files changed, 108 insertions(+), 112 deletions(-) diff --git a/hack/vendor.sh b/hack/vendor.sh index d1c098f692..d51bad575f 100755 --- a/hack/vendor.sh +++ b/hack/vendor.sh @@ -36,26 +36,23 @@ clone() { echo -n 'rm VCS, ' ( cd $target_dir && rm -rf .{git,hg} ) + echo -n 'rm vendor, ' + ( cd $target_dir && rm -rf vendor Godeps/_workspace ) + echo done } -clone git github.com/kr/pty 05017fcccf - -clone git github.com/gorilla/context 14f550f51a - -clone git github.com/gorilla/mux e444e69cbd - -clone git github.com/tchap/go-patricia v2.1.0 - -clone hg code.google.com/p/go.net 84a4013f96e0 - -clone hg code.google.com/p/gosqlite 74691fb6f837 - +# the following lines are in sorted order, FYI +clone git github.com/Sirupsen/logrus v0.7.3 # logrus is a common dependency among multiple deps clone git github.com/docker/libtrust 230dfd18c232 - -clone git github.com/go-fsnotify/fsnotify v1.2.0 - clone git github.com/go-check/check 64131543e7896d5bcc6bd5a76287eb75ea96c673 +clone git github.com/go-fsnotify/fsnotify v1.2.0 +clone git github.com/gorilla/context 14f550f51a +clone git github.com/gorilla/mux e444e69cbd +clone git github.com/kr/pty 05017fcccf +clone git github.com/tchap/go-patricia v2.1.0 +clone hg code.google.com/p/go.net 84a4013f96e0 +clone hg code.google.com/p/gosqlite 74691fb6f837 # get distribution packages clone git github.com/docker/distribution d957768537c5af40e4f4cd96871f7b2bde9e2923 @@ -67,8 +64,8 @@ mv tmp-digest src/github.com/docker/distribution/digest mkdir -p src/github.com/docker/distribution/registry mv tmp-api src/github.com/docker/distribution/registry/api -clone git github.com/docker/libcontainer 1b471834b45063b61e0aedefbb1739a8f34b414e -# see src/github.com/docker/libcontainer/update-vendor.sh which is the "source of truth" for libcontainer deps (just like this file) -rm -rf src/github.com/docker/libcontainer/vendor -eval "$(grep '^clone ' src/github.com/docker/libcontainer/update-vendor.sh | grep -v 'github.com/codegangsta/cli')" -# we exclude "github.com/codegangsta/cli" here because it's only needed for "nsinit", which Docker doesn't include +clone git github.com/docker/libcontainer 90f8aa670f1f424041059060c7c63fe4dee2e441 +# libcontainer deps (see src/github.com/docker/libcontainer/update-vendor.sh) +clone git github.com/coreos/go-systemd v2 +clone git github.com/godbus/dbus v2 +clone git github.com/syndtr/gocapability 8e4cdcb diff --git a/vendor/src/github.com/docker/libcontainer/.gitignore b/vendor/src/github.com/docker/libcontainer/.gitignore index bf6a664db6..2e3f79b4eb 100644 --- a/vendor/src/github.com/docker/libcontainer/.gitignore +++ b/vendor/src/github.com/docker/libcontainer/.gitignore @@ -1,2 +1,3 @@ bundles nsinit/nsinit +vendor/pkg diff --git a/vendor/src/github.com/docker/libcontainer/SPEC.md b/vendor/src/github.com/docker/libcontainer/SPEC.md index 3ca90d6cd2..5d37fe935a 100644 --- a/vendor/src/github.com/docker/libcontainer/SPEC.md +++ b/vendor/src/github.com/docker/libcontainer/SPEC.md @@ -15,7 +15,7 @@ with a strong security configuration. ### System Requirements and Compatibility Minimum requirements: -* Kernel version - 3.8 recommended 2.6.2x minimum(with backported patches) +* Kernel version - 3.10 recommended 2.6.2x minimum(with backported patches) * Mounted cgroups with each subsystem in its own hierarchy @@ -28,11 +28,9 @@ Minimum requirements: | CLONE_NEWIPC | 1 | | CLONE_NEWNET | 1 | | CLONE_NEWNS | 1 | -| CLONE_NEWUSER | 0 | +| CLONE_NEWUSER | 1 | -In v1 the user namespace is not enabled by default for support of older kernels -where the user namespace feature is not fully implemented. Namespaces are -created for the container via the `clone` syscall. +Namespaces are created for the container via the `clone` syscall. ### Filesystem @@ -143,6 +141,7 @@ system resources like cpu, memory, and device access. | blkio | 1 | | perf_event | 1 | | freezer | 1 | +| hugetlb | 1 | All cgroup subsystem are joined so that statistics can be collected from @@ -165,6 +164,7 @@ provide a good default for security and flexibility for the applications. | -------------------- | ------- | | CAP_NET_RAW | 1 | | CAP_NET_BIND_SERVICE | 1 | +| CAP_AUDIT_READ | 1 | | CAP_AUDIT_WRITE | 1 | | CAP_DAC_OVERRIDE | 1 | | CAP_SETFCAP | 1 | @@ -304,6 +304,7 @@ a container. | Pause | Pause all processes inside the container | | Resume | Resume all processes inside the container if paused | | Exec | Execute a new process inside of the container ( requires setns ) | +| Set | Setup configs of the container after it's created | ### Execute a new process inside of a running container. diff --git a/vendor/src/github.com/docker/libcontainer/cgroups/fs/stats_util_test.go b/vendor/src/github.com/docker/libcontainer/cgroups/fs/stats_util_test.go index b94f60f99e..48e2f3aeda 100644 --- a/vendor/src/github.com/docker/libcontainer/cgroups/fs/stats_util_test.go +++ b/vendor/src/github.com/docker/libcontainer/cgroups/fs/stats_util_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - log "github.com/Sirupsen/logrus" + "github.com/Sirupsen/logrus" "github.com/docker/libcontainer/cgroups" ) @@ -23,75 +23,75 @@ func blkioStatEntryEquals(expected, actual []cgroups.BlkioStatEntry) error { func expectBlkioStatsEquals(t *testing.T, expected, actual cgroups.BlkioStats) { if err := blkioStatEntryEquals(expected.IoServiceBytesRecursive, actual.IoServiceBytesRecursive); err != nil { - log.Printf("blkio IoServiceBytesRecursive do not match - %s\n", err) + logrus.Printf("blkio IoServiceBytesRecursive do not match - %s\n", err) t.Fail() } if err := blkioStatEntryEquals(expected.IoServicedRecursive, actual.IoServicedRecursive); err != nil { - log.Printf("blkio IoServicedRecursive do not match - %s\n", err) + logrus.Printf("blkio IoServicedRecursive do not match - %s\n", err) t.Fail() } if err := blkioStatEntryEquals(expected.IoQueuedRecursive, actual.IoQueuedRecursive); err != nil { - log.Printf("blkio IoQueuedRecursive do not match - %s\n", err) + logrus.Printf("blkio IoQueuedRecursive do not match - %s\n", err) t.Fail() } if err := blkioStatEntryEquals(expected.SectorsRecursive, actual.SectorsRecursive); err != nil { - log.Printf("blkio SectorsRecursive do not match - %s\n", err) + logrus.Printf("blkio SectorsRecursive do not match - %s\n", err) t.Fail() } if err := blkioStatEntryEquals(expected.IoServiceTimeRecursive, actual.IoServiceTimeRecursive); err != nil { - log.Printf("blkio IoServiceTimeRecursive do not match - %s\n", err) + logrus.Printf("blkio IoServiceTimeRecursive do not match - %s\n", err) t.Fail() } if err := blkioStatEntryEquals(expected.IoWaitTimeRecursive, actual.IoWaitTimeRecursive); err != nil { - log.Printf("blkio IoWaitTimeRecursive do not match - %s\n", err) + logrus.Printf("blkio IoWaitTimeRecursive do not match - %s\n", err) t.Fail() } if err := blkioStatEntryEquals(expected.IoMergedRecursive, actual.IoMergedRecursive); err != nil { - log.Printf("blkio IoMergedRecursive do not match - %v vs %v\n", expected.IoMergedRecursive, actual.IoMergedRecursive) + logrus.Printf("blkio IoMergedRecursive do not match - %v vs %v\n", expected.IoMergedRecursive, actual.IoMergedRecursive) t.Fail() } if err := blkioStatEntryEquals(expected.IoTimeRecursive, actual.IoTimeRecursive); err != nil { - log.Printf("blkio IoTimeRecursive do not match - %s\n", err) + logrus.Printf("blkio IoTimeRecursive do not match - %s\n", err) t.Fail() } } func expectThrottlingDataEquals(t *testing.T, expected, actual cgroups.ThrottlingData) { if expected != actual { - log.Printf("Expected throttling data %v but found %v\n", expected, actual) + logrus.Printf("Expected throttling data %v but found %v\n", expected, actual) t.Fail() } } func expectMemoryStatEquals(t *testing.T, expected, actual cgroups.MemoryStats) { if expected.Usage != actual.Usage { - log.Printf("Expected memory usage %d but found %d\n", expected.Usage, actual.Usage) + logrus.Printf("Expected memory usage %d but found %d\n", expected.Usage, actual.Usage) t.Fail() } if expected.MaxUsage != actual.MaxUsage { - log.Printf("Expected memory max usage %d but found %d\n", expected.MaxUsage, actual.MaxUsage) + logrus.Printf("Expected memory max usage %d but found %d\n", expected.MaxUsage, actual.MaxUsage) t.Fail() } for key, expValue := range expected.Stats { actValue, ok := actual.Stats[key] if !ok { - log.Printf("Expected memory stat key %s not found\n", key) + logrus.Printf("Expected memory stat key %s not found\n", key) t.Fail() } if expValue != actValue { - log.Printf("Expected memory stat value %d but found %d\n", expValue, actValue) + logrus.Printf("Expected memory stat value %d but found %d\n", expValue, actValue) t.Fail() } } if expected.Failcnt != actual.Failcnt { - log.Printf("Expected memory failcnt %d but found %d\n", expected.Failcnt, actual.Failcnt) + logrus.Printf("Expected memory failcnt %d but found %d\n", expected.Failcnt, actual.Failcnt) t.Fail() } } diff --git a/vendor/src/github.com/docker/libcontainer/container_linux.go b/vendor/src/github.com/docker/libcontainer/container_linux.go index 1ffd7d9cbe..8a7728a9e0 100644 --- a/vendor/src/github.com/docker/libcontainer/container_linux.go +++ b/vendor/src/github.com/docker/libcontainer/container_linux.go @@ -11,7 +11,7 @@ import ( "sync" "syscall" - log "github.com/Sirupsen/logrus" + "github.com/Sirupsen/logrus" "github.com/docker/libcontainer/cgroups" "github.com/docker/libcontainer/configs" ) @@ -102,7 +102,7 @@ func (c *linuxContainer) Start(process *Process) error { if err := parent.start(); err != nil { // terminate the process to ensure that it properly is reaped. if err := parent.terminate(); err != nil { - log.Warn(err) + logrus.Warn(err) } return newSystemError(err) } @@ -227,7 +227,7 @@ func (c *linuxContainer) Destroy() error { } if !c.config.Namespaces.Contains(configs.NEWPID) { if err := killCgroupProcesses(c.cgroupManager); err != nil { - log.Warn(err) + logrus.Warn(err) } } err = c.cgroupManager.Destroy() diff --git a/vendor/src/github.com/docker/libcontainer/init_linux.go b/vendor/src/github.com/docker/libcontainer/init_linux.go index 4bbb713d06..1771fd1930 100644 --- a/vendor/src/github.com/docker/libcontainer/init_linux.go +++ b/vendor/src/github.com/docker/libcontainer/init_linux.go @@ -9,7 +9,7 @@ import ( "strings" "syscall" - log "github.com/Sirupsen/logrus" + "github.com/Sirupsen/logrus" "github.com/docker/libcontainer/cgroups" "github.com/docker/libcontainer/configs" "github.com/docker/libcontainer/netlink" @@ -234,7 +234,7 @@ func setupRlimits(config *configs.Config) error { func killCgroupProcesses(m cgroups.Manager) error { var procs []*os.Process if err := m.Freeze(configs.Frozen); err != nil { - log.Warn(err) + logrus.Warn(err) } pids, err := m.GetPids() if err != nil { @@ -245,16 +245,16 @@ func killCgroupProcesses(m cgroups.Manager) error { if p, err := os.FindProcess(pid); err == nil { procs = append(procs, p) if err := p.Kill(); err != nil { - log.Warn(err) + logrus.Warn(err) } } } if err := m.Freeze(configs.Thawed); err != nil { - log.Warn(err) + logrus.Warn(err) } for _, p := range procs { if _, err := p.Wait(); err != nil { - log.Warn(err) + logrus.Warn(err) } } return nil diff --git a/vendor/src/github.com/docker/libcontainer/integration/exec_test.go b/vendor/src/github.com/docker/libcontainer/integration/exec_test.go index 5ee9b9e9e3..fea5f7ee0a 100644 --- a/vendor/src/github.com/docker/libcontainer/integration/exec_test.go +++ b/vendor/src/github.com/docker/libcontainer/integration/exec_test.go @@ -204,9 +204,6 @@ func TestEnter(t *testing.T) { config := newTemplateConfig(rootfs) - factory, err := libcontainer.New(root, libcontainer.Cgroupfs) - ok(t, err) - container, err := factory.Create("test", config) ok(t, err) defer container.Destroy() @@ -294,9 +291,6 @@ func TestProcessEnv(t *testing.T) { config := newTemplateConfig(rootfs) - factory, err := libcontainer.New(root, libcontainer.Cgroupfs) - ok(t, err) - container, err := factory.Create("test", config) ok(t, err) defer container.Destroy() @@ -346,9 +340,6 @@ func TestProcessCaps(t *testing.T) { config := newTemplateConfig(rootfs) - factory, err := libcontainer.New(root, libcontainer.Cgroupfs) - ok(t, err) - container, err := factory.Create("test", config) ok(t, err) defer container.Destroy() @@ -427,15 +418,12 @@ func testFreeze(t *testing.T, systemd bool) { defer remove(rootfs) config := newTemplateConfig(rootfs) - cgm := libcontainer.Cgroupfs + f := factory if systemd { - cgm = libcontainer.SystemdCgroups + f = systemdFactory } - factory, err := libcontainer.New(root, cgm) - ok(t, err) - - container, err := factory.Create("test", config) + container, err := f.Create("test", config) ok(t, err) defer container.Destroy() @@ -539,11 +527,6 @@ func TestContainerState(t *testing.T) { {Type: configs.NEWNET}, }) - factory, err := libcontainer.New(root, libcontainer.Cgroupfs) - if err != nil { - t.Fatal(err) - } - container, err := factory.Create("test", config) if err != nil { t.Fatal(err) @@ -595,11 +578,6 @@ func TestPassExtraFiles(t *testing.T) { config := newTemplateConfig(rootfs) - factory, err := libcontainer.New(rootfs, libcontainer.Cgroupfs) - if err != nil { - t.Fatal(err) - } - container, err := factory.Create("test", config) if err != nil { t.Fatal(err) @@ -673,7 +651,7 @@ func TestMountCmds(t *testing.T) { config := newTemplateConfig(rootfs) config.Mounts = append(config.Mounts, &configs.Mount{ Source: tmpDir, - Destination: filepath.Join(rootfs, "tmp"), + Destination: "/tmp", Device: "bind", Flags: syscall.MS_BIND | syscall.MS_REC, PremountCmds: []configs.Command{ @@ -686,11 +664,6 @@ func TestMountCmds(t *testing.T) { }, }) - factory, err := libcontainer.New(root, libcontainer.Cgroupfs) - if err != nil { - t.Fatal(err) - } - container, err := factory.Create("test", config) if err != nil { t.Fatal(err) @@ -738,9 +711,6 @@ func TestSystemProperties(t *testing.T) { "kernel.shmmni": "8192", } - factory, err := libcontainer.New(root, libcontainer.Cgroupfs) - ok(t, err) - container, err := factory.Create("test", config) ok(t, err) defer container.Destroy() diff --git a/vendor/src/github.com/docker/libcontainer/integration/init_test.go b/vendor/src/github.com/docker/libcontainer/integration/init_test.go index 1f75ef525e..28466036d1 100644 --- a/vendor/src/github.com/docker/libcontainer/integration/init_test.go +++ b/vendor/src/github.com/docker/libcontainer/integration/init_test.go @@ -1,11 +1,13 @@ package integration import ( - "log" "os" "runtime" + "testing" + "github.com/Sirupsen/logrus" "github.com/docker/libcontainer" + "github.com/docker/libcontainer/cgroups/systemd" _ "github.com/docker/libcontainer/nsenter" ) @@ -19,9 +21,40 @@ func init() { runtime.LockOSThread() factory, err := libcontainer.New("") if err != nil { - log.Fatalf("unable to initialize for container: %s", err) + logrus.Fatalf("unable to initialize for container: %s", err) } if err := factory.StartInitialization(); err != nil { - log.Fatal(err) + logrus.Fatal(err) } } + +var ( + factory libcontainer.Factory + systemdFactory libcontainer.Factory +) + +func TestMain(m *testing.M) { + var ( + err error + ret int = 0 + ) + + logrus.SetOutput(os.Stderr) + logrus.SetLevel(logrus.InfoLevel) + + factory, err = libcontainer.New(".", libcontainer.Cgroupfs) + if err != nil { + logrus.Error(err) + os.Exit(1) + } + if systemd.UseSystemd() { + systemdFactory, err = libcontainer.New(".", libcontainer.SystemdCgroups) + if err != nil { + logrus.Error(err) + os.Exit(1) + } + } + + ret = m.Run() + os.Exit(ret) +} diff --git a/vendor/src/github.com/docker/libcontainer/integration/utils_test.go b/vendor/src/github.com/docker/libcontainer/integration/utils_test.go index 263d89d3b5..ffd7130ba2 100644 --- a/vendor/src/github.com/docker/libcontainer/integration/utils_test.go +++ b/vendor/src/github.com/docker/libcontainer/integration/utils_test.go @@ -79,19 +79,13 @@ func copyBusybox(dest string) error { } func newContainer(config *configs.Config) (libcontainer.Container, error) { - cgm := libcontainer.Cgroupfs + f := factory + if config.Cgroups != nil && config.Cgroups.Slice == "system.slice" { - cgm = libcontainer.SystemdCgroups + f = systemdFactory } - factory, err := libcontainer.New(".", - libcontainer.InitArgs(os.Args[0], "init", "--"), - cgm, - ) - if err != nil { - return nil, err - } - return factory.Create("testCT", config) + return f.Create("testCT", config) } // runContainer runs the container with the specific config and arguments diff --git a/vendor/src/github.com/docker/libcontainer/nsinit/init.go b/vendor/src/github.com/docker/libcontainer/nsinit/init.go index c7506a0e99..24058d448f 100644 --- a/vendor/src/github.com/docker/libcontainer/nsinit/init.go +++ b/vendor/src/github.com/docker/libcontainer/nsinit/init.go @@ -3,7 +3,7 @@ package main import ( "runtime" - log "github.com/Sirupsen/logrus" + "github.com/Sirupsen/logrus" "github.com/codegangsta/cli" "github.com/docker/libcontainer" _ "github.com/docker/libcontainer/nsenter" @@ -13,7 +13,7 @@ var initCommand = cli.Command{ Name: "init", Usage: "runs the init process inside the namespace", Action: func(context *cli.Context) { - log.SetLevel(log.DebugLevel) + logrus.SetLevel(logrus.DebugLevel) runtime.GOMAXPROCS(1) runtime.LockOSThread() factory, err := libcontainer.New("") diff --git a/vendor/src/github.com/docker/libcontainer/nsinit/main.go b/vendor/src/github.com/docker/libcontainer/nsinit/main.go index eec064c2c4..0a59c9f1eb 100644 --- a/vendor/src/github.com/docker/libcontainer/nsinit/main.go +++ b/vendor/src/github.com/docker/libcontainer/nsinit/main.go @@ -3,7 +3,7 @@ package main import ( "os" - log "github.com/Sirupsen/logrus" + "github.com/Sirupsen/logrus" "github.com/codegangsta/cli" ) @@ -29,18 +29,18 @@ func main() { } app.Before = func(context *cli.Context) error { if context.GlobalBool("debug") { - log.SetLevel(log.DebugLevel) + logrus.SetLevel(logrus.DebugLevel) } if path := context.GlobalString("log-file"); path != "" { f, err := os.Create(path) if err != nil { return err } - log.SetOutput(f) + logrus.SetOutput(f) } return nil } if err := app.Run(os.Args); err != nil { - log.Fatal(err) + logrus.Fatal(err) } } diff --git a/vendor/src/github.com/docker/libcontainer/nsinit/oom.go b/vendor/src/github.com/docker/libcontainer/nsinit/oom.go index 412534bcd6..e92c558d86 100644 --- a/vendor/src/github.com/docker/libcontainer/nsinit/oom.go +++ b/vendor/src/github.com/docker/libcontainer/nsinit/oom.go @@ -1,7 +1,7 @@ package main import ( - log "github.com/Sirupsen/logrus" + "github.com/Sirupsen/logrus" "github.com/codegangsta/cli" ) @@ -14,16 +14,16 @@ var oomCommand = cli.Command{ Action: func(context *cli.Context) { container, err := getContainer(context) if err != nil { - log.Fatal(err) + logrus.Fatal(err) } n, err := container.NotifyOOM() if err != nil { - log.Fatal(err) + logrus.Fatal(err) } for x := range n { // hack for calm down go1.4 gofmt _ = x - log.Printf("OOM notification received") + logrus.Printf("OOM notification received") } }, } diff --git a/vendor/src/github.com/docker/libcontainer/nsinit/pause.go b/vendor/src/github.com/docker/libcontainer/nsinit/pause.go index 40aace444b..7b0cc3269b 100644 --- a/vendor/src/github.com/docker/libcontainer/nsinit/pause.go +++ b/vendor/src/github.com/docker/libcontainer/nsinit/pause.go @@ -1,7 +1,7 @@ package main import ( - log "github.com/Sirupsen/logrus" + "github.com/Sirupsen/logrus" "github.com/codegangsta/cli" ) @@ -14,10 +14,10 @@ var pauseCommand = cli.Command{ Action: func(context *cli.Context) { container, err := getContainer(context) if err != nil { - log.Fatal(err) + logrus.Fatal(err) } if err = container.Pause(); err != nil { - log.Fatal(err) + logrus.Fatal(err) } }, } @@ -31,10 +31,10 @@ var unpauseCommand = cli.Command{ Action: func(context *cli.Context) { container, err := getContainer(context) if err != nil { - log.Fatal(err) + logrus.Fatal(err) } if err = container.Resume(); err != nil { - log.Fatal(err) + logrus.Fatal(err) } }, } diff --git a/vendor/src/github.com/docker/libcontainer/nsinit/utils.go b/vendor/src/github.com/docker/libcontainer/nsinit/utils.go index 92f0a9d9ef..fe9d0efe34 100644 --- a/vendor/src/github.com/docker/libcontainer/nsinit/utils.go +++ b/vendor/src/github.com/docker/libcontainer/nsinit/utils.go @@ -3,7 +3,7 @@ package main import ( "encoding/json" "fmt" - log "github.com/Sirupsen/logrus" + "github.com/Sirupsen/logrus" "os" "github.com/codegangsta/cli" @@ -36,7 +36,7 @@ func loadFactory(context *cli.Context) (libcontainer.Factory, error) { if systemd.UseSystemd() { cgm = libcontainer.SystemdCgroups } else { - log.Warn("systemd cgroup flag passed, but systemd support for managing cgroups is not available.") + logrus.Warn("systemd cgroup flag passed, but systemd support for managing cgroups is not available.") } } return libcontainer.New(context.GlobalString("root"), cgm)