{"record":{"id":"9ea70686f78e604c","repo":"hashicorp/nomad","slug":"no-devices-match-request","errorCode":null,"errorMessage":"no devices match request","messagePattern":"no devices match request","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"scheduler/feasible/device.go","lineNumber":201,"sourceCode":"\n\t\t// Set the new highest score\n\t\tofferScore = choiceScore\n\n\t\t// Set the new sum of matching affinity weights\n\t\tmatchedWeights = sumMatchedWeights\n\n\t\t// Build the choice\n\t\toffer = &structs.AllocatedDeviceResource{\n\t\t\tVendor:    id.Vendor,\n\t\t\tType:      id.Type,\n\t\t\tName:      id.Name,\n\t\t\tDeviceIDs: assignable,\n\t\t}\n\t}\n\n\t// Failed to find a match\n\tif offer == nil {\n\t\treturn nil, 0.0, fmt.Errorf(\"no devices match request\")\n\t}\n\n\treturn offer, matchedWeights, nil\n}\n\n// deviceIDMatchesConstraint checks a device instance ID against the constraints\n// to ensure we're only assigning instance IDs that match. This is a narrower\n// check than nodeDeviceMatches because we've already asserted that the device\n// matches and now need to filter by instance ID.\nfunc (d *deviceAllocator) deviceIDMatchesConstraint(id string, constraints structs.Constraints, device *structs.NodeDeviceResource) bool {\n\n\t// There are no constraints to consider\n\tif len(constraints) == 0 {\n\t\treturn true\n\t}\n\n\tdeviceID := psstructs.NewStringAttribute(id)\n","sourceCodeStart":183,"sourceCodeEnd":219,"githubUrl":"https://github.com/hashicorp/nomad/blob/482b49bf1aec006f089bcfc7e632d8f6ac303e5e/scheduler/feasible/device.go#L183-L219","documentation":"Returned by the scheduler's deviceAllocator.createOffer when no combination of healthy assignable device instances satisfies the request's constraints/affinities. Devices exist but none match, so no offer can be made.","triggerScenarios":"Thrown at scheduler/feasible/device.go:201 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Relax the device constraint (correct vendor/type/name values)","Ensure healthy matching devices are reported by the device plugin","Move the workload to nodes that have the requested devices"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"482b49bf1aec006f089bcfc7e632d8f6ac303e5e","analyzedAt":"2026-09-04T07:54:14.808Z","contentChangedAt":"2026-09-04T07:54:14.808Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}