diff --git a/pkg/scheduler/api/node_info.go b/pkg/scheduler/api/node_info.go index 7737a66ae0..86aaca910f 100644 --- a/pkg/scheduler/api/node_info.go +++ b/pkg/scheduler/api/node_info.go @@ -161,7 +161,8 @@ func (ni *NodeInfo) setNodeGPUInfo(node *v1.Node) { } gpuNumber := res.Value() if gpuNumber == 0 { - klog.Warningf("invalid %s=%s", VolcanoGPUNumber, res) + klog.Warningf("invalid %s=%s", VolcanoGPUNumber, res.String()) + return } memoryPerCard := uint(totalMemory / gpuNumber) diff --git a/pkg/scheduler/api/node_info_test.go b/pkg/scheduler/api/node_info_test.go index 4b3d5eaf12..590fc8b1e9 100644 --- a/pkg/scheduler/api/node_info_test.go +++ b/pkg/scheduler/api/node_info_test.go @@ -62,6 +62,7 @@ func TestNodeInfo_AddPod(t *testing.T) { "c1/p1": NewTaskInfo(case01Pod1), "c1/p2": NewTaskInfo(case01Pod2), }, + GPUDevices: make(map[int]*GPUDevice), }, }, { @@ -79,6 +80,7 @@ func TestNodeInfo_AddPod(t *testing.T) { Capability: buildResource("2000m", "1G"), State: NodeState{Phase: Ready}, Tasks: map[TaskID]*TaskInfo{}, + GPUDevices: make(map[int]*GPUDevice), }, expectedFailure: true, }, @@ -138,6 +140,7 @@ func TestNodeInfo_RemovePod(t *testing.T) { "c1/p1": NewTaskInfo(case01Pod1), "c1/p3": NewTaskInfo(case01Pod3), }, + GPUDevices: make(map[int]*GPUDevice), }, }, } diff --git a/pkg/scheduler/api/pod_info.go b/pkg/scheduler/api/pod_info.go index 56405ecc77..f6bf36d647 100644 --- a/pkg/scheduler/api/pod_info.go +++ b/pkg/scheduler/api/pod_info.go @@ -85,7 +85,7 @@ func GetGPUIndex(pod *v1.Pod) int { if found { id, err := strconv.Atoi(value) if err != nil { - klog.Error("invalid %s=%s", GPUIndex, value) + klog.Errorf("invalid %s=%s", GPUIndex, value) return -1 } return id diff --git a/pkg/scheduler/plugins/predicates/predicates.go b/pkg/scheduler/plugins/predicates/predicates.go index ac8c524432..7ceed61118 100644 --- a/pkg/scheduler/plugins/predicates/predicates.go +++ b/pkg/scheduler/plugins/predicates/predicates.go @@ -40,12 +40,6 @@ const ( // PluginName indicates name of volcano scheduler plugin. PluginName = "predicates" - // MemoryPressurePredicate is the key for enabling Memory Pressure Predicate in YAML - MemoryPressurePredicate = "predicate.MemoryPressureEnable" - // DiskPressurePredicate is the key for enabling Disk Pressure Predicate in YAML - DiskPressurePredicate = "predicate.DiskPressureEnable" - // PIDPressurePredicate is the key for enabling PID Pressure Predicate in YAML - PIDPressurePredicate = "predicate.PIDPressureEnable" // GPUSharingPredicate is the key for enabling GPU Sharing Predicate in YAML GPUSharingPredicate = "predicate.GPUSharingEnable" ) @@ -65,17 +59,14 @@ func (pp *predicatesPlugin) Name() string { } type predicateEnable struct { - memoryPressureEnable bool - diskPressureEnable bool - pidPressureEnable bool - gpuSharingEnable bool + gpuSharingEnable bool } func enablePredicate(args framework.Arguments) predicateEnable { /* - User Should give predicatesEnable in this format(predicate.MemoryPressureEnable, predicate.DiskPressureEnable, predicate.PIDPressureEnable, predicate.GPUSharingEnable. - Currently supported only for MemoryPressure, DiskPressure, PIDPressure predicate checks. + User Should give predicatesEnable in this format(predicate.GPUSharingEnable). + Currently supported only GPUSharing predicate checks. actions: "reclaim, allocate, backfill, preempt" tiers: @@ -87,30 +78,15 @@ func enablePredicate(args framework.Arguments) predicateEnable { - name: drf - name: predicates arguments: - predicate.MemoryPressureEnable: true - predicate.DiskPressureEnable: true - predicate.PIDPressureEnable: true predicate.GPUSharingEnable: true - name: proportion - name: nodeorder */ predicate := predicateEnable{ - memoryPressureEnable: false, - diskPressureEnable: false, - pidPressureEnable: false, - gpuSharingEnable: true, // enable for debug + gpuSharingEnable: false, } - // Checks whether predicate.MemoryPressureEnable is provided or not, if given, modifies the value in predicateEnable struct. - args.GetBool(&predicate.memoryPressureEnable, MemoryPressurePredicate) - - // Checks whether predicate.DiskPressureEnable is provided or not, if given, modifies the value in predicateEnable struct. - args.GetBool(&predicate.diskPressureEnable, DiskPressurePredicate) - - // Checks whether predicate.PIDPressureEnable is provided or not, if given, modifies the value in predicateEnable struct. - args.GetBool(&predicate.pidPressureEnable, PIDPressurePredicate) - // Checks whether predicate.GPUSharingEnable is provided or not, if given, modifies the value in predicateEnable struct. args.GetBool(&predicate.gpuSharingEnable, GPUSharingPredicate)