From 2b01a59c7d1b329af0a698f7817955e90c05cf85 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Tue, 12 Mar 2024 18:32:38 +0100 Subject: [PATCH 1/2] dra scheduler: handle structured parameter results with no driver name The API doesn't require that a resource handle contains a driver name. If unset, the name of the driver in the claim status needs to be used. --- .../plugins/dynamicresources/structuredparameters.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/scheduler/framework/plugins/dynamicresources/structuredparameters.go b/pkg/scheduler/framework/plugins/dynamicresources/structuredparameters.go index d9b5a222369d..6a7b77f02b1f 100644 --- a/pkg/scheduler/framework/plugins/dynamicresources/structuredparameters.go +++ b/pkg/scheduler/framework/plugins/dynamicresources/structuredparameters.go @@ -83,7 +83,11 @@ func newResourceModel(logger klog.Logger, resourceSliceLister resourcev1alpha2li if model[structured.NodeName] == nil { model[structured.NodeName] = make(map[string]ResourceModels) } - resource := model[structured.NodeName][handle.DriverName] + driverName := handle.DriverName + if driverName == "" { + driverName = claim.Status.DriverName + } + resource := model[structured.NodeName][driverName] for _, result := range structured.Results { // Call AddAllocation for each known model. Each call itself needs to check for nil. namedresourcesmodel.AddAllocation(&resource.NamedResources, result.NamedResources) From 5392e30df4923a1b06be92d82dd83c76475ec593 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Tue, 12 Mar 2024 18:35:22 +0100 Subject: [PATCH 2/2] dra scheduler: spelling fix --- .../framework/plugins/dynamicresources/structuredparameters.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/scheduler/framework/plugins/dynamicresources/structuredparameters.go b/pkg/scheduler/framework/plugins/dynamicresources/structuredparameters.go index 6a7b77f02b1f..8c08aa57cc59 100644 --- a/pkg/scheduler/framework/plugins/dynamicresources/structuredparameters.go +++ b/pkg/scheduler/framework/plugins/dynamicresources/structuredparameters.go @@ -116,7 +116,7 @@ func newClaimController(logger klog.Logger, class *resourcev1alpha2.ResourceClas p.parameters = append(p.parameters, request.VendorParameters) p.requests = append(p.requests, request.ResourceRequestModel.NamedResources) default: - return nil, fmt.Errorf("claim parameters %s: driverRequersts[%d].requests[%d]: no supported structured parameters found", klog.KObj(claimParameters), i, e) + return nil, fmt.Errorf("claim parameters %s: driverRequests[%d].requests[%d]: no supported structured parameters found", klog.KObj(claimParameters), i, e) } } if len(p.requests) > 0 {