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.")
 | 
			
		||||
		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 {
 | 
			
		||||
		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)
 | 
			
		||||
	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"))
 | 
			
		||||
 | 
			
		||||
	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) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue