Changes to Be Aware of When Migrating to Kea 2.6.0

If migrating from an older version than 2.4.0

Users of pre-2.4 Kea (2.3.8 and prior) that are using MariaDB 10.10 or later for DHCPv6 lease storage are recommended to upgrade directly to 2.6.0 or later, to avoid an issue that expires all leases immediately on schema upgrade. For details, see GitLab #3396.

Mandatory Subnet ID

Auto-generated subnet identifiers are no longer supported as of kea 2.6.0. Any configuration containing subnets with no subnet "id" defined will now generate a syntax error resembling subnet configuration failed: missing parameter 'id', which will cause Kea to exit.

You must update your configuration if you currently do not use subnet IDs. The subnet ID is important, as it is used to associate leases with subnets in the lease database. Mismatched subnet IDs may cause problems for DHCP clients.

The config-get command output will contain the autogenerated subnet IDs, which you can use to update your configuration.

Removed configuration parameters

Reservations

The deprecated reservation-mode configuration parameter has been removed.

For file configuration, see the bottom of this section for corresponding values between the old configuration parameter and the new.

Caveat: In Configuration Backend, the update to Kea 2.6.0 or later properly migrates to the new configuration parameters with one exception: if the top-level reservation-mode was set to global, apart from enabling reservations-global which is correct, the update also leaves reservations-in-subnet enabled by default. If you specifically want in-pool host reservations disabled at the top-level, please disable reservations-in-subnet with a remote-global-parameter4-set or a remote-global-parameter6-set command after the update.

ip-address

The deprecated ip-address configuration parameter under the relay JSON map has been been removed. Replace it with the ip-addresses configuration parameter.

dhcp-ddns

The following configuration parameters have been flattened. They now live in global, network, or subnet scope with the ddns- prefix added to them, whereas before they were under the dhcp-ddns map.

Before 2.6.0 After 2.6.0
generated-prefix ddns-generated-prefix
qualifying-suffix ddns-qualifying-suffix
replace-client-name ddns-replace-client-name
override-client-update ddns-override-client-update
override-no-update ddns-override-no-update
hostname-char-replacement ddns-hostname-char-replacement
hostname-char-set ddns-hostname-char-set

libreload

The deprecated libreload command was removed.

Deprecated configuration parameters

The lease4-wipeand lease6-wipe commands are now deprecated and will be removed in a future release.

The output_options parameter used in configuring logging was the only parameter that used an underscore rather than a hyphen. To maintain consistency with hundreds of other options, it has been updated to output-options. The old spelling is still supported when reading a configuration or when setting the configuration using config-set; however, when retrieving (config-get) or storing (config-write) the configuration, the new syntax will be used.

RADIUS

FreeRADIUS support in versions up to Kea 2.5.4 was implemented with a patch from ISC. Starting with Kea version 2.5.4, ISC has replaced the patched FreeRADIUS client with an ISC-developed client. It is provided under the same package isc-kea-premium-radius.

Building Kea from sources

Kea must now be compiled with a compiler that supports the C++14 standard or later; the previous minimum required standard was C++11. Compilation under the C++11 standard or prior will now fail.