diff --git a/service/controller/controller.go b/service/controller/controller.go index 2c53606..30926dc 100644 --- a/service/controller/controller.go +++ b/service/controller/controller.go @@ -211,6 +211,14 @@ func (c *Controller) nodeInfoMonitor() (err error) { var nodeInfoChanged = false // If nodeInfo changed if !reflect.DeepEqual(c.nodeInfo, newNodeInfo) { + // Add DNS + if !reflect.DeepEqual(c.nodeInfo.NameServerConfig, newNodeInfo.NameServerConfig) { + log.Printf("%s Reload DNS service", c.logPrefix()) + if err := c.addNewDNS(newNodeInfo); err != nil { + log.Print(err) + return nil + } + } // Remove old tag oldTag := c.Tag err := c.removeOldTag(oldTag) @@ -265,12 +273,6 @@ func (c *Controller) nodeInfoMonitor() (err error) { return nil } - // Add DNS - log.Printf("%s Reload DNS service", c.logPrefix()) - if err := c.addNewDNS(newNodeInfo); err != nil { - log.Print(err) - return nil - } } else { var deleted, added []api.UserInfo if usersChanged {