mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #21760 from hqhq/hq_minimum_reservation
Add minimum limit for memory reservation
This commit is contained in:
commit
e626011bfb
2 changed files with 8 additions and 0 deletions
|
@ -355,6 +355,9 @@ func verifyContainerResources(resources *containertypes.Resources, sysInfo *sysi
|
||||||
logrus.Warnf("Your kernel does not support memory soft limit capabilities. Limitation discarded.")
|
logrus.Warnf("Your kernel does not support memory soft limit capabilities. Limitation discarded.")
|
||||||
resources.MemoryReservation = 0
|
resources.MemoryReservation = 0
|
||||||
}
|
}
|
||||||
|
if resources.MemoryReservation > 0 && resources.MemoryReservation < linuxMinMemory {
|
||||||
|
return warnings, fmt.Errorf("Minimum memory reservation allowed is 4MB")
|
||||||
|
}
|
||||||
if resources.Memory > 0 && resources.MemoryReservation > 0 && resources.Memory < resources.MemoryReservation {
|
if resources.Memory > 0 && resources.MemoryReservation > 0 && resources.Memory < resources.MemoryReservation {
|
||||||
return warnings, fmt.Errorf("Minimum memory limit should be larger than memory reservation limit, see usage")
|
return warnings, fmt.Errorf("Minimum memory limit should be larger than memory reservation limit, see usage")
|
||||||
}
|
}
|
||||||
|
|
|
@ -615,6 +615,11 @@ func (s *DockerSuite) TestRunWithMemoryReservationInvalid(c *check.C) {
|
||||||
c.Assert(err, check.NotNil)
|
c.Assert(err, check.NotNil)
|
||||||
expected := "Minimum memory limit should be larger than memory reservation limit"
|
expected := "Minimum memory limit should be larger than memory reservation limit"
|
||||||
c.Assert(strings.TrimSpace(out), checker.Contains, expected, check.Commentf("run container should fail with invalid memory reservation"))
|
c.Assert(strings.TrimSpace(out), checker.Contains, expected, check.Commentf("run container should fail with invalid memory reservation"))
|
||||||
|
|
||||||
|
out, _, err = dockerCmdWithError("run", "--memory-reservation", "1k", "busybox", "true")
|
||||||
|
c.Assert(err, check.NotNil)
|
||||||
|
expected = "Minimum memory reservation allowed is 4MB"
|
||||||
|
c.Assert(strings.TrimSpace(out), checker.Contains, expected, check.Commentf("run container should fail with invalid memory reservation"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *DockerSuite) TestStopContainerSignal(c *check.C) {
|
func (s *DockerSuite) TestStopContainerSignal(c *check.C) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue