diff --git a/pkg/compute/hostdrivers/esxi.go b/pkg/compute/hostdrivers/esxi.go index 4b7ef28661..8f56cd07b0 100644 --- a/pkg/compute/hostdrivers/esxi.go +++ b/pkg/compute/hostdrivers/esxi.go @@ -7,6 +7,7 @@ import ( "yunion.io/x/jsonutils" "yunion.io/x/log" + "github.com/golang-plus/errors" "yunion.io/x/onecloud/pkg/cloudcommon/db/taskman" "yunion.io/x/onecloud/pkg/compute/models" "yunion.io/x/onecloud/pkg/util/httputils" @@ -63,6 +64,12 @@ func (self *SESXiHostDriver) CheckAndSetCacheImage(ctx context.Context, host *mo content.Format = cacheImage.GetFormat() storage := host.GetStorageByFilePath(storageCache.Path) + if storage == nil { + msg := fmt.Sprintf("fail to find storage for storageCache %s", storageCache.Path) + log.Errorf(msg) + return errors.New(msg) + } + accessInfo, err := host.GetCloudaccount().GetVCenterAccessInfo(storage.ExternalId) if err != nil { return err diff --git a/pkg/compute/models/hosts.go b/pkg/compute/models/hosts.go index 83edc18f70..03b657fcd7 100644 --- a/pkg/compute/models/hosts.go +++ b/pkg/compute/models/hosts.go @@ -1340,6 +1340,8 @@ func (manager *SHostManager) newFromCloudHost(extHost cloudprovider.ICloudHost, host.MemSize = extHost.GetMemSizeMB() host.StorageSize = extHost.GetStorageSizeMB() host.StorageType = extHost.GetStorageType() + host.CpuCmtbound = 8.0 + host.MemCmtbound = 1.0 host.ManagerId = extHost.GetManagerId() host.IsEmulated = extHost.IsEmulated() diff --git a/pkg/compute/models/storages.go b/pkg/compute/models/storages.go index 709dcda1ce..20fe17a9b8 100644 --- a/pkg/compute/models/storages.go +++ b/pkg/compute/models/storages.go @@ -746,6 +746,7 @@ func (manager *SStorageManager) newFromCloudStorage(extStorage cloudprovider.ICl storage.MediumType = extStorage.GetMediumType() storage.StorageConf = extStorage.GetStorageConf() storage.Capacity = extStorage.GetCapacityMB() + storage.Cmtbound = 1.0 storage.Enabled = extStorage.GetEnabled() diff --git a/pkg/compute/tasks/cloud_account_sync_task.go b/pkg/compute/tasks/cloud_account_sync_task.go index cf5dfe6591..0ffcf2ef83 100644 --- a/pkg/compute/tasks/cloud_account_sync_task.go +++ b/pkg/compute/tasks/cloud_account_sync_task.go @@ -91,6 +91,7 @@ func (self *CloudAccountSyncInfoTask) OnCloudaccountSyncComplete(ctx context.Con err := skus.SyncSkusByProviderIds([]string{cloudprovider.Provider}) return nil, err }) + return } } self.SetStageComplete(ctx, nil) diff --git a/pkg/util/esxi/storage.go b/pkg/util/esxi/storage.go index e6e306bdc6..82bf91b98a 100644 --- a/pkg/util/esxi/storage.go +++ b/pkg/util/esxi/storage.go @@ -332,8 +332,14 @@ func (self *SDatastore) GetManagerId() string { return self.manager.providerId } +const dsPrefix = "ds://" + func (self *SDatastore) GetUrl() string { - return self.getDatastore().Info.GetDatastoreInfo().Url + url := self.getDatastore().Info.GetDatastoreInfo().Url + if strings.HasPrefix(url, dsPrefix) { + url = url[len(dsPrefix):] + } + return url } func (self *SDatastore) GetMountPoint() string {