From c07faba68b6e242dbbcd52ff69ca229ce693d52a Mon Sep 17 00:00:00 2001 From: Jian Qiu Date: Thu, 11 Apr 2019 14:44:08 +0800 Subject: [PATCH] fix: esxi ignore check file failure in host.getIStoragecache (#335) --- pkg/util/esxi/host.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkg/util/esxi/host.go b/pkg/util/esxi/host.go index a63e8c238f..89495e5b2e 100644 --- a/pkg/util/esxi/host.go +++ b/pkg/util/esxi/host.go @@ -565,6 +565,7 @@ func (host *SHost) newLocalStorageCache() (*SDatastoreImageCache, error) { if err != nil { return nil, err } + var errmsg string var cacheDs *SDatastore var maxDs *SDatastore var maxCapacity int @@ -576,9 +577,12 @@ func (host *SHost) newLocalStorageCache() (*SDatastoreImageCache, error) { _, err := ds.CheckFile(ctx, IMAGE_CACHE_DIR_NAME) if err != nil { if err != cloudprovider.ErrNotFound { - return nil, err - } - if maxCapacity < ds.GetCapacityMB() { + // return nil, err + if len(errmsg) > 0 { + errmsg += "," + } + errmsg += err.Error() + } else if maxCapacity < ds.GetCapacityMB() { maxCapacity = ds.GetCapacityMB() maxDs = ds } @@ -592,6 +596,10 @@ func (host *SHost) newLocalStorageCache() (*SDatastoreImageCache, error) { cacheDs = maxDs } + if cacheDs == nil { + return nil, fmt.Errorf(errmsg) + } + return &SDatastoreImageCache{ datastore: cacheDs, host: host,