|
@@ -393,11 +393,17 @@ func verifyContainerResources(resources *containertypes.Resources, sysInfo *sysi
|
|
logrus.Warnf("Your kernel does not support CPU cfs period. Period discarded.")
|
|
logrus.Warnf("Your kernel does not support CPU cfs period. Period discarded.")
|
|
resources.CPUPeriod = 0
|
|
resources.CPUPeriod = 0
|
|
}
|
|
}
|
|
|
|
+ if resources.CPUPeriod > 0 && (resources.CPUPeriod < 1000 || resources.CPUQuota > 1000000) {
|
|
|
|
+ return warnings, fmt.Errorf("CPU cfs period can not be less than 1ms (i.e. 1000) or larger than 1s (i.e. 1000000)")
|
|
|
|
+ }
|
|
if resources.CPUQuota > 0 && !sysInfo.CPUCfsQuota {
|
|
if resources.CPUQuota > 0 && !sysInfo.CPUCfsQuota {
|
|
warnings = append(warnings, "Your kernel does not support CPU cfs quota. Quota discarded.")
|
|
warnings = append(warnings, "Your kernel does not support CPU cfs quota. Quota discarded.")
|
|
logrus.Warnf("Your kernel does not support CPU cfs quota. Quota discarded.")
|
|
logrus.Warnf("Your kernel does not support CPU cfs quota. Quota discarded.")
|
|
resources.CPUQuota = 0
|
|
resources.CPUQuota = 0
|
|
}
|
|
}
|
|
|
|
+ if resources.CPUQuota > 0 && resources.CPUQuota < 1000 {
|
|
|
|
+ return warnings, fmt.Errorf("CPU cfs quota can not be less than 1ms (i.e. 1000)")
|
|
|
|
+ }
|
|
|
|
|
|
// cpuset subsystem checks and adjustments
|
|
// cpuset subsystem checks and adjustments
|
|
if (resources.CpusetCpus != "" || resources.CpusetMems != "") && !sysInfo.Cpuset {
|
|
if (resources.CpusetCpus != "" || resources.CpusetMems != "") && !sysInfo.Cpuset {
|