Merge pull request #8817 from ioito/hotfix/qx-error-cause

fix: add error cause
This commit is contained in:
yunion-ci-robot
2020-11-16 21:41:12 +08:00
committed by GitHub
17 changed files with 42 additions and 45 deletions
+3 -3
View File
@@ -429,7 +429,7 @@ func (self *SAliyunClient) GetIHostById(id string) (cloudprovider.ICloudHost, er
ihost, err := self.iregions[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -441,7 +441,7 @@ func (self *SAliyunClient) GetIVpcById(id string) (cloudprovider.ICloudVpc, erro
ihost, err := self.iregions[i].GetIVpcById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -453,7 +453,7 @@ func (self *SAliyunClient) GetIStorageById(id string) (cloudprovider.ICloudStora
ihost, err := self.iregions[i].GetIStorageById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+2 -2
View File
@@ -352,7 +352,7 @@ func (self *SAliyunProvider) GetICloudDnsZoneById(id string) (cloudprovider.IClo
if err == nil {
return privateIzone, nil
} else {
if err != cloudprovider.ErrNotFound {
if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -361,7 +361,7 @@ func (self *SAliyunProvider) GetICloudDnsZoneById(id string) (cloudprovider.IClo
if err == nil {
return publicIzone, nil
} else {
if err != cloudprovider.ErrNotFound {
if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+3 -1
View File
@@ -15,6 +15,8 @@
package aliyun
import (
"yunion.io/x/pkg/errors"
"yunion.io/x/onecloud/pkg/cloudprovider"
)
@@ -55,7 +57,7 @@ const (
func (self *SAliyunClient) EnableImageImport() error {
_, err := self.GetRole(AliyunECSImageImportRole)
if err != nil {
if err != cloudprovider.ErrNotFound {
if errors.Cause(err) != cloudprovider.ErrNotFound {
return err
}
_, err = self.CreateRole(AliyunECSImageImportRole,
+2 -2
View File
@@ -638,7 +638,7 @@ func (self *SRegion) GetIHostById(id string) (cloudprovider.ICloudHost, error) {
ihost, err := izones[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -654,7 +654,7 @@ func (self *SRegion) GetIStorageById(id string) (cloudprovider.ICloudStorage, er
istore, err := izones[i].GetIStorageById(id)
if err == nil {
return istore, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+7 -14
View File
@@ -157,15 +157,13 @@ func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.To
bucketName := strings.ToLower(fmt.Sprintf("imgcache-%s-%s", self.region.GetId(), image.ImageId))
exist, err := self.region.IBucketExist(bucketName)
if err != nil {
log.Errorf("IsBucketExist err %s", err)
return "", err
return "", errors.Wrapf(err, "IBucketExist(%s)", bucketName)
}
if !exist {
log.Debugf("Bucket %s not exists, to create ...", bucketName)
err = self.region.CreateIBucket(bucketName, "", "")
if err != nil {
log.Errorf("Create bucket error %s", err)
return "", err
return "", errors.Wrapf(err, "CreateIBucket %s", bucketName)
}
} else {
log.Debugf("Bucket %s exists", bucketName)
@@ -175,15 +173,13 @@ func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.To
bucket, err := self.region.GetIBucketByName(bucketName)
if err != nil {
log.Errorf("Bucket error %s %s", bucketName, err)
return "", err
return "", errors.Wrapf(err, "GetIBucketByName %s", bucketName)
}
log.Debugf("To upload image to bucket %s ...", bucketName)
err = cloudprovider.UploadObject(context.Background(), bucket, image.ImageId, 0, reader, sizeByte, "", "", nil, false)
// err = bucket.PutObject(image.ImageId, reader)
if err != nil {
log.Errorf("PutObject error %s %s", image.ImageId, err)
return "", err
return "", errors.Wrapf(err, "UploadObject %s", image.ImageId)
}
defer bucket.DeleteObject(context.Background(), image.ImageId) // remove object
@@ -214,22 +210,19 @@ func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.To
// ensure privileges
err = self.region.GetClient().EnableImageImport()
if err != nil {
log.Errorf("fail to enable import privileges: %s", err)
return "", err
return "", errors.Wrapf(err, "EnableImageImport")
}
task, err := self.region.ImportImage(imageName, image.OsArch, image.OsType, image.OsDistribution, bucketName, image.ImageId)
if err != nil {
log.Errorf("ImportImage error %s %s %s", image.ImageId, bucketName, err)
return "", err
return "", errors.Wrapf(err, "ImportImage %s %s", image.ImageId, bucketName)
}
// timeout: 1hour = 3600 seconds
err = self.region.waitTaskStatus(ImportImageTask, task.TaskId, TaskStatusFinished, 15*time.Second, 3600*time.Second)
if err != nil {
log.Errorf("waitTaskStatus %s", err)
return task.ImageId, err
return task.ImageId, errors.Wrapf(err, "waitTaskStatus")
}
return task.ImageId, nil
+2 -1
View File
@@ -25,6 +25,7 @@ import (
"yunion.io/x/jsonutils"
"yunion.io/x/log"
"yunion.io/x/pkg/errors"
"yunion.io/x/onecloud/pkg/apis/billing"
api "yunion.io/x/onecloud/pkg/apis/compute"
@@ -188,7 +189,7 @@ func (self *SDisk) GetMountpoint() string {
}
func (self *SDisk) Delete(ctx context.Context) error {
if _, err := self.storage.zone.region.GetDisk(self.DiskId); err == cloudprovider.ErrNotFound {
if _, err := self.storage.zone.region.GetDisk(self.DiskId); err != nil && errors.Cause(err) == cloudprovider.ErrNotFound {
log.Errorf("Failed to find disk %s when delete", self.DiskId)
return nil
}
+2 -2
View File
@@ -380,7 +380,7 @@ func (self *SRegion) GetIHostById(id string) (cloudprovider.ICloudHost, error) {
ihost, err := izones[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -413,7 +413,7 @@ func (self *SRegion) GetIStorageById(id string) (cloudprovider.ICloudStorage, er
istore, err := izones[i].GetIStorageById(id)
if err == nil {
return istore, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+3 -2
View File
@@ -15,6 +15,7 @@
package esxi
import (
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/utils"
api "yunion.io/x/onecloud/pkg/apis/compute"
@@ -53,7 +54,7 @@ func (cli *SESXiClient) GetIVMById(id string) (cloudprovider.ICloudVM, error) {
}
for _, host := range hosts {
vm, err := host.GetIVMById(id)
if err != cloudprovider.ErrNotFound {
if errors.Cause(err) != cloudprovider.ErrNotFound {
return vm, err
}
}
@@ -67,7 +68,7 @@ func (self *SESXiClient) GetIDiskById(id string) (cloudprovider.ICloudDisk, erro
}
for _, storage := range storages {
disk, err := storage.GetIDiskById(id)
if err != cloudprovider.ErrNotFound {
if errors.Cause(err) != cloudprovider.ErrNotFound {
return disk, err
}
}
+1 -1
View File
@@ -1260,7 +1260,7 @@ func (host *SHost) newLocalStorageCache() (*SDatastoreImageCache, error) {
}
_, err := ds.CheckFile(ctx, IMAGE_CACHE_DIR_NAME)
if err != nil {
if err != cloudprovider.ErrNotFound {
if errors.Cause(err) != cloudprovider.ErrNotFound {
// return nil, err
if len(errmsg) > 0 {
errmsg += ","
+1 -1
View File
@@ -247,7 +247,7 @@ func (region *SRegion) GetIHostById(id string) (cloudprovider.ICloudHost, error)
ihost, err := izones[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+3 -3
View File
@@ -384,7 +384,7 @@ func (self *SHuaweiClient) GetIHostById(id string) (cloudprovider.ICloudHost, er
ihost, err := self.iregions[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -396,7 +396,7 @@ func (self *SHuaweiClient) GetIVpcById(id string) (cloudprovider.ICloudVpc, erro
ivpc, err := self.iregions[i].GetIVpcById(id)
if err == nil {
return ivpc, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -408,7 +408,7 @@ func (self *SHuaweiClient) GetIStorageById(id string) (cloudprovider.ICloudStora
istorage, err := self.iregions[i].GetIStorageById(id)
if err == nil {
return istorage, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+2 -2
View File
@@ -644,7 +644,7 @@ func (self *SRegion) GetIHostById(id string) (cloudprovider.ICloudHost, error) {
ihost, err := izones[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -677,7 +677,7 @@ func (self *SRegion) GetIStorageById(id string) (cloudprovider.ICloudStorage, er
istore, err := izones[i].GetIStorageById(id)
if err == nil {
return istore, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+1 -1
View File
@@ -121,7 +121,7 @@ func (region *SRegion) GetIHostById(id string) (cloudprovider.ICloudHost, error)
ihost, err := izones[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+3 -3
View File
@@ -883,7 +883,7 @@ func (client *SQcloudClient) GetIHostById(id string) (cloudprovider.ICloudHost,
ihost, err := client.iregions[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -895,7 +895,7 @@ func (client *SQcloudClient) GetIVpcById(id string) (cloudprovider.ICloudVpc, er
ihost, err := client.iregions[i].GetIVpcById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -907,7 +907,7 @@ func (client *SQcloudClient) GetIStorageById(id string) (cloudprovider.ICloudSto
ihost, err := client.iregions[i].GetIStorageById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+2 -2
View File
@@ -322,7 +322,7 @@ func (self *SRegion) GetIHostById(id string) (cloudprovider.ICloudHost, error) {
ihost, err := izones[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -338,7 +338,7 @@ func (self *SRegion) GetIStorageById(id string) (cloudprovider.ICloudStorage, er
istore, err := izones[i].GetIStorageById(id)
if err == nil {
return istore, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+2 -2
View File
@@ -310,7 +310,7 @@ func (self *SRegion) GetIHostById(id string) (cloudprovider.ICloudHost, error) {
ihost, err := izones[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -343,7 +343,7 @@ func (self *SRegion) GetIStorageById(id string) (cloudprovider.ICloudStorage, er
istore, err := izones[i].GetIStorageById(id)
if err == nil {
return istore, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
+3 -3
View File
@@ -337,7 +337,7 @@ func (self *SUcloudClient) GetIHostById(id string) (cloudprovider.ICloudHost, er
ihost, err := self.iregions[i].GetIHostById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -349,7 +349,7 @@ func (self *SUcloudClient) GetIVpcById(id string) (cloudprovider.ICloudVpc, erro
ihost, err := self.iregions[i].GetIVpcById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}
@@ -361,7 +361,7 @@ func (self *SUcloudClient) GetIStorageById(id string) (cloudprovider.ICloudStora
ihost, err := self.iregions[i].GetIStorageById(id)
if err == nil {
return ihost, nil
} else if err != cloudprovider.ErrNotFound {
} else if errors.Cause(err) != cloudprovider.ErrNotFound {
return nil, err
}
}