Enable cpu manager only if the test is not skipped.

- Also, if KubeReserved is nil, allocate a map.
pull/6/head
Balaji Subramaniam 2017-11-20 16:20:14 -08:00
parent 849d7f8595
commit 16e0f12253
1 changed files with 13 additions and 8 deletions

View File

@ -156,6 +156,10 @@ func enableCPUManagerInKubelet(f *framework.Framework) (oldCfg *kubeletconfig.Ku
// The Kubelet panics if either kube-reserved or system-reserved is not set
// when CPU Manager is enabled. Set cpu in kube-reserved > 0 so that
// kubelet doesn't panic.
if newCfg.KubeReserved == nil {
newCfg.KubeReserved = map[string]string{}
}
if _, ok := newCfg.KubeReserved["cpu"]; !ok {
newCfg.KubeReserved["cpu"] = "200m"
}
@ -183,15 +187,16 @@ func runCPUManagerTests(f *framework.Framework) {
var pod, pod1, pod2 *v1.Pod
It("should assign CPUs as expected based on the Pod spec", func() {
oldCfg = enableCPUManagerInKubelet(f)
cpuCap, cpuAlloc, cpuRes = getLocalNodeCPUDetails(f)
// Skip CPU Manager tests if the number of allocatable CPUs < 1.
if cpuAlloc < 1 {
framework.Skipf("Skipping CPU Manager tests since the number of allocatable CPUs < 1")
// Skip CPU Manager tests altogether if the CPU capacity < 2.
if cpuCap < 2 {
framework.Skipf("Skipping CPU Manager tests since the CPU capacity < 2")
}
// Enable CPU Manager in the kubelet.
oldCfg = enableCPUManagerInKubelet(f)
By("running a non-Gu pod")
ctnAttrs = []ctnAttribute{
{
@ -286,9 +291,9 @@ func runCPUManagerTests(f *framework.Framework) {
waitForContainerRemoval(fmt.Sprintf("%s_%s", pod1.Spec.Containers[0].Name, pod1.Name))
waitForContainerRemoval(fmt.Sprintf("%s_%s", pod2.Spec.Containers[0].Name, pod2.Name))
// Skip rest of the tests if the number of allocatable CPUs < 2.
if cpuAlloc < 2 {
framework.Skipf("Skipping rest of the CPU Manager tests since the number of allocatable CPUs < 2")
// Skip rest of the tests if CPU capacity < 3.
if cpuCap < 3 {
framework.Skipf("Skipping rest of the CPU Manager tests since CPU capacity < 3")
}
By("running a Gu pod requesting multiple CPUs")