Forráskód Böngészése

docker info: silence unhandleable warnings

The following warnings in `docker info` are now discarded,
because there is no action user can actually take.

On cgroup v1:
- "WARNING: No blkio weight support"
- "WARNING: No blkio weight_device support"

On cgroup v2:
- "WARNING: No kernel memory TCP limit support"
- "WARNING: No oom kill disable support"

`docker run` still prints warnings when the missing feature is being attempted to use.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Akihiro Suda 4 éve
szülő
commit
8086443a44
1 módosított fájl, 11 hozzáadás és 4 törlés
  1. 11 4
      daemon/info_unix.go

+ 11 - 4
daemon/info_unix.go

@@ -100,10 +100,14 @@ func (daemon *Daemon) fillPlatformInfo(v *types.Info, sysInfo *sysinfo.SysInfo)
 		if !v.SwapLimit {
 			v.Warnings = append(v.Warnings, "WARNING: No swap limit support")
 		}
-		if !v.KernelMemoryTCP {
+		if !v.KernelMemoryTCP && v.CgroupVersion == "1" {
+			// kernel memory is not available for cgroup v2.
+			// Warning is not printed on cgroup v2, because there is no action user can take.
 			v.Warnings = append(v.Warnings, "WARNING: No kernel memory TCP limit support")
 		}
-		if !v.OomKillDisable {
+		if !v.OomKillDisable && v.CgroupVersion == "1" {
+			// oom kill disable is not available for cgroup v2.
+			// Warning is not printed on cgroup v2, because there is no action user can take.
 			v.Warnings = append(v.Warnings, "WARNING: No oom kill disable support")
 		}
 		if !v.CPUCfsQuota {
@@ -122,10 +126,13 @@ func (daemon *Daemon) fillPlatformInfo(v *types.Info, sysInfo *sysinfo.SysInfo)
 			v.Warnings = append(v.Warnings, "WARNING: Support for cgroup v2 is experimental")
 		}
 		// TODO add fields for these options in types.Info
-		if !sysInfo.BlkioWeight {
+		if !sysInfo.BlkioWeight && v.CgroupVersion == "2" {
+			// blkio weight is not available on cgroup v1 since kernel 5.0.
+			// Warning is not printed on cgroup v1, because there is no action user can take.
+			// On cgroup v2, blkio weight is implemented using io.weight
 			v.Warnings = append(v.Warnings, "WARNING: No blkio weight support")
 		}
-		if !sysInfo.BlkioWeightDevice {
+		if !sysInfo.BlkioWeightDevice && v.CgroupVersion == "2" {
 			v.Warnings = append(v.Warnings, "WARNING: No blkio weight_device support")
 		}
 		if !sysInfo.BlkioReadBpsDevice {