neutron/releasenotes/notes/dhcp-dnsmasq-dhcp-host-addr6-list-support-45d104b3f7ce220e.yaml
Harald Jensås 592c2f8d91 DHCPv6 - Use addr6_list in dnsmasq
Adds a new bool option dnsmasq_enable_addr6_list, when
enabled configuration for dnsmasq will be created with a
single dhcp-host entry specifying a list of ip addresses
allocated for a port.

Previously the dnsmasq dhcp-agent driver would write a
separate dhcp-host entry for each fixed-ip of a port in
the dnsmasq hosts file. The result of the previous
behaviour is that dnsmasq will only use one of the config
entries, i.e the first one matching the mac identifier.

The trade-off is that only a single dns_assignment will
be used for IPv6 addresses within the same subnet. (But
in practice, this was always the case since only the
first config entry would be used by dnsmasq.)

Why is this neccecary:
  This is done to enable ironic provisioning over IPv6
  using DHCPv6-stateful. For background info, please
  read dnsmasq-discuss thread:
http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2020q1/thread.html#13671

Closes-Bug: #1861032
Change-Id: I833840e7daed2efa7efaece27cfd1ba28e0feb90
2020-03-03 11:03:36 +01:00

26 lines
1.3 KiB
YAML

---
features:
- |
Adds support for configuring a list of IPv6 addresses for a dhcp-host entry
in the dnsmasq DHCP agent driver. For a port with multiple IPv6 fixed-ips
in the same subnet a single dhcp-host entry including all the addresses are
written to the dnsmasq dhcp-hostsfile.
Reserving multiple addresses for a host eases problems related to network
and chain-booting where each step in the boot process requests an address
using different DUID/IAID combinations. With a single address, only one
gets the "static" address and the boot process will fail on the following
steps. By reserving enough addresses for all the stages of the boot process
this problem is resolved. (See bug:
`#1861032 <https://bugs.launchpad.net/neutron/+bug/1861032>`_)
.. NOTE:: This requires dnsmasq version 2.81 or later. Some distributions
may backport this feauture to earlier dnsmasq version as part of
the packaging, check the distributions releasenotes.
Since the new configuration format is invalid in previous versions
of dnsmasq this feauture is *disabled* by default. To *enable* the
feature set the option ``dnsmasq_enable_addr6_list`` in DHCP agent
configuration to ``True``.