From c8ba25b154dba1cb52f4a79c8cdc97ff403da865 Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Fri, 24 Dec 2021 14:49:30 +0800 Subject: [PATCH] fix(region): gpu fuzzy match model name exactly --- pkg/compute/models/isolated_devices.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/compute/models/isolated_devices.go b/pkg/compute/models/isolated_devices.go index fb4da3514a..1c5d8af1f2 100644 --- a/pkg/compute/models/isolated_devices.go +++ b/pkg/compute/models/isolated_devices.go @@ -303,8 +303,13 @@ func (manager *SIsolatedDeviceManager) fuzzyMatchModel(fuzzyStr string) *SIsolat dev := SIsolatedDevice{} dev.SetModelManager(manager, &dev) - q := manager.Query().Contains("model", fuzzyStr) - err := q.First(&dev) + q := manager.Query().Equals("model", fuzzyStr) + cnt, err := q.CountWithError() + if err != nil || cnt == 0 { + q = manager.Query().Contains("model", fuzzyStr) + } + + err = q.First(&dev) if err == nil { return &dev } @@ -354,7 +359,6 @@ func (manager *SIsolatedDeviceManager) parseDeviceInfo(userCred mcclient.TokenCr } else { devConfig.Vendor = matchDev.getVendorId() } - } else { devObj, err := manager.FetchById(devId) if err != nil {