Feature #10029
closedRetry binding on IPv6 address if not available
0%
Description
On systems with IPv6 it might be that the IPv6 address is not yet available when a MON or OSD boots.
This can have multiple causes:- DAD still in progress (Duplicate Address Detection)
- SLAAC is still in progress (Stateless Autoconfiguration)
When an interface comes up it can take up to a couple of seconds before IPv6 connectivity is available or even an address is assigned to the interface.
systemd/upstart/sysvinit will start the daemons as soon as they think the network is ready, but it might be that IPv6 is not configured yet.
Monitors and OSDs will fail to start since they can't bind to a IPv6 socket and exit.
It would be usefull if the daemons would retry the binding again within a couple of seconds:
1. Try to bind
2. If it fails, wait 5 seconds
3. Try to bind again
We might add a short loop here where we have a configureable delay and number of retries, that would make it flexible and usefull for most situations.
This only applies to IPv6 though, so only when 'ms_bind_ipv6' is set to true.