As expected setting net.core.devconf_inherit_init_net=1 and net.ipv6.conf.default.accept_dad=0 and then letting the dhcp agent recreate all existing namespaces fixes the issue and we are not losing any namespaces anymore.
Maybe it would be a good workaround fix for the neutron code to set accept_dad=0 on the tap interface when creating it inside the dhcp namespace before adding the ipv6 metadata address?
As expected setting net.core. devconf_ inherit_ init_net= 1 and net.ipv6. conf.default. accept_ dad=0 and then letting the dhcp agent recreate all existing namespaces fixes the issue and we are not losing any namespaces anymore.
Maybe it would be a good workaround fix for the neutron code to set accept_dad=0 on the tap interface when creating it inside the dhcp namespace before adding the ipv6 metadata address?