From c398301ebacc3e24e7880821b1eefd624ab49d07 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Mon, 26 Nov 2018 02:58:51 +0800 Subject: [PATCH] fix aliyun error code handling changes, use error message string to check message type --- pkg/util/aliyun/errors.go | 10 ++++++---- pkg/util/aliyun/instance.go | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/util/aliyun/errors.go b/pkg/util/aliyun/errors.go index cb899f91b7..e5dfbd20e9 100644 --- a/pkg/util/aliyun/errors.go +++ b/pkg/util/aliyun/errors.go @@ -1,13 +1,15 @@ package aliyun import ( - aliyunerrors "github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors" + "fmt" + "strings" ) func isError(err error, code string) bool { - aliyunErr, ok := err.(aliyunerrors.Error) - if !ok { + errStr := fmt.Sprintf("%s", err) + if strings.Index(errStr, code) > 0 { + return true + } else { return false } - return aliyunErr.ErrorCode() == code } diff --git a/pkg/util/aliyun/instance.go b/pkg/util/aliyun/instance.go index d352d2a869..3566899954 100644 --- a/pkg/util/aliyun/instance.go +++ b/pkg/util/aliyun/instance.go @@ -702,6 +702,7 @@ func (self *SInstance) DeleteVM(ctx context.Context) error { log.Infof("The instance is initializing, try later ...") time.Sleep(10 * time.Second) } else { + log.Errorf("DeleteVM fail: %s", err) return err } } else {