diff --git a/pkg/scheduler/apis/config/scheme/scheme_test.go b/pkg/scheduler/apis/config/scheme/scheme_test.go index e4f7c2764f9..4bccb67db8b 100644 --- a/pkg/scheduler/apis/config/scheme/scheme_test.go +++ b/pkg/scheduler/apis/config/scheme/scheme_test.go @@ -98,7 +98,8 @@ profiles: { Name: "RequestedToCapacityRatio", Args: &config.RequestedToCapacityRatioArgs{ - Shape: []config.UtilizationShapePoint{{Utilization: 1}}, + Shape: []config.UtilizationShapePoint{{Utilization: 1}}, + Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}}, }, }, { diff --git a/pkg/scheduler/apis/config/v1alpha2/defaults.go b/pkg/scheduler/apis/config/v1alpha2/defaults.go index 43d4eac021f..2f8113e7baa 100644 --- a/pkg/scheduler/apis/config/v1alpha2/defaults.go +++ b/pkg/scheduler/apis/config/v1alpha2/defaults.go @@ -185,3 +185,10 @@ func SetDefaults_NodeResourcesMostAllocatedArgs(obj *v1alpha2.NodeResourcesMostA obj.Resources = append(obj.Resources, defaultResourceSpec...) } } + +func SetDefaults_RequestedToCapacityRatioArgs(obj *v1alpha2.RequestedToCapacityRatioArgs) { + if len(obj.Resources) == 0 { + // If no resources specified, used the default set. + obj.Resources = append(obj.Resources, defaultResourceSpec...) + } +} diff --git a/pkg/scheduler/apis/config/v1alpha2/defaults_test.go b/pkg/scheduler/apis/config/v1alpha2/defaults_test.go index 7c61a86af77..a58bb44e404 100644 --- a/pkg/scheduler/apis/config/v1alpha2/defaults_test.go +++ b/pkg/scheduler/apis/config/v1alpha2/defaults_test.go @@ -345,6 +345,29 @@ func TestPluginArgsDefaults(t *testing.T) { }, }, }, + { + name: "NodeResourcesMostAllocatedArgs resources empty", + in: &v1alpha2.NodeResourcesMostAllocatedArgs{}, + want: &v1alpha2.NodeResourcesMostAllocatedArgs{ + Resources: []v1alpha2.ResourceSpec{ + {Name: "cpu", Weight: 1}, + {Name: "memory", Weight: 1}, + }, + }, + }, + { + name: "NodeResourcesMostAllocatedArgs resources with value", + in: &v1alpha2.NodeResourcesMostAllocatedArgs{ + Resources: []v1alpha2.ResourceSpec{ + {Name: "resource", Weight: 2}, + }, + }, + want: &v1alpha2.NodeResourcesMostAllocatedArgs{ + Resources: []v1alpha2.ResourceSpec{ + {Name: "resource", Weight: 2}, + }, + }, + }, } for _, tc := range tests { scheme := runtime.NewScheme() diff --git a/pkg/scheduler/apis/config/v1alpha2/zz_generated.defaults.go b/pkg/scheduler/apis/config/v1alpha2/zz_generated.defaults.go index aaa3d3f80b4..35fae195953 100644 --- a/pkg/scheduler/apis/config/v1alpha2/zz_generated.defaults.go +++ b/pkg/scheduler/apis/config/v1alpha2/zz_generated.defaults.go @@ -39,6 +39,9 @@ func RegisterDefaults(scheme *runtime.Scheme) error { scheme.AddTypeDefaultingFunc(&v1alpha2.NodeResourcesMostAllocatedArgs{}, func(obj interface{}) { SetObjectDefaults_NodeResourcesMostAllocatedArgs(obj.(*v1alpha2.NodeResourcesMostAllocatedArgs)) }) + scheme.AddTypeDefaultingFunc(&v1alpha2.RequestedToCapacityRatioArgs{}, func(obj interface{}) { + SetObjectDefaults_RequestedToCapacityRatioArgs(obj.(*v1alpha2.RequestedToCapacityRatioArgs)) + }) return nil } @@ -57,3 +60,7 @@ func SetObjectDefaults_NodeResourcesLeastAllocatedArgs(in *v1alpha2.NodeResource func SetObjectDefaults_NodeResourcesMostAllocatedArgs(in *v1alpha2.NodeResourcesMostAllocatedArgs) { SetDefaults_NodeResourcesMostAllocatedArgs(in) } + +func SetObjectDefaults_RequestedToCapacityRatioArgs(in *v1alpha2.RequestedToCapacityRatioArgs) { + SetDefaults_RequestedToCapacityRatioArgs(in) +} diff --git a/pkg/scheduler/framework/plugins/noderesources/requested_to_capacity_ratio.go b/pkg/scheduler/framework/plugins/noderesources/requested_to_capacity_ratio.go index ef15360253c..60b3120e9c9 100644 --- a/pkg/scheduler/framework/plugins/noderesources/requested_to_capacity_ratio.go +++ b/pkg/scheduler/framework/plugins/noderesources/requested_to_capacity_ratio.go @@ -76,10 +76,6 @@ func NewRequestedToCapacityRatio(plArgs runtime.Object, handle framework.Framewo resourceToWeightMap[v1.ResourceName(resource.Name)] = 1 } } - if len(args.Resources) == 0 { - // If no resources specified, used the default set. - resourceToWeightMap = defaultRequestedRatioResources - } return &RequestedToCapacityRatio{ handle: handle, diff --git a/pkg/scheduler/framework/v1alpha1/framework_test.go b/pkg/scheduler/framework/v1alpha1/framework_test.go index 2fe287a7b8f..b3a0ef82754 100644 --- a/pkg/scheduler/framework/v1alpha1/framework_test.go +++ b/pkg/scheduler/framework/v1alpha1/framework_test.go @@ -496,10 +496,12 @@ func TestNewFrameworkPluginDefaults(t *testing.T) { "InterPodAffinity": &config.InterPodAffinityArgs{ HardPodAffinityWeight: 1, }, - "NodeLabel": &config.NodeLabelArgs{}, - "NodeResourcesFit": &config.NodeResourcesFitArgs{}, - "RequestedToCapacityRatio": &config.RequestedToCapacityRatioArgs{}, - "PodTopologySpread": &config.PodTopologySpreadArgs{}, + "NodeLabel": &config.NodeLabelArgs{}, + "NodeResourcesFit": &config.NodeResourcesFitArgs{}, + "RequestedToCapacityRatio": &config.RequestedToCapacityRatioArgs{ + Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}}, + }, + "PodTopologySpread": &config.PodTopologySpreadArgs{}, }, }, { @@ -526,8 +528,10 @@ func TestNewFrameworkPluginDefaults(t *testing.T) { "NodeResourcesFit": &config.NodeResourcesFitArgs{ IgnoredResources: []string{"example.com/foo"}, }, - "RequestedToCapacityRatio": &config.RequestedToCapacityRatioArgs{}, - "PodTopologySpread": &config.PodTopologySpreadArgs{}, + "RequestedToCapacityRatio": &config.RequestedToCapacityRatioArgs{ + Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}}, + }, + "PodTopologySpread": &config.PodTopologySpreadArgs{}, }, }, }