Skip to content

Commit 9d6ce71

Browse files
committed
Merge pull request opencontainers#434 from mrunalp/resources
Move the cgroups setting into a Resources struct
2 parents ac44881 + 55a49f2 commit 9d6ce71

26 files changed

+168
-159
lines changed

libcontainer/cgroups/fs/apply_raw.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ func (m *Manager) Apply(pid int) (err error) {
137137
m.Paths = paths
138138

139139
if paths["cpu"] != "" {
140-
if err := CheckCpushares(paths["cpu"], c.CpuShares); err != nil {
140+
if err := CheckCpushares(paths["cpu"], c.Resources.CpuShares); err != nil {
141141
return err
142142
}
143143
}
@@ -202,15 +202,15 @@ func (m *Manager) Freeze(state configs.FreezerState) error {
202202
if err != nil {
203203
return err
204204
}
205-
prevState := m.Cgroups.Freezer
206-
m.Cgroups.Freezer = state
205+
prevState := m.Cgroups.Resources.Freezer
206+
m.Cgroups.Resources.Freezer = state
207207
freezer, err := subsystems.Get("freezer")
208208
if err != nil {
209209
return err
210210
}
211211
err = freezer.Set(dir, m.Cgroups)
212212
if err != nil {
213-
m.Cgroups.Freezer = prevState
213+
m.Cgroups.Resources.Freezer = prevState
214214
return err
215215
}
216216
return nil

libcontainer/cgroups/fs/blkio.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,41 +35,41 @@ func (s *BlkioGroup) Apply(d *cgroupData) error {
3535
}
3636

3737
func (s *BlkioGroup) Set(path string, cgroup *configs.Cgroup) error {
38-
if cgroup.BlkioWeight != 0 {
39-
if err := writeFile(path, "blkio.weight", strconv.FormatUint(uint64(cgroup.BlkioWeight), 10)); err != nil {
38+
if cgroup.Resources.BlkioWeight != 0 {
39+
if err := writeFile(path, "blkio.weight", strconv.FormatUint(uint64(cgroup.Resources.BlkioWeight), 10)); err != nil {
4040
return err
4141
}
4242
}
4343

44-
if cgroup.BlkioLeafWeight != 0 {
45-
if err := writeFile(path, "blkio.leaf_weight", strconv.FormatUint(uint64(cgroup.BlkioLeafWeight), 10)); err != nil {
44+
if cgroup.Resources.BlkioLeafWeight != 0 {
45+
if err := writeFile(path, "blkio.leaf_weight", strconv.FormatUint(uint64(cgroup.Resources.BlkioLeafWeight), 10)); err != nil {
4646
return err
4747
}
4848
}
49-
for _, wd := range cgroup.BlkioWeightDevice {
49+
for _, wd := range cgroup.Resources.BlkioWeightDevice {
5050
if err := writeFile(path, "blkio.weight_device", wd.WeightString()); err != nil {
5151
return err
5252
}
5353
if err := writeFile(path, "blkio.leaf_weight_device", wd.LeafWeightString()); err != nil {
5454
return err
5555
}
5656
}
57-
for _, td := range cgroup.BlkioThrottleReadBpsDevice {
57+
for _, td := range cgroup.Resources.BlkioThrottleReadBpsDevice {
5858
if err := writeFile(path, "blkio.throttle.read_bps_device", td.String()); err != nil {
5959
return err
6060
}
6161
}
62-
for _, td := range cgroup.BlkioThrottleWriteBpsDevice {
62+
for _, td := range cgroup.Resources.BlkioThrottleWriteBpsDevice {
6363
if err := writeFile(path, "blkio.throttle.write_bps_device", td.String()); err != nil {
6464
return err
6565
}
6666
}
67-
for _, td := range cgroup.BlkioThrottleReadIOPSDevice {
67+
for _, td := range cgroup.Resources.BlkioThrottleReadIOPSDevice {
6868
if err := writeFile(path, "blkio.throttle.read_iops_device", td.String()); err != nil {
6969
return err
7070
}
7171
}
72-
for _, td := range cgroup.BlkioThrottleWriteIOPSDevice {
72+
for _, td := range cgroup.Resources.BlkioThrottleWriteIOPSDevice {
7373
if err := writeFile(path, "blkio.throttle.write_iops_device", td.String()); err != nil {
7474
return err
7575
}

libcontainer/cgroups/fs/blkio_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ func TestBlkioSetWeight(t *testing.T) {
8989
"blkio.weight": strconv.Itoa(weightBefore),
9090
})
9191

92-
helper.CgroupData.config.BlkioWeight = weightAfter
92+
helper.CgroupData.config.Resources.BlkioWeight = weightAfter
9393
blkio := &BlkioGroup{}
9494
if err := blkio.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
9595
t.Fatal(err)
@@ -120,7 +120,7 @@ func TestBlkioSetWeightDevice(t *testing.T) {
120120
"blkio.weight_device": weightDeviceBefore,
121121
})
122122

123-
helper.CgroupData.config.BlkioWeightDevice = []*configs.WeightDevice{wd}
123+
helper.CgroupData.config.Resources.BlkioWeightDevice = []*configs.WeightDevice{wd}
124124
blkio := &BlkioGroup{}
125125
if err := blkio.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
126126
t.Fatal(err)
@@ -157,7 +157,7 @@ func TestBlkioSetMultipleWeightDevice(t *testing.T) {
157157
"blkio.weight_device": weightDeviceBefore,
158158
})
159159

160-
helper.CgroupData.config.BlkioWeightDevice = []*configs.WeightDevice{wd1, wd2}
160+
helper.CgroupData.config.Resources.BlkioWeightDevice = []*configs.WeightDevice{wd1, wd2}
161161
blkio := &BlkioGroup{}
162162
if err := blkio.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
163163
t.Fatal(err)
@@ -529,7 +529,7 @@ func TestBlkioSetThrottleReadBpsDevice(t *testing.T) {
529529
"blkio.throttle.read_bps_device": throttleBefore,
530530
})
531531

532-
helper.CgroupData.config.BlkioThrottleReadBpsDevice = []*configs.ThrottleDevice{td}
532+
helper.CgroupData.config.Resources.BlkioThrottleReadBpsDevice = []*configs.ThrottleDevice{td}
533533
blkio := &BlkioGroup{}
534534
if err := blkio.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
535535
t.Fatal(err)
@@ -559,7 +559,7 @@ func TestBlkioSetThrottleWriteBpsDevice(t *testing.T) {
559559
"blkio.throttle.write_bps_device": throttleBefore,
560560
})
561561

562-
helper.CgroupData.config.BlkioThrottleWriteBpsDevice = []*configs.ThrottleDevice{td}
562+
helper.CgroupData.config.Resources.BlkioThrottleWriteBpsDevice = []*configs.ThrottleDevice{td}
563563
blkio := &BlkioGroup{}
564564
if err := blkio.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
565565
t.Fatal(err)
@@ -589,7 +589,7 @@ func TestBlkioSetThrottleReadIOpsDevice(t *testing.T) {
589589
"blkio.throttle.read_iops_device": throttleBefore,
590590
})
591591

592-
helper.CgroupData.config.BlkioThrottleReadIOPSDevice = []*configs.ThrottleDevice{td}
592+
helper.CgroupData.config.Resources.BlkioThrottleReadIOPSDevice = []*configs.ThrottleDevice{td}
593593
blkio := &BlkioGroup{}
594594
if err := blkio.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
595595
t.Fatal(err)
@@ -619,7 +619,7 @@ func TestBlkioSetThrottleWriteIOpsDevice(t *testing.T) {
619619
"blkio.throttle.write_iops_device": throttleBefore,
620620
})
621621

622-
helper.CgroupData.config.BlkioThrottleWriteIOPSDevice = []*configs.ThrottleDevice{td}
622+
helper.CgroupData.config.Resources.BlkioThrottleWriteIOPSDevice = []*configs.ThrottleDevice{td}
623623
blkio := &BlkioGroup{}
624624
if err := blkio.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
625625
t.Fatal(err)

libcontainer/cgroups/fs/cpu.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,28 +35,28 @@ func (s *CpuGroup) Apply(d *cgroupData) error {
3535
}
3636

3737
func (s *CpuGroup) Set(path string, cgroup *configs.Cgroup) error {
38-
if cgroup.CpuShares != 0 {
39-
if err := writeFile(path, "cpu.shares", strconv.FormatInt(cgroup.CpuShares, 10)); err != nil {
38+
if cgroup.Resources.CpuShares != 0 {
39+
if err := writeFile(path, "cpu.shares", strconv.FormatInt(cgroup.Resources.CpuShares, 10)); err != nil {
4040
return err
4141
}
4242
}
43-
if cgroup.CpuPeriod != 0 {
44-
if err := writeFile(path, "cpu.cfs_period_us", strconv.FormatInt(cgroup.CpuPeriod, 10)); err != nil {
43+
if cgroup.Resources.CpuPeriod != 0 {
44+
if err := writeFile(path, "cpu.cfs_period_us", strconv.FormatInt(cgroup.Resources.CpuPeriod, 10)); err != nil {
4545
return err
4646
}
4747
}
48-
if cgroup.CpuQuota != 0 {
49-
if err := writeFile(path, "cpu.cfs_quota_us", strconv.FormatInt(cgroup.CpuQuota, 10)); err != nil {
48+
if cgroup.Resources.CpuQuota != 0 {
49+
if err := writeFile(path, "cpu.cfs_quota_us", strconv.FormatInt(cgroup.Resources.CpuQuota, 10)); err != nil {
5050
return err
5151
}
5252
}
53-
if cgroup.CpuRtPeriod != 0 {
54-
if err := writeFile(path, "cpu.rt_period_us", strconv.FormatInt(cgroup.CpuRtPeriod, 10)); err != nil {
53+
if cgroup.Resources.CpuRtPeriod != 0 {
54+
if err := writeFile(path, "cpu.rt_period_us", strconv.FormatInt(cgroup.Resources.CpuRtPeriod, 10)); err != nil {
5555
return err
5656
}
5757
}
58-
if cgroup.CpuRtRuntime != 0 {
59-
if err := writeFile(path, "cpu.rt_runtime_us", strconv.FormatInt(cgroup.CpuRtRuntime, 10)); err != nil {
58+
if cgroup.Resources.CpuRtRuntime != 0 {
59+
if err := writeFile(path, "cpu.rt_runtime_us", strconv.FormatInt(cgroup.Resources.CpuRtRuntime, 10)); err != nil {
6060
return err
6161
}
6262
}

libcontainer/cgroups/fs/cpu_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func TestCpuSetShares(t *testing.T) {
2323
"cpu.shares": strconv.Itoa(sharesBefore),
2424
})
2525

26-
helper.CgroupData.config.CpuShares = sharesAfter
26+
helper.CgroupData.config.Resources.CpuShares = sharesAfter
2727
cpu := &CpuGroup{}
2828
if err := cpu.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
2929
t.Fatal(err)
@@ -61,10 +61,10 @@ func TestCpuSetBandWidth(t *testing.T) {
6161
"cpu.rt_period_us": strconv.Itoa(rtPeriodBefore),
6262
})
6363

64-
helper.CgroupData.config.CpuQuota = quotaAfter
65-
helper.CgroupData.config.CpuPeriod = periodAfter
66-
helper.CgroupData.config.CpuRtRuntime = rtRuntimeAfter
67-
helper.CgroupData.config.CpuRtPeriod = rtPeriodAfter
64+
helper.CgroupData.config.Resources.CpuQuota = quotaAfter
65+
helper.CgroupData.config.Resources.CpuPeriod = periodAfter
66+
helper.CgroupData.config.Resources.CpuRtRuntime = rtRuntimeAfter
67+
helper.CgroupData.config.Resources.CpuRtPeriod = rtPeriodAfter
6868
cpu := &CpuGroup{}
6969
if err := cpu.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
7070
t.Fatal(err)

libcontainer/cgroups/fs/cpuset.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ func (s *CpusetGroup) Apply(d *cgroupData) error {
2929
}
3030

3131
func (s *CpusetGroup) Set(path string, cgroup *configs.Cgroup) error {
32-
if cgroup.CpusetCpus != "" {
33-
if err := writeFile(path, "cpuset.cpus", cgroup.CpusetCpus); err != nil {
32+
if cgroup.Resources.CpusetCpus != "" {
33+
if err := writeFile(path, "cpuset.cpus", cgroup.Resources.CpusetCpus); err != nil {
3434
return err
3535
}
3636
}
37-
if cgroup.CpusetMems != "" {
38-
if err := writeFile(path, "cpuset.mems", cgroup.CpusetMems); err != nil {
37+
if cgroup.Resources.CpusetMems != "" {
38+
if err := writeFile(path, "cpuset.mems", cgroup.Resources.CpusetMems); err != nil {
3939
return err
4040
}
4141
}

libcontainer/cgroups/fs/cpuset_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestCpusetSetCpus(t *testing.T) {
1919
"cpuset.cpus": cpusBefore,
2020
})
2121

22-
helper.CgroupData.config.CpusetCpus = cpusAfter
22+
helper.CgroupData.config.Resources.CpusetCpus = cpusAfter
2323
cpuset := &CpusetGroup{}
2424
if err := cpuset.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
2525
t.Fatal(err)
@@ -48,7 +48,7 @@ func TestCpusetSetMems(t *testing.T) {
4848
"cpuset.mems": memsBefore,
4949
})
5050

51-
helper.CgroupData.config.CpusetMems = memsAfter
51+
helper.CgroupData.config.Resources.CpusetMems = memsAfter
5252
cpuset := &CpusetGroup{}
5353
if err := cpuset.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
5454
t.Fatal(err)

libcontainer/cgroups/fs/devices.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ func (s *DevicesGroup) Apply(d *cgroupData) error {
3030
}
3131

3232
func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error {
33-
if !cgroup.AllowAllDevices {
33+
if !cgroup.Resources.AllowAllDevices {
3434
if err := writeFile(path, "devices.deny", "a"); err != nil {
3535
return err
3636
}
3737

38-
for _, dev := range cgroup.AllowedDevices {
38+
for _, dev := range cgroup.Resources.AllowedDevices {
3939
if err := writeFile(path, "devices.allow", dev.CgroupString()); err != nil {
4040
return err
4141
}
@@ -47,7 +47,7 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error {
4747
return err
4848
}
4949

50-
for _, dev := range cgroup.DeniedDevices {
50+
for _, dev := range cgroup.Resources.DeniedDevices {
5151
if err := writeFile(path, "devices.deny", dev.CgroupString()); err != nil {
5252
return err
5353
}

libcontainer/cgroups/fs/devices_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ func TestDevicesSetAllow(t *testing.T) {
4141
"devices.deny": "a",
4242
})
4343

44-
helper.CgroupData.config.AllowAllDevices = false
45-
helper.CgroupData.config.AllowedDevices = allowedDevices
44+
helper.CgroupData.config.Resources.AllowAllDevices = false
45+
helper.CgroupData.config.Resources.AllowedDevices = allowedDevices
4646
devices := &DevicesGroup{}
4747
if err := devices.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
4848
t.Fatal(err)
@@ -66,8 +66,8 @@ func TestDevicesSetDeny(t *testing.T) {
6666
"devices.allow": "a",
6767
})
6868

69-
helper.CgroupData.config.AllowAllDevices = true
70-
helper.CgroupData.config.DeniedDevices = deniedDevices
69+
helper.CgroupData.config.Resources.AllowAllDevices = true
70+
helper.CgroupData.config.Resources.DeniedDevices = deniedDevices
7171
devices := &DevicesGroup{}
7272
if err := devices.Set(helper.CgroupPath, helper.CgroupData.config); err != nil {
7373
t.Fatal(err)

libcontainer/cgroups/fs/freezer.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ func (s *FreezerGroup) Apply(d *cgroupData) error {
3232
}
3333

3434
func (s *FreezerGroup) Set(path string, cgroup *configs.Cgroup) error {
35-
switch cgroup.Freezer {
35+
switch cgroup.Resources.Freezer {
3636
case configs.Frozen, configs.Thawed:
37-
if err := writeFile(path, "freezer.state", string(cgroup.Freezer)); err != nil {
37+
if err := writeFile(path, "freezer.state", string(cgroup.Resources.Freezer)); err != nil {
3838
return err
3939
}
4040

@@ -43,15 +43,15 @@ func (s *FreezerGroup) Set(path string, cgroup *configs.Cgroup) error {
4343
if err != nil {
4444
return err
4545
}
46-
if strings.TrimSpace(state) == string(cgroup.Freezer) {
46+
if strings.TrimSpace(state) == string(cgroup.Resources.Freezer) {
4747
break
4848
}
4949
time.Sleep(1 * time.Millisecond)
5050
}
5151
case configs.Undefined:
5252
return nil
5353
default:
54-
return fmt.Errorf("Invalid argument '%s' to freezer.state", string(cgroup.Freezer))
54+
return fmt.Errorf("Invalid argument '%s' to freezer.state", string(cgroup.Resources.Freezer))
5555
}
5656

5757
return nil

0 commit comments

Comments
 (0)