Browse Source

disable resolvctl dns

Matthew R. Kasun 3 years ago
parent
commit
d7b0852e24
2 changed files with 37 additions and 39 deletions
  1. 22 23
      netclient/functions/join.go
  2. 15 16
      netclient/functions/mqhandlers.go

+ 22 - 23
netclient/functions/join.go

@@ -7,7 +7,6 @@ import (
 	"errors"
 	"fmt"
 	"log"
-	"os/exec"
 	"runtime"
 
 	nodepb "github.com/gravitl/netmaker/grpc"
@@ -110,14 +109,14 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string, iscomms bool) error
 		}
 	}
 
-	if ncutils.IsLinux() {
-		_, err := exec.LookPath("resolvectl")
-		if err != nil {
-			ncutils.PrintLog("resolvectl not present", 2)
-			ncutils.PrintLog("unable to configure DNS automatically, disabling automated DNS management", 2)
-			cfg.Node.DNSOn = "no"
-		}
-	}
+	//	if ncutils.IsLinux() {
+	//		_, err := exec.LookPath("resolvectl")
+	//		if err != nil {
+	//			ncutils.PrintLog("resolvectl not present", 2)
+	//			ncutils.PrintLog("unable to configure DNS automatically, disabling automated DNS management", 2)
+	//			cfg.Node.DNSOn = "no"
+	//		}
+	//	}
 	if ncutils.IsFreeBSD() {
 		cfg.Node.UDPHolePunch = "no"
 	}
@@ -236,20 +235,20 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string, iscomms bool) error
 	if err != nil {
 		return err
 	}
-	if node.DNSOn == "yes" {
-		for _, server := range node.NetworkSettings.DefaultServerAddrs {
-			if server.IsLeader {
-				go func() {
-					if !local.SetDNSWithRetry(node, server.Address) {
-						cfg.Node.DNSOn = "no"
-						var currentCommsCfg = getCommsCfgByNode(&cfg.Node)
-						PublishNodeUpdate(&currentCommsCfg, &cfg)
-					}
-				}()
-				break
-			}
-		}
-	}
+	//	if node.DNSOn == "yes" {
+	//		for _, server := range node.NetworkSettings.DefaultServerAddrs {
+	//			if server.IsLeader {
+	//				go func() {
+	//					if !local.SetDNSWithRetry(node, server.Address) {
+	//						cfg.Node.DNSOn = "no"
+	//						var currentCommsCfg = getCommsCfgByNode(&cfg.Node)
+	//						PublishNodeUpdate(&currentCommsCfg, &cfg)
+	//					}
+	//				}()
+	//				break
+	//			}
+	//		}
+	//	}
 
 	if !iscomms {
 		if cfg.Daemon != "off" {

+ 15 - 16
netclient/functions/mqhandlers.go

@@ -118,14 +118,14 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
 		}
 
 		time.Sleep(time.Second >> 0)
-		if newNode.DNSOn == "yes" {
-			for _, server := range newNode.NetworkSettings.DefaultServerAddrs {
-				if server.IsLeader {
-					go local.SetDNSWithRetry(newNode, server.Address)
-					break
-				}
-			}
-		}
+		//	if newNode.DNSOn == "yes" {
+		//		for _, server := range newNode.NetworkSettings.DefaultServerAddrs {
+		//			if server.IsLeader {
+		//				go local.SetDNSWithRetry(newNode, server.Address)
+		//				break
+		//			}
+		//		}
+		//	}
 		doneErr := publishSignal(&commsCfg, &nodeCfg, ncutils.DONE)
 		if doneErr != nil {
 			ncutils.Log("could not notify server to update peers after interface change")
@@ -143,10 +143,13 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
 	//deal with DNS
 	if newNode.DNSOn != "yes" && shouldDNSChange && nodeCfg.Node.Interface != "" {
 		ncutils.Log("settng DNS off")
-		_, err := ncutils.RunCmd("/usr/bin/resolvectl revert "+nodeCfg.Node.Interface, true)
-		if err != nil {
-			ncutils.Log("error applying dns" + err.Error())
+		if err := removeHostDNS(ncutils.IsWindows()); err != nil {
+			ncutils.Log("error removing netmaker profile from /etc/hosts " + dataErr.Error())
 		}
+		//		_, err := ncutils.RunCmd("/usr/bin/resolvectl revert "+nodeCfg.Node.Interface, true)
+		//		if err != nil {
+		//			ncutils.Log("error applying dns" + err.Error())
+		//		}
 	}
 }
 
@@ -195,12 +198,8 @@ func UpdatePeers(client mqtt.Client, msg mqtt.Message) {
 		return
 	}
 	logger.Log(0, "DNS updating /etc/hosts")
-	windows := false
-	if ncutils.IsWindows() {
-		windows = true
-	}
 	if cfg.Node.DNSOn == "yes" {
-		if err := setHostDNS(peerUpdate.DNS, windows); err != nil {
+		if err := setHostDNS(peerUpdate.DNS, ncutils.IsWindows()); err != nil {
 			ncutils.Log("error updating /etc/hosts " + err.Error())
 			return
 		}