From e23bc808e5522ac3f4255e81868919bcdf9b191c 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 535d493f7b..bbe53e3a4f 100644 --- a/pkg/compute/models/isolated_devices.go +++ b/pkg/compute/models/isolated_devices.go @@ -328,8 +328,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 } @@ -379,7 +384,6 @@ func (manager *SIsolatedDeviceManager) parseDeviceInfo(userCred mcclient.TokenCr } else { devConfig.Vendor = matchDev.getVendorId() } - } else { devObj, err := manager.FetchById(devId) if err != nil {