m/n/c/network: be more verbose about receiving new IP addresses and using interfaces
We never really logged these anywhere. This helps debugging.
Change-Id: Ifcddeb454ca317becc512b96b2daa6c069bce36f
Reviewed-on: https://review.monogon.dev/c/monogon/+/781
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/node/core/network/main.go b/metropolis/node/core/network/main.go
index 81a5bfd..45de6b2 100644
--- a/metropolis/node/core/network/main.go
+++ b/metropolis/node/core/network/main.go
@@ -152,7 +152,12 @@
}
s.dhcp.VendorClassIdentifier = "dev.monogon.metropolis.node.v1"
s.dhcp.RequestedOptions = []dhcpv4.OptionCode{dhcpv4.OptionRouter, dhcpv4.OptionDomainNameServer, dhcpv4.OptionClasslessStaticRoute}
- s.dhcp.LeaseCallback = dhcpcb.Compose(dhcpcb.ManageIP(iface), dhcpcb.ManageRoutes(iface), s.statusCallback)
+ s.dhcp.LeaseCallback = dhcpcb.Compose(dhcpcb.ManageIP(iface), dhcpcb.ManageRoutes(iface), s.statusCallback, func(old, new *dhcp4c.Lease) error {
+ if old == nil || !old.AssignedIP.Equal(new.AssignedIP) {
+ supervisor.Logger(ctx).Infof("New DHCP address: %s", new.AssignedIP.String())
+ }
+ return nil
+ })
err = supervisor.Run(ctx, "dhcp", s.dhcp.Run)
if err != nil {
return err
@@ -281,6 +286,7 @@
if err := s.useInterface(ctx, link); err != nil {
return fmt.Errorf("failed to bring up link %s: %w", link.Attrs().Name, err)
}
+ logger.Infof("Network service using interface %s", link.Attrs().HardwareAddr.String())
}
supervisor.Signal(ctx, supervisor.SignalHealthy)