From bd864381f78248ed8c7625faa2082bd37a0c30f8 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Tue, 17 Dec 2019 01:17:04 +0800 Subject: [PATCH] fix: disabling cloud account should not turn off auto sync switch --- pkg/compute/models/cloudaccounts.go | 4 ++-- pkg/compute/models/cloudproviderregions.go | 2 +- pkg/compute/models/cloudproviders.go | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/compute/models/cloudaccounts.go b/pkg/compute/models/cloudaccounts.go index b2bd08a17d..0c76b44ff5 100644 --- a/pkg/compute/models/cloudaccounts.go +++ b/pkg/compute/models/cloudaccounts.go @@ -216,12 +216,12 @@ func (self *SCloudaccount) PerformDisable(ctx context.Context, userCred mcclient } } } - if self.EnableAutoSync { + /*if self.EnableAutoSync { err := self.disableAutoSync(ctx, userCred) if err != nil { return nil, err } - } + }*/ return nil, nil } diff --git a/pkg/compute/models/cloudproviderregions.go b/pkg/compute/models/cloudproviderregions.go index cab38e49f5..c3285a70bb 100644 --- a/pkg/compute/models/cloudproviderregions.go +++ b/pkg/compute/models/cloudproviderregions.go @@ -142,7 +142,7 @@ func (self *SCloudproviderregion) getExtraDetails(extra *jsonutils.JSONDict) *js extra.Add(jsonutils.NewString(account.Id), "cloudaccount_id") extra.Add(jsonutils.NewString(account.Name), "cloudaccount") extra.Add(jsonutils.NewString(account.DomainId), "cloudaccount_domain_id") - if account.EnableAutoSync { + if account.Enabled && account.EnableAutoSync { extra.Add(jsonutils.JSONTrue, "enable_auto_sync") } else { extra.Add(jsonutils.JSONFalse, "enable_auto_sync") diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index d32b587da2..339a2de8b1 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -499,6 +499,9 @@ func (self *SCloudprovider) PerformSync(ctx context.Context, userCred mcclient.T return nil, httperrors.NewInvalidStatusError("Cloudprovider disabled") } account := self.GetCloudaccount() + if !account.Enabled { + return nil, httperrors.NewInvalidStatusError("Cloudaccount disabled") + } if account.EnableAutoSync { return nil, httperrors.NewInvalidStatusError("Account auto sync enabled") }