When ovn/dns_servers consist of IPv6 dns nameservers,
it was getting added to IPv4 dhcp options also, and due to
this an invalid nameserver(last 4 octets of an IPv6 address)
is set in the instances.
This patch filters IPv4/IPv6 dns nameservers and set
dhcpv4/dhcpv6 options accordingly.
Also when dns_nameservers are not set for IPv6 subnets,
get those from ovn/dns_servers config or system nameservers
just like it's done with the IPv4 subnets. Updated
get_system_dns_resolvers to pick both IPv4/IPv6 valid
ips, this also requires bump of oslo.utils minimum version
to 4.8.0 to use strict option for IPv4[1].
Additionally fix some unit tests which were setting IPv4 dns
nameservers on the IPv6 subnets, this is not allowed with api.
[1] https://github.com/openstack/oslo.utils/commit/3288539
Conflicts:
lower-constraints.txt
requirements.txt
[Stable Only] Since Neutron stable policy do not allow bumping
of minimum version of a requirement in stable releases, so doing
a partial backport by not backporting requirements.txt changes and
updated get_system_dns_resolvers to work with older version of
oslo.utils.
Closes-Bug: #1951816
Change-Id: I9f914e721201072e43a8c6c266ed97ca85fcc13d
(cherry picked from commit 4a06685098)
12 lines
521 B
YAML
12 lines
521 B
YAML
---
|
|
fixes:
|
|
- |
|
|
For IPv4 subnets when dns_nameservers is not set in the subnet,
|
|
servers defined in 'ovn/dns_servers' config option or system's
|
|
resolv.conf are used, but for IPv6 subnets these are
|
|
not used. The same will now be used for IPv6 subnets too.
|
|
Additionally dns servers added in 'ovn/dns_servers' config
|
|
option or system's resolv.conf will be filtered as per
|
|
the subnet's IP version. For more info see the bug report
|
|
`1951816 <https://bugs.launchpad.net/neutron/+bug/1951816>`_.
|