From 7e9306c283b23e97603befd6ced0ea17c4cf9a3f Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Tue, 2 Nov 2021 19:25:14 +0800 Subject: [PATCH] fix(region): cdn purge --- pkg/compute/models/cloudproviders.go | 1 + pkg/compute/models/purge.go | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index bf26e1c0e1..fb6892c6b1 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -1482,6 +1482,7 @@ func (self *SCloudprovider) RealDelete(ctx context.Context, userCred mcclient.To MongoDBManager, ElasticSearchManager, KafkaManager, + CDNDomainManager, NetworkInterfaceManager, KubeClusterManager, CloudproviderRegionManager, diff --git a/pkg/compute/models/purge.go b/pkg/compute/models/purge.go index 74d7bf02ba..e8892be9ed 100644 --- a/pkg/compute/models/purge.go +++ b/pkg/compute/models/purge.go @@ -2047,6 +2047,24 @@ func (manager *SKafkaManager) purgeAll(ctx context.Context, userCred mcclient.To return nil } +func (manager *SCDNDomainManager) purgeAll(ctx context.Context, userCred mcclient.TokenCredential, providerId string) error { + domains := []SCDNDomain{} + err := fetchByManagerId(manager, providerId, &domains) + if err != nil { + return errors.Wrapf(err, "fetchByManagerId") + } + for i := range domains { + lockman.LockObject(ctx, &domains[i]) + defer lockman.ReleaseObject(ctx, &domains[i]) + + err := domains[i].RealDelete(ctx, userCred) + if err != nil { + return errors.Wrapf(err, "cdn domain delete") + } + } + return nil +} + func (manager *SKubeClusterManager) purgeAll(ctx context.Context, userCred mcclient.TokenCredential, providerId string) error { clusters := []SKubeCluster{} err := fetchByManagerId(manager, providerId, &clusters)