From 6d8ebbb369d359152fe7e5c220c064d6c86a8987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Fri, 6 Jun 2025 18:32:06 +0800 Subject: [PATCH] fix(region): enable cloud dns record (#22696) --- pkg/compute/tasks/dns_record_set_enabled_task.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkg/compute/tasks/dns_record_set_enabled_task.go b/pkg/compute/tasks/dns_record_set_enabled_task.go index 6952886a20..857d28faf8 100644 --- a/pkg/compute/tasks/dns_record_set_enabled_task.go +++ b/pkg/compute/tasks/dns_record_set_enabled_task.go @@ -16,6 +16,7 @@ package tasks import ( "context" + "fmt" "yunion.io/x/cloudmux/pkg/cloudprovider" "yunion.io/x/jsonutils" @@ -43,17 +44,21 @@ func (self *DnsRecordSetEnabledTask) taskFailed(ctx context.Context, record *mod func (self *DnsRecordSetEnabledTask) OnInit(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) { record := obj.(*models.SDnsRecord) - if len(record.ExternalId) == 0 { - self.taskComplete(ctx, record) - return - } - zone, err := record.GetDnsZone() if err != nil { self.taskFailed(ctx, record, errors.Wrapf(err, "GetDnsZone")) return } + if len(record.ExternalId) == 0 { + if len(zone.ManagerId) == 0 { // 本地dns记录 + self.taskComplete(ctx, record) + return + } + self.taskFailed(ctx, record, fmt.Errorf("empty external id")) + return + } + iZone, err := zone.GetICloudDnsZone(ctx) if err != nil { self.taskFailed(ctx, record, errors.Wrapf(err, "GetICloudDnsZone"))