Skip to content

Commit

Permalink
always finalize DNS when networking changes
Browse files Browse the repository at this point in the history
This addresses a problem where maestro is configured to manage
only a subset of network interfaces on the system, maestro is
configured to add/remove nameserver info, and for whatever
reason the maestro-managed interface doesn't have an IP address,
such as lack of DHCP server on the network connected to the
maestro-managed interface.
  • Loading branch information
costanic authored and Nicolas Costa committed Jan 6, 2021
1 parent a0be67f commit 8ee07eb
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions networking/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -1574,11 +1574,11 @@ DhcpLoop:
if dnsset {
log.MaestroInfof("NetworkManager: adding DNS nameserver %s as primary\n", primarydns)
ifdata.hadDNS = true
err = this.finalizeDns()
}
if err != nil {
log.MaestroErrorf("NetworkManager: error getting / setting DNS from lease / ifconfig: %s\n", err.Error())
}
this.finalizeDns()

} else {
log.MaestroWarnf("NetworkManager: Stopping DHCP lease renewal, as interface '%s' is no longer managed!\n", ifname)
Expand Down Expand Up @@ -1727,11 +1727,11 @@ DhcpLoop:
if dnsset {
log.MaestroInfof("NetworkManager: adding DNS nameserver %s as primary\n", primarydns)
ifdata.hadDNS = true
err = this.finalizeDns()
}
if err != nil {
log.MaestroErrorf("NetworkManager: error getting / setting DNS from lease / ifconfig: %s\n", err.Error())
}
this.finalizeDns()
}

} else {
Expand Down Expand Up @@ -1842,11 +1842,11 @@ DhcpLoop:
if dnsset {
log.MaestroInfof("NetworkManager: adding DNS nameserver %s as primary\n", primarydns)
ifdata.hadDNS = true
err = this.finalizeDns()
}
if err != nil {
log.MaestroErrorf("NetworkManager: error getting / setting DNS from lease / ifconfig: %s\n", err.Error())
}
this.finalizeDns()

} else {
log.MaestroWarnf("NetworkManager: Stopping DHCP lease renewal, as interface '%s' is no longer managed!\n", ifname)
Expand Down Expand Up @@ -2025,8 +2025,8 @@ Outer:
dnsbuf := mgr.getDnsBufferForInterface(ifname)
if dnsbuf != nil {
dnsbuf.enable()
mgr.finalizeDns()
}
mgr.finalizeDns()
// send out events
if ifdata.interfaceChange != nil {
select {
Expand Down Expand Up @@ -2081,8 +2081,8 @@ Outer:
dnsbuf := mgr.getDnsBufferForInterface(ifname)
if dnsbuf != nil {
dnsbuf.disable()
mgr.finalizeDns()
}
mgr.finalizeDns()
// send events
// apparently we don't get updates without this?
err = netlink.LinkSetUp(update.Link)
Expand Down

0 comments on commit 8ee07eb

Please sign in to comment.