wiki:KeaReleaseNotes140

Version 4 (modified by wlodekwencel, 18 months ago) (diff)

--

Kea 1.4.0, June 15 2018, Release Notes

Welcome to the 1.4.0 release of Kea. Kea is a DHCP implementation developed by Internet Systems Consortium, Inc. that features fully functional DHCPv4 and DHCPv6 servers, a dynamic DNS update daemon, a Control Agent (CA) that provides a REST API to control the DHCP servers, an example shell client to connect to the CA and a DHCP performance measurement tool. Both DHCP servers fully support server discovery, address assignment, renewal, rebinding, release, decline, information request, DNS updates, client classification and host reservations. The DHCPv6 server also supports prefix delegation. Lease information can be stored in a MySQL, PostgreSQL or Cassandra database; it can also be stored in a CSV file. Host reservations can be stored in a configuration file; they can also be stored in a MySQL, PostgreSQL, Cassandra databases and to some degree also retrieved from a RADIUS server.

Version 1.4.0adds the following features to Kea:

  • Database improvements - Many Kea users report using multiple Kea instances sharing a single database backend, or cluster of databases. One of the frequently requested features was the ability to report accurate statistics in this case. This surprisingly tricky problem was solved for MySQL and PostgreSQL by a new stat_cmds hook library and schema updates. Users also requested the ability to reconnect after the database connection is lost for whatever reason. NOTE You will need to upgrade any existing MySQL and PostgreSQL Kea databases to the new schema versions. This is readily done using kea-admin:
$ kea-admin lease-upgrade {mysql|pgsql} -u database-user -p database-password -n database-name
  • Cassandra - Kea has had experimental support for a Cassandra database backend for a while, but the feature hadn't been finished or fully tested. This has changed: the code now supports host reservations and has a great number of new smaller fixes and improvements. Its is now both easier to install and much better documented. Thank you to Deutsche Telekom AG for sponsoring this work.
  • Classification - It is now possible to specify client classes on a pool level, so you can control who is able to use specific pools, group similar clients together or even reject clients that don't meet certain class requirements. Class expressions have expanded capabilities. The most popular seems to be a member operator, which determines whether packet is a member of a given class. Complex boolean logic is available. Ever wanted to do member(foo) and not member(bar)? Now you can.
  • Bug fixes and quality of life improvements - With 134 tickets closed, 1.4.0 beta is by far the biggest release we ever did.

We have also added 2 new features which are dependent on premium hook libraries:

  • RADIUS - Kea can now be integrated with a RADIUS server. Both access and accounting roles are supported. Kea is able to send Access-Request messages and alter its behavior depending on the responses. Specific IP addresses may be assigned (if Framed-IP-Address or Framed-IPv6-Address is received), client can be assigned to specific pool (if Framed-Pool or Framed-IPv6-Pool is received) or denied service altogether (if Access-Reject is received). Kea can also send accounting messages to RADIUS accounting servers. As with other features, this supports both IPv4 and IPv6.
  • High Availability - To provide a highly available service, despite server failure, two Kea instances can now be configured to run as a pair. Two modes are supported. In hot standby mode there is a primary instance handling all traffic and sending updates to its secondary partner. The secondary monitors the health of the primary and is able to take over automatically in case the primary fails. In load balancing mode both partners are active and are handling approximately half of the traffic traffic. In case of a failure of either server, the partner is able to take over responding to all traffic directed to both servers. Support for additional backup servers is implemented. The backup server's database is updated as soon as possible after changes are made to the primary server's database, so that it can be used as an almost drop-in replacement in case of catastrophic failures that take out both primary and secondary servers. The solution supports both IPv4 and IPv6 and can work with any backend, including memfile. Note that this is NOT an implementation of the IETF standard DHCPv4 failover (which does not support DHCPv6).

We have introduced the following backward incompatible changes since Kea 1.4.0 beta release:

  • Logger names - Several Kea loggers have been renamed to adhere to the common naming convention, i.e. hyphens are used instead of underscores and loggers used by the hook libraries use include "-hooks" postfix. For example: kea-dhcp4.lease-cmds-hooks rather than kea-dhcp4-lease_cmds). This change affects loggers used both in the core Kea code and in the hooks libraries. See Kea ticket #5622 for details.
  • Host reservations API changes - Removed deprecated API functions which had been used for retrieving host reservations by HW address and/or DUID. This change does not affect Kea users. It merely affects hooks library developers who use the removed functions for retrieving host reservations. See Kea ticket #5563 for details.

License

Kea 1.4.0 is released under the Mozilla Public License, version 2.0.

https://www.mozilla.org/en-US/MPL/2.0

The premium hook libraries are provided in source code form, under the terms of an End User License Agreement (you are not permitted to redistribute).

Download

The Kea 1.4.0 source may be downloaded from:

https://ftp.isc.org/isc/kea/1.4.0/kea-1.4.0.tar.gz

A PGP signature of the distribution is at

https://ftp.isc.org/isc/kea/1.4.0/kea-1.4.0.tar.gz.sha512.asc

The signature was generated with the ISC code signing key which is available at

https://www.isc.org/about/openpgp

ISC provides detailed documentation, including installation instructions and usage tutorials in the Kea Administrator Reference Manual. Documentation is included with the installation or via https://kea.isc.org/docs in HTML, plain text, or PDF formats. ISC maintains a public open source code tree at https://github.com/isc-projects/kea and wiki pages with roadmap and issue tracking at https://kea.isc.org.

Limitations and known issues with this release can be found at https://kea.isc.org/wiki/KeaKnownIssues

We'd like users of this software to please let us know how it worked for you and what operating system you tested on. Feel free to share your configuration or use case. Also we would like to hear whether the documentation is adequate and accurate (please open tickets for documentation omissions and errors). We want to hear from you even if everything worked.

Support

Professional support for Kea is available from ISC. We encourage all professional users to consider this option: Kea maintenance is funded with support subscriptions. For more information on ISC's DHCP software support see https://www.isc.org/dhcp-subscription/. Free best-effort support is provided by our user community via a mailing list. Information on all public email lists is available at https://www.isc.org/community/mailing-list

If you have any comments or questions about working with Kea, please share them to the Kea Users List https://lists.isc.org/mailman/listinfo/kea-users. Bugs and feature requests may be submitted via the ticket tracking system at https://kea.isc.org.

Changes

The following summarizes changes and important upgrade notes since the previous release (1.4.0-beta).

Thank you again to everyone who assisted us in making this release possible. If you would like to contribute to ISC to assist us in continuing to make quality open source software, please visit our donations page at https://www.isc.org/donate-to-isc/.

We look forward to receiving your feedback.