mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
3f65946756
A cgroup manager's Set method sets cgroup resources, but historically it was accepting configs.Cgroups. Refactor it to accept resources only. This is an improvement from the API point of view, as the method can not change cgroup configuration (such as path to the cgroup etc), it can only set (modify) its resources/limits. This also lays the foundation for complicated resource updates, as now Set has two sets of resources -- the one that was previously specified during cgroup manager creation (or the previous Set), and the one passed in the argument, so it could deduce the difference between these. This is a long term goal though. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
40 lines
865 B
Go
40 lines
865 B
Go
// +build linux
|
|
|
|
package fs
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/opencontainers/runc/libcontainer/cgroups/fscommon"
|
|
"github.com/opencontainers/runc/libcontainer/configs"
|
|
)
|
|
|
|
var (
|
|
prioMap = []*configs.IfPrioMap{
|
|
{
|
|
Interface: "test",
|
|
Priority: 5,
|
|
},
|
|
}
|
|
)
|
|
|
|
func TestNetPrioSetIfPrio(t *testing.T) {
|
|
helper := NewCgroupTestUtil("net_prio", t)
|
|
defer helper.cleanup()
|
|
|
|
helper.CgroupData.config.Resources.NetPrioIfpriomap = prioMap
|
|
netPrio := &NetPrioGroup{}
|
|
if err := netPrio.Set(helper.CgroupPath, helper.CgroupData.config.Resources); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
value, err := fscommon.GetCgroupParamString(helper.CgroupPath, "net_prio.ifpriomap")
|
|
if err != nil {
|
|
t.Fatalf("Failed to parse net_prio.ifpriomap - %s", err)
|
|
}
|
|
if !strings.Contains(value, "test 5") {
|
|
t.Fatal("Got the wrong value, set net_prio.ifpriomap failed.")
|
|
}
|
|
}
|