mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:50:25 +08:00 
			
		
		
		
	查询节点DNS信息时可以区分节点是否已安装
This commit is contained in:
		@@ -105,7 +105,7 @@ func CheckClusterDNS(tx *dbs.Tx, cluster *models.NodeCluster, checkNodeIssues bo
 | 
			
		||||
 | 
			
		||||
	// 检查节点
 | 
			
		||||
	if checkNodeIssues {
 | 
			
		||||
		nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, clusterId, true, clusterDNSConfig != nil && clusterDNSConfig.IncludingLnNodes)
 | 
			
		||||
		nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, clusterId, true, clusterDNSConfig != nil && clusterDNSConfig.IncludingLnNodes, true)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -840,7 +840,24 @@ func (this *NodeDAO) UpdateNodeStatus(tx *dbs.Tx, nodeId int64, nodeStatus *node
 | 
			
		||||
		Set("isActive", true).
 | 
			
		||||
		Set("status", nodeStatusJSON).
 | 
			
		||||
		Update()
 | 
			
		||||
	return err
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 自动设置安装状态
 | 
			
		||||
	isInstalled, err := this.Query(tx).
 | 
			
		||||
		Pk(nodeId).
 | 
			
		||||
		Result("isInstalled").
 | 
			
		||||
		FindBoolCol()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if !isInstalled {
 | 
			
		||||
		return this.UpdateNodeIsInstalled(tx, nodeId, true)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FindNodeStatus 获取节点状态
 | 
			
		||||
@@ -885,7 +902,10 @@ func (this *NodeDAO) UpdateNodeIsInstalled(tx *dbs.Tx, nodeId int64, isInstalled
 | 
			
		||||
		Set("isInstalled", isInstalled).
 | 
			
		||||
		Set("installStatus", "null"). // 重置安装状态
 | 
			
		||||
		Update()
 | 
			
		||||
	return err
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return this.NotifyDNSUpdate(tx, nodeId)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FindNodeInstallStatus 查询节点的安装状态
 | 
			
		||||
@@ -1495,7 +1515,7 @@ func (this *NodeDAO) UpdateNodeRegionId(tx *dbs.Tx, nodeId int64, regionId int64
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FindAllEnabledNodesDNSWithClusterId 获取一个集群的节点DNS信息
 | 
			
		||||
func (this *NodeDAO) FindAllEnabledNodesDNSWithClusterId(tx *dbs.Tx, clusterId int64, includeSecondaryNodes bool, includingLnNodes bool) (result []*Node, err error) {
 | 
			
		||||
func (this *NodeDAO) FindAllEnabledNodesDNSWithClusterId(tx *dbs.Tx, clusterId int64, includeSecondaryNodes bool, includingLnNodes bool, isInstalled bool) (result []*Node, err error) {
 | 
			
		||||
	if clusterId <= 0 {
 | 
			
		||||
		return nil, nil
 | 
			
		||||
	}
 | 
			
		||||
@@ -1514,6 +1534,7 @@ func (this *NodeDAO) FindAllEnabledNodesDNSWithClusterId(tx *dbs.Tx, clusterId i
 | 
			
		||||
		State(NodeStateEnabled).
 | 
			
		||||
		Attr("isOn", true).
 | 
			
		||||
		Attr("isUp", true).
 | 
			
		||||
		Attr("isInstalled", isInstalled).
 | 
			
		||||
		Result("id", "name", "dnsRoutes", "isOn").
 | 
			
		||||
		DescPk().
 | 
			
		||||
		Slice(&result).
 | 
			
		||||
 
 | 
			
		||||
@@ -454,7 +454,7 @@ func (this *DNSDomainService) findClusterDNSChanges(cluster *models.NodeCluster,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 节点域名
 | 
			
		||||
	nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, clusterId, true, dnsConfig != nil && dnsConfig.IncludingLnNodes)
 | 
			
		||||
	nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, clusterId, true, dnsConfig != nil && dnsConfig.IncludingLnNodes, true)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, nil, nil, 0, 0, false, false, err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -812,6 +812,7 @@ func (this *NodeService) UpdateNodeStatus(ctx context.Context, req *pb.UpdateNod
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return this.Success()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1321,7 +1322,7 @@ func (this *NodeService) FindAllEnabledNodesDNSWithNodeClusterId(ctx context.Con
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, req.NodeClusterId, true, dnsConfig != nil && dnsConfig.IncludingLnNodes)
 | 
			
		||||
	nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, req.NodeClusterId, true, dnsConfig != nil && dnsConfig.IncludingLnNodes, req.IsInstalled)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -642,12 +642,28 @@ func (this *NodeClusterService) FindAllEnabledNodeClustersWithDNSDomainId(ctx co
 | 
			
		||||
 | 
			
		||||
	result := []*pb.NodeCluster{}
 | 
			
		||||
	for _, cluster := range clusters {
 | 
			
		||||
		// 默认线路
 | 
			
		||||
		domainId := int64(cluster.DnsDomainId)
 | 
			
		||||
		domain, err := dns.SharedDNSDomainDAO.FindEnabledDNSDomain(tx, domainId, nil)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
		if domain == nil {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		defaultRoute, err := dnsutils.FindDefaultDomainRoute(tx, domain)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		result = append(result, &pb.NodeCluster{
 | 
			
		||||
			Id:          int64(cluster.Id),
 | 
			
		||||
			Name:        cluster.Name,
 | 
			
		||||
			DnsName:     cluster.DnsName,
 | 
			
		||||
			DnsDomainId: int64(cluster.DnsDomainId),
 | 
			
		||||
			IsOn:        cluster.IsOn,
 | 
			
		||||
			Id:              int64(cluster.Id),
 | 
			
		||||
			Name:            cluster.Name,
 | 
			
		||||
			DnsName:         cluster.DnsName,
 | 
			
		||||
			DnsDomainId:     int64(cluster.DnsDomainId),
 | 
			
		||||
			DnsDefaultRoute: defaultRoute,
 | 
			
		||||
			IsOn:            cluster.IsOn,
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
	return &pb.FindAllEnabledNodeClustersWithDNSDomainIdResponse{NodeClusters: result}, nil
 | 
			
		||||
 
 | 
			
		||||
@@ -363,7 +363,7 @@ func (this *DNSTaskExecutor) doCluster(taskId int64, clusterId int64) error {
 | 
			
		||||
 | 
			
		||||
	// 当前的节点记录
 | 
			
		||||
	var newRecordKeys = []string{}
 | 
			
		||||
	nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, clusterId, true, dnsConfig != nil && dnsConfig.IncludingLnNodes)
 | 
			
		||||
	nodes, err := models.SharedNodeDAO.FindAllEnabledNodesDNSWithClusterId(tx, clusterId, true, dnsConfig != nil && dnsConfig.IncludingLnNodes, true)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user