It makes the inspect result consistent between cli and REST api
when MemorySwappiness is not set.
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
| ... | ... |
@@ -296,11 +296,7 @@ func (daemon *Daemon) populateCommand(c *Container, env []string) error {
|
| 296 | 296 |
Rlimits: rlimits, |
| 297 | 297 |
BlkioWeightDevice: weightDevices, |
| 298 | 298 |
OomKillDisable: c.hostConfig.OomKillDisable, |
| 299 |
- MemorySwappiness: -1, |
|
| 300 |
- } |
|
| 301 |
- |
|
| 302 |
- if c.hostConfig.MemorySwappiness != nil {
|
|
| 303 |
- resources.MemorySwappiness = *c.hostConfig.MemorySwappiness |
|
| 299 |
+ MemorySwappiness: *c.hostConfig.MemorySwappiness, |
|
| 304 | 300 |
} |
| 305 | 301 |
|
| 306 | 302 |
processConfig := execdriver.ProcessConfig{
|
| ... | ... |
@@ -138,6 +138,10 @@ func (daemon *Daemon) adaptContainerSettings(hostConfig *runconfig.HostConfig, a |
| 138 | 138 |
return err |
| 139 | 139 |
} |
| 140 | 140 |
} |
| 141 |
+ if hostConfig.MemorySwappiness == nil {
|
|
| 142 |
+ defaultSwappiness := int64(-1) |
|
| 143 |
+ hostConfig.MemorySwappiness = &defaultSwappiness |
|
| 144 |
+ } |
|
| 141 | 145 |
|
| 142 | 146 |
return nil |
| 143 | 147 |
} |
| ... | ... |
@@ -48,9 +48,9 @@ func checkKernel() error {
|
| 48 | 48 |
|
| 49 | 49 |
// adaptContainerSettings is called during container creation to modify any |
| 50 | 50 |
// settings necessary in the HostConfig structure. |
| 51 |
-func (daemon *Daemon) adaptContainerSettings(hostConfig *runconfig.HostConfig, adjustCPUShares bool) {
|
|
| 51 |
+func (daemon *Daemon) adaptContainerSettings(hostConfig *runconfig.HostConfig, adjustCPUShares bool) error {
|
|
| 52 | 52 |
if hostConfig == nil {
|
| 53 |
- return |
|
| 53 |
+ return nil |
|
| 54 | 54 |
} |
| 55 | 55 |
|
| 56 | 56 |
if hostConfig.CPUShares < 0 {
|
| ... | ... |
@@ -60,6 +60,8 @@ func (daemon *Daemon) adaptContainerSettings(hostConfig *runconfig.HostConfig, a |
| 60 | 60 |
logrus.Warnf("Changing requested CPUShares of %d to maximum allowed of %d", hostConfig.CPUShares, windowsMaxCPUShares)
|
| 61 | 61 |
hostConfig.CPUShares = windowsMaxCPUShares |
| 62 | 62 |
} |
| 63 |
+ |
|
| 64 |
+ return nil |
|
| 63 | 65 |
} |
| 64 | 66 |
|
| 65 | 67 |
// verifyPlatformContainerSettings performs platform-specific validation of the |
| ... | ... |
@@ -36,6 +36,9 @@ func (daemon *Daemon) ContainerStart(name string, hostConfig *runconfig.HostConf |
| 36 | 36 |
return err |
| 37 | 37 |
} |
| 38 | 38 |
container.Unlock() |
| 39 |
+ if err := daemon.adaptContainerSettings(hostConfig, false); err != nil {
|
|
| 40 |
+ return err |
|
| 41 |
+ } |
|
| 39 | 42 |
if err := daemon.setHostConfig(container, hostConfig); err != nil {
|
| 40 | 43 |
return err |
| 41 | 44 |
} |
| ... | ... |
@@ -1434,7 +1434,7 @@ func (s *DockerSuite) TestPostContainersCreateShmSizeHostConfigOmitted(c *check. |
| 1434 | 1434 |
var containerJSON types.ContainerJSON |
| 1435 | 1435 |
c.Assert(json.Unmarshal(body, &containerJSON), check.IsNil) |
| 1436 | 1436 |
|
| 1437 |
- c.Assert(containerJSON.HostConfig.ShmSize, check.IsNil) |
|
| 1437 |
+ c.Assert(*containerJSON.HostConfig.ShmSize, check.Equals, runconfig.DefaultSHMSize) |
|
| 1438 | 1438 |
|
| 1439 | 1439 |
out, _ := dockerCmd(c, "start", "-i", containerJSON.ID) |
| 1440 | 1440 |
shmRegexp := regexp.MustCompile(`shm on /dev/shm type tmpfs(.*)size=65536k`) |
| ... | ... |
@@ -1522,5 +1522,5 @@ func (s *DockerSuite) TestPostContainersCreateMemorySwappinessHostConfigOmitted( |
| 1522 | 1522 |
var containerJSON types.ContainerJSON |
| 1523 | 1523 |
c.Assert(json.Unmarshal(body, &containerJSON), check.IsNil) |
| 1524 | 1524 |
|
| 1525 |
- c.Assert(containerJSON.HostConfig.MemorySwappiness, check.IsNil) |
|
| 1525 |
+ c.Assert(*containerJSON.HostConfig.MemorySwappiness, check.Equals, int64(-1)) |
|
| 1526 | 1526 |
} |