节点如果没有设置DNS线路就使用默认线路

This commit is contained in:
刘祥超
2021-08-25 17:16:24 +08:00
parent cf476f79d6
commit 8b40634e74
6 changed files with 282 additions and 124 deletions

View File

@@ -5,6 +5,7 @@ import (
"encoding/json"
"github.com/TeaOSLab/EdgeAPI/internal/db/models"
"github.com/TeaOSLab/EdgeAPI/internal/db/models/dns"
"github.com/TeaOSLab/EdgeAPI/internal/db/models/dns/dnsutils"
"github.com/TeaOSLab/EdgeAPI/internal/dnsclients"
"github.com/TeaOSLab/EdgeAPI/internal/errors"
"github.com/TeaOSLab/EdgeAPI/internal/tasks"
@@ -470,6 +471,8 @@ func (this *NodeClusterService) FindEnabledNodeClusterDNS(ctx context.Context, r
return nil, err
}
var defaultRoute = ""
var pbProvider *pb.DNSProvider = nil
if provider != nil {
pbProvider = &pb.DNSProvider{
@@ -478,6 +481,19 @@ func (this *NodeClusterService) FindEnabledNodeClusterDNS(ctx context.Context, r
Type: provider.Type,
TypeName: dnsclients.FindProviderTypeName(provider.Type),
}
manager := dnsclients.FindProvider(provider.Type)
if manager != nil {
apiParams, err := provider.DecodeAPIParams()
if err != nil {
return nil, err
}
err = manager.Auth(apiParams)
if err != nil {
return nil, err
}
defaultRoute = manager.DefaultRoute()
}
}
return &pb.FindEnabledNodeClusterDNSResponse{
@@ -486,6 +502,7 @@ func (this *NodeClusterService) FindEnabledNodeClusterDNS(ctx context.Context, r
Provider: pbProvider,
NodesAutoSync: dnsConfig.NodesAutoSync,
ServersAutoSync: dnsConfig.ServersAutoSync,
DefaultRoute: defaultRoute,
}, nil
}
@@ -617,8 +634,13 @@ func (this *NodeClusterService) CheckNodeClusterDNSChanges(ctx context.Context,
return nil, err
}
defaultRoute, err := dnsutils.FindDefaultDomainRoute(tx, domain)
if err != nil {
return nil, err
}
service := &DNSDomainService{}
changes, _, _, _, _, _, _, err := service.findClusterDNSChanges(cluster, records, domain.Name)
changes, _, _, _, _, _, _, err := service.findClusterDNSChanges(cluster, records, domain.Name, defaultRoute)
if err != nil {
return nil, err
}