集群DNS设置中增加”包含Ln节点“选项

This commit is contained in:
刘祥超
2022-08-25 19:18:30 +08:00
parent 4cb9c85a1c
commit df9dce76cb
8 changed files with 65 additions and 51 deletions

View File

@@ -417,9 +417,10 @@ func (this *DNSDomainService) convertRecordToPB(record *dnstypes.Record) *pb.DNS
// 检查集群节点变化
func (this *DNSDomainService) findClusterDNSChanges(cluster *models.NodeCluster, records []*dnstypes.Record, domainName string, defaultRoute string) (result []maps.Map, doneNodeRecords []*dnstypes.Record, doneServerRecords []*dnstypes.Record, countAllNodes int64, countAllServers int64, nodesChanged bool, serversChanged bool, err error) {
clusterId := int64(cluster.Id)
clusterDnsName := cluster.DnsName
clusterDomain := clusterDnsName + "." + domainName
var clusterId = int64(cluster.Id)
var clusterDnsName = cluster.DnsName
var clusterDomain = clusterDnsName + "." + domainName
var dnsConfig, _ = cluster.DecodeDNSConfig()
var tx = this.NullTx()
@@ -437,7 +438,7 @@ func (this *DNSDomainService) findClusterDNSChanges(cluster *models.NodeCluster,
}
// 节点域名
nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, clusterId, true)
nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, clusterId, true, dnsConfig != nil && dnsConfig.IncludingLnNodes)
if err != nil {
return nil, nil, nil, 0, 0, false, false, err
}

View File

@@ -1304,18 +1304,19 @@ func (this *NodeService) FindAllEnabledNodesDNSWithNodeClusterId(ctx context.Con
if clusterDNS == nil {
return nil, errors.New("not found clusterId '" + numberutils.FormatInt64(req.NodeClusterId) + "'")
}
dnsDomainId := int64(clusterDNS.DnsDomainId)
var dnsConfig, _ = clusterDNS.DecodeDNSConfig()
var dnsDomainId = int64(clusterDNS.DnsDomainId)
routes, err := dns.SharedDNSDomainDAO.FindDomainRoutes(tx, dnsDomainId)
if err != nil {
return nil, err
}
nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, req.NodeClusterId, true)
nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, req.NodeClusterId, true, dnsConfig != nil && dnsConfig.IncludingLnNodes)
if err != nil {
return nil, err
}
result := []*pb.NodeDNSInfo{}
var result = []*pb.NodeDNSInfo{}
for _, node := range nodes {
ipAddresses, err := models.SharedNodeIPAddressDAO.FindNodeAccessAndUpIPAddresses(tx, int64(node.Id), nodeconfigs.NodeRoleNode)
if err != nil {
@@ -1327,7 +1328,7 @@ func (this *NodeService) FindAllEnabledNodesDNSWithNodeClusterId(ctx context.Con
return nil, err
}
pbRoutes := []*pb.DNSRoute{}
var pbRoutes = []*pb.DNSRoute{}
for _, routeCode := range domainRouteCodes {
for _, r := range routes {
if r.Code == routeCode {

View File

@@ -450,14 +450,15 @@ func (this *NodeClusterService) FindEnabledNodeClusterDNS(ctx context.Context, r
if dnsInfo.DnsDomainId == 0 {
return &pb.FindEnabledNodeClusterDNSResponse{
Name: dnsInfo.DnsName,
Domain: nil,
Provider: nil,
NodesAutoSync: dnsConfig.NodesAutoSync,
ServersAutoSync: dnsConfig.ServersAutoSync,
CnameRecords: dnsConfig.CNameRecords,
Ttl: dnsConfig.TTL,
CnameAsDomain: dnsConfig.CNameAsDomain,
Name: dnsInfo.DnsName,
Domain: nil,
Provider: nil,
NodesAutoSync: dnsConfig.NodesAutoSync,
ServersAutoSync: dnsConfig.ServersAutoSync,
CnameRecords: dnsConfig.CNameRecords,
Ttl: dnsConfig.TTL,
CnameAsDomain: dnsConfig.CNameAsDomain,
IncludingLnNodes: dnsConfig.IncludingLnNodes,
}, nil
}
@@ -509,15 +510,16 @@ func (this *NodeClusterService) FindEnabledNodeClusterDNS(ctx context.Context, r
}
return &pb.FindEnabledNodeClusterDNSResponse{
Name: dnsInfo.DnsName,
Domain: pbDomain,
Provider: pbProvider,
NodesAutoSync: dnsConfig.NodesAutoSync,
ServersAutoSync: dnsConfig.ServersAutoSync,
CnameRecords: dnsConfig.CNameRecords,
Ttl: dnsConfig.TTL,
CnameAsDomain: dnsConfig.CNameAsDomain,
DefaultRoute: defaultRoute,
Name: dnsInfo.DnsName,
Domain: pbDomain,
Provider: pbProvider,
NodesAutoSync: dnsConfig.NodesAutoSync,
ServersAutoSync: dnsConfig.ServersAutoSync,
CnameRecords: dnsConfig.CNameRecords,
Ttl: dnsConfig.TTL,
CnameAsDomain: dnsConfig.CNameAsDomain,
IncludingLnNodes: dnsConfig.IncludingLnNodes,
DefaultRoute: defaultRoute,
}, nil
}
@@ -610,7 +612,7 @@ func (this *NodeClusterService) UpdateNodeClusterDNS(ctx context.Context, req *p
var tx = this.NullTx()
err = models.SharedNodeClusterDAO.UpdateClusterDNS(tx, req.NodeClusterId, req.DnsName, req.DnsDomainId, req.NodesAutoSync, req.ServersAutoSync, req.CnameRecords, req.Ttl, req.CnameAsDomain)
err = models.SharedNodeClusterDAO.UpdateClusterDNS(tx, req.NodeClusterId, req.DnsName, req.DnsDomainId, req.NodesAutoSync, req.ServersAutoSync, req.CnameRecords, req.Ttl, req.CnameAsDomain, req.IncludingLnNodes)
if err != nil {
return nil, err
}