Add resource reservations to container inspect

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
This commit is contained in:
Guillaume Tardif 2020-10-08 17:03:26 +02:00
parent b1edfb6507
commit 6516632ecf
8 changed files with 103 additions and 34 deletions

View file

@ -250,6 +250,7 @@ func TestRunVolume(t *testing.T) {
assert.NilError(t, err)
assert.Equal(t, containerInspect.Platform, "Linux")
assert.Equal(t, containerInspect.HostConfig.CPULimit, 1.0)
assert.Equal(t, containerInspect.HostConfig.CPUReservation, 1.0)
assert.Equal(t, containerInspect.HostConfig.RestartPolicy, containers.RestartPolicyNone)
assert.Assert(t, is.Len(containerInspect.Ports, 1))
@ -388,7 +389,7 @@ func TestContainerRunAttached(t *testing.T) {
}
return poll.Continue("waiting for container to be running, current inspect result: \n%s", res.Combined())
}
poll.WaitOn(t, checkRunning, poll.WithDelay(5*time.Second), poll.WithTimeout(60*time.Second))
poll.WaitOn(t, checkRunning, poll.WithDelay(5*time.Second), poll.WithTimeout(90*time.Second))
inspectRes := c.RunDockerCmd("inspect", container)
@ -397,6 +398,8 @@ func TestContainerRunAttached(t *testing.T) {
assert.Equal(t, containerInspect.Platform, "Linux")
assert.Equal(t, containerInspect.HostConfig.CPULimit, 0.1)
assert.Equal(t, containerInspect.HostConfig.MemoryLimit, uint64(107374182))
assert.Equal(t, containerInspect.HostConfig.CPUReservation, 0.1)
assert.Equal(t, containerInspect.HostConfig.MemoryReservation, uint64(107374182))
assert.Equal(t, containerInspect.HostConfig.RestartPolicy, containers.RestartPolicyOnFailure)
assert.Assert(t, is.Len(containerInspect.Ports, 1))
@ -480,6 +483,39 @@ func overwriteFileStorageAccount(t *testing.T, absComposefileName string, storag
assert.NilError(t, err)
}
func TestUpResources(t *testing.T) {
const (
composeProjectName = "testresources"
serverContainer = composeProjectName + "_web"
wordsContainer = composeProjectName + "_words"
)
c := NewParallelE2eCLI(t, binDir)
setupTestResourceGroup(t, c)
t.Run("compose up", func(t *testing.T) {
c.RunDockerCmd("compose", "up", "-f", "../composefiles/aci-demo/aci_demo_port_resources.yaml", "--project-name", composeProjectName)
res := c.RunDockerCmd("inspect", serverContainer)
webInspect, err := ParseContainerInspect(res.Stdout())
assert.NilError(t, err)
assert.Equal(t, webInspect.HostConfig.CPULimit, 0.7)
assert.Equal(t, webInspect.HostConfig.MemoryLimit, uint64(1073741824))
assert.Equal(t, webInspect.HostConfig.CPUReservation, 0.5)
assert.Equal(t, webInspect.HostConfig.MemoryReservation, uint64(536870912))
res = c.RunDockerCmd("inspect", wordsContainer)
wordsInspect, err := ParseContainerInspect(res.Stdout())
assert.NilError(t, err)
assert.Equal(t, wordsInspect.HostConfig.CPULimit, 0.5)
assert.Equal(t, wordsInspect.HostConfig.MemoryLimit, uint64(751619276))
assert.Equal(t, wordsInspect.HostConfig.CPUReservation, 0.5)
assert.Equal(t, wordsInspect.HostConfig.MemoryReservation, uint64(751619276))
})
}
func TestUpUpdate(t *testing.T) {
const (
composeProjectName = "acidemo"