Kea 1.8.0 Released

ISC is delighted to announce the release of Kea 1.8.0.

Kea 1.8.0 - New Stable Version

Kea 1.8.0 is our newest stable version. The following major features and bugfixes were implemented since the 1.6 series:

  1. Multi-threading. Kea is now able to take advantage of multiple CPU cores and process many packets in parallel. In many cases, this improves overall performance. We have observed a substantial increase in LPS (Leases Per Second) with multi-threading vs the single-threaded mode in configurations without High Availability. Many factors contribute to overall performance, including enable-multi-threading, thread-pool-size, packet-queue-size, what kind of backend is used, whether the database is local or remote, and some of these can limit the performance improvement with multi-threading. ISC has published the results of our performance tests on our Jenkins System. There are new sections in the Kea ARM dedicated to enabling and tuning multi-threaded performance.

  2. Stork support. Stork, our new open source management application, monitors many aspects of Kea and presents its status in an easy-to-use graphical interface. Stork can also export statistics to Prometheus and Grafana. Stork relies on the status-get API command, available in this version of Kea. You can learn more about Stork here.

  3. HA improvements. Many improvements have been made in Kea’s High Availability feature. A new mode of operation passive-backup has been implemented. In this mode there is one primary server and an arbitrary number of backup servers that get updates from the primary. It is different than other HA modes in the sense that there is no dedicated secondary server. The updates to backup servers are now asynchronous, which greatly reduces the performance penalty for adding new backup servers. Also, a set of new commands to manipulate HA status (ha-maintenance-start, ha-maintenance-notify and ha-maintenance-cancel) are now available. They are useful to perform a controlled shutdown with faster recovery. Finally, the HTTP connection recovery has been improved. The server pairs are now able to reestablish connection more reliably.

  4. Fine grained DNS Updates. Earlier Kea versions supported global DNS update parameters. Kea 1.8 makes it possible to specify many DNS update parameters at the global, shared network and subnet levels. In particular, it is possible to specify whether to send the updates or not (ddns-send-updates), control whether to sanity-check the client update (ddns-replace-client-name, hostname-char-set, hostname-char-replacement), replace (ddns-generated-prefix) or expand the update (ddns-qualifying-suffix) on a per shared network or subnet basis. This provides more flexibility over DNS updating.

  5. New API commands. Many new API commands have been implemented. There are new commands to retrieve leases using certain patterns (lease4-get-by-client-id, lease4-get-by-hostname, lease4-get-by-hw-address, lease6-get-by-duid, lease6-get-by-hostname). Other new commands instruct Kea to retrieve new configuration from the Config Backend immediately rather than waiting for a timer to expire (config-backend-pull), or to trigger DNS updates (lease4-resend-ddns, lease6-resend-ddns).

  6. New open source hook. flex_option. This new hook enables you to add, supersede or remove an option based upon on the result of an expression. The option raw value can be determined by an expression.

  7. New subscriber-only hook. Leasequery. This library provides support for DHCPv4 Leasequery as described in RFC 4388, and for DHCPv6 Lease Query (RFC 5007). This feature is primarily used by hardware relays (Cisco in particular) to update their state after a reboot, but can be used by any device or software that is capable of using the Leasequery protocol.

  8. New open source hook. BOOTP. This legacy feature was added using a hook module so that it can easily be omitted from more modern deployments. Surprisingly enough, there are still many legacy devices that require BOOTP.

  9. Bugfixes. There are 41 tickets marked as bugs that were fixed since the 1.6.0 release. Even more small improvements have been implemented. For a complete list, please see the Changelog below. Two most notable bug fixes provide a more robust database connection recovery and improve handling of broken configurations.

  10. Documentation and test reports. There were 19 documentation updates that were deemed big enough to be listed in the Changelog. In addition to that, we now publish weekly performance test reports (see our Jenkins test system). This is especially important in the context of tuning multi-threaded Kea deployments.

  11. Kea Migration Assistant (keama) packages. Keama is a tool that reads ISC DHCP’s configuration file and produces a Kea configuration file based on it. ISC DHCP and Kea are very different, so a complete conversion is impossible, but this provides a starting place for people who are migrating. It is now much easier to try it, as Keama packages are now available at https://cloudsmith.io/~isc/repos/keama/packages/. You can learn more about Keama from our KB article.

Packages: We have produced and published on Cloudsmith packages for Kea 1.8 for CentOS 7 & 8, Fedora 31 & 32, and also Alpine 3.10 and 3.11. We have also updated our restricted-access repository for subscribers with new Kea 1.8.0 packages including the Premium and Subscriber-only hooks.


Kea References

Source Code

The main source code repository for Stork is in ISC’s GitLab: https://gitlab.isc.org/isc-projects/kea.

The Kea source code tarballs are available on the ISC downloads page as well as on the ISC FTP server. ISC is also providing RPM and deb binary packages for Stork. They are available in our package repositories on Cloudsmith.

Issues & Mailing List

We highly recommend the kea-users mailing list. We encourage users to test Kea and report back their findings on the mailing list or on our GitLab page.

Documentation

The Kea Administrator Reference Manual is posted on Readthedocs.io.

Release Model & License

Kea has monthly development releases and approximately annually, we release a new stable branch. The stable version is then updated as needed, when we have significant maintenance updates.

Kea is released under the Mozilla Public License, version 2.0: https://www.mozilla.org/en-US/MPL/2.0

Download & Installation

The easiest way to install the software is to use native deb or RPM packages. They can be downloaded from:

https://cloudsmith.io/~isc/repos/

Support

We support development of Kea, Stork and our other software through the sale of annual support subscriptions. Contact our sales team discuss your BIND and Kea support requirements. Contact us for more information.

Recent Posts

What's New from ISC

Previous post: Stork 0.10 Released