diff --git a/internal/server/bgp/server.go b/internal/server/bgp/server.go index 4194db08408..d748db2a11e 100644 --- a/internal/server/bgp/server.go +++ b/internal/server/bgp/server.go @@ -162,7 +162,7 @@ func (s *Server) stop() error { oldPeers[peerUUID] = peer } - // Remove all the peers (ignore failures). + // Remove all the peers. for _, peer := range s.peers { err := s.removePeer(peer.address) if err != nil { diff --git a/internal/server/network/driver_ovn.go b/internal/server/network/driver_ovn.go index e56cb60af41..442f2e10e09 100644 --- a/internal/server/network/driver_ovn.go +++ b/internal/server/network/driver_ovn.go @@ -3714,12 +3714,12 @@ func (n *ovn) Update(newNetwork api.NetworkPut, targetNode string, clientType re if err != nil { return err } - } - - // Setup BGP. - err = n.bgpSetup(oldNetwork.Config) - if err != nil { - return err + } else { + // Setup BGP. + err = n.bgpSetup(oldNetwork.Config) + if err != nil { + return err + } } err = n.loadBalancerBGPSetupPrefixes() diff --git a/internal/server/network/driver_physical.go b/internal/server/network/driver_physical.go index 1ba3655f797..8004dff0673 100644 --- a/internal/server/network/driver_physical.go +++ b/internal/server/network/driver_physical.go @@ -336,9 +336,16 @@ func (n *physical) Update(newNetwork api.NetworkPut, targetNode string, clientTy return err } - err = n.setup(oldNetwork.Config) - if err != nil { - return err + if !hostNameChanged { + err = n.setup(oldNetwork.Config) + if err != nil { + return err + } + } else { + err = n.setup(nil) + if err != nil { + return err + } } // Update OVS bridge entries (for dependent OVN networks).