Skip to content

Commit

Permalink
egressip: startEgressIPHealthCheckingServer must wait for ipv6 to settle
Browse files Browse the repository at this point in the history
Signed-off-by: Flavio Fernandes <flaviof@redhat.com>
  • Loading branch information
flavio-fernandes committed Sep 1, 2022
1 parent bb405c8 commit d93e072
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions go-controller/pkg/node/node.go
Expand Up @@ -20,6 +20,7 @@ import (
"k8s.io/klog/v2"
utilnet "k8s.io/utils/net"

"github.com/containernetworking/plugins/pkg/ip"
honode "github.com/ovn-org/ovn-kubernetes/go-controller/hybrid-overlay/pkg/controller"
"github.com/ovn-org/ovn-kubernetes/go-controller/pkg/cni"
"github.com/ovn-org/ovn-kubernetes/go-controller/pkg/config"
Expand Down Expand Up @@ -593,6 +594,11 @@ func (n *OvnNode) startEgressIPHealthCheckingServer(wg *sync.WaitGroup, mgmtPort
nodeMgmtIP = mgmtPortConfig.ipv4.ifAddr.IP
} else if mgmtPortConfig.ipv6 != nil {
nodeMgmtIP = mgmtPortConfig.ipv6.ifAddr.IP
// Wait for address to become usable. This is needed so server is safe to bind using this
// address. This is only needed for IPv6.
if err := ip.SettleAddresses(mgmtPortConfig.ifName, 10); err != nil {
return fmt.Errorf("failed start health checking server due to unsettled IPv6: %w", err)
}
} else {
return fmt.Errorf("unable to start health checking server: no mgmt ip")
}
Expand Down

0 comments on commit d93e072

Please sign in to comment.