Merge pull request #91102 from chendave/capacity_ratio

Move `RequestedToCapacityRatio` Args defaults to versioned packages
This commit is contained in:
Kubernetes Prow Robot 2020-05-19 20:35:20 -07:00 committed by GitHub
commit 4310732c55
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 49 additions and 11 deletions

View File

@ -99,6 +99,7 @@ profiles:
Name: "RequestedToCapacityRatio",
Args: &config.RequestedToCapacityRatioArgs{
Shape: []config.UtilizationShapePoint{{Utilization: 1}},
Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}},
},
},
{

View File

@ -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...)
}
}

View File

@ -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()

View File

@ -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)
}

View File

@ -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,

View File

@ -498,7 +498,9 @@ func TestNewFrameworkPluginDefaults(t *testing.T) {
},
"NodeLabel": &config.NodeLabelArgs{},
"NodeResourcesFit": &config.NodeResourcesFitArgs{},
"RequestedToCapacityRatio": &config.RequestedToCapacityRatioArgs{},
"RequestedToCapacityRatio": &config.RequestedToCapacityRatioArgs{
Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}},
},
"PodTopologySpread": &config.PodTopologySpreadArgs{},
},
},
@ -526,7 +528,9 @@ func TestNewFrameworkPluginDefaults(t *testing.T) {
"NodeResourcesFit": &config.NodeResourcesFitArgs{
IgnoredResources: []string{"example.com/foo"},
},
"RequestedToCapacityRatio": &config.RequestedToCapacityRatioArgs{},
"RequestedToCapacityRatio": &config.RequestedToCapacityRatioArgs{
Resources: []config.ResourceSpec{{Name: "cpu", Weight: 1}, {Name: "memory", Weight: 1}},
},
"PodTopologySpread": &config.PodTopologySpreadArgs{},
},
},