... | @@ -4,32 +4,21 @@ Welcome to Kea 1.9.5, the fifth monthly release of the 1.9 development branch. A |
... | @@ -4,32 +4,21 @@ Welcome to Kea 1.9.5, the fifth monthly release of the 1.9 development branch. A |
|
|
|
|
|
This release adds new features, improves existing features, clarifies documentation and fixes a few bugs. The most notable changes introduced in this version are:
|
|
This release adds new features, improves existing features, clarifies documentation and fixes a few bugs. The most notable changes introduced in this version are:
|
|
|
|
|
|
**Script hook** #899
|
|
**Script hook** Due to popular demand a new hook that calls arbitrary external script has been added. The most common use case is expected to be routing and firewall update for provisioned devices, but many other scenarios may benefit from this. The script is called asynchronous, i.e. Kea starts the script, doesn't wait for its completion, and continues onwards with processing the packet. This approach greatly decreases performance impact. This hook has been only lightly tested. Use with caution and please do share your experience #899.
|
|
|
|
|
|
**Setting lease time for client classes** #1635
|
|
|
|
|
|
|
|
**TLS support work in progress.** Parser for TLS parameters. #1662. Asiolink code cleanup #1644,
|
|
|
|
|
|
|
|
**DB cluster improvements** Percona forensic logging. #1709 Percona unit tests #1708 perfdhcp export #1703
|
|
|
|
|
|
|
|
**Fix crash on high request rate (forensic)** #1711
|
|
|
|
|
|
|
|
**Bugfix** Inconsistent DHCPv4 field, such as boot-file-name from client classes #1672
|
|
|
|
|
|
|
|
**Alloc engine error messages** #1701.
|
|
|
|
|
|
|
|
**Upgrade improvements** #1681
|
|
|
|
|
|
|
|
|
|
**Setting lease time for client classes** Earlier Kea versions allowed to set different lease lifetimes depending on where the device was located in your network (using the global, network, or subnet levels). However, it was impossible to change the lifetime based on device type. This missing capability is now implemented for IPv4, with IPv6 support coming up soon #1635.
|
|
|
|
|
|
|
|
**TLS support work in progress.** The Kea team continues its work on TLS implementation in Kea. The ultimate goal is for CA to be able to accept https connections. While the TLS solution is now usable yet, the work is definitely picking up the pace with several important milestones being completed. There are now several new parameters available in Control Agent (CA) configuration: `trust-anchor`, `cert-file`, `key-file` and `cert-required`. The parameters can be configured, but they are not used yet. A new config example `doc/examples/agent/https.json` has been added with some commentary #1662. Another under the hook change updated the asiolink library to be able to handle the new TLS socket type. This is not a user-visible change #1644.
|
|
|
|
|
|
|
|
**DB cluster improvements** Kea never officially supported any DB clustering solutions. Nevertheless, people used clusters with varying results. ISC team began experiments with several clustering solutions: Galera, Percona, NDB, and group replication. While we don't officially any of them yet, we are gaining experience and testing many scenarios right now. Those experiments reached a stage where we are able to set up clusters and run unit and system tests. The first two improvements are related to our MySQL libraries to better run on the Percona cluster. One ticket updated the MySQL schema with the primary key for forensic logging (#1709), while another fixed several problems in unit tests that manifested themselves only on Percona (#1708). Finally, we are getting ready to run performance tests of multiple Kea instances connected to the DB cluster. To do that reliably, we need to export the list of leases assigned by each instance and then correlate them to check for any duplicates. With that in mind, we extended `perfdhcp` tool with the ability to export the list of assigned leases. We hope to make good use of that capability in future tests #1703.
|
|
|
|
|
|
|
|
**Bug fixes** Earlier Kea versions could experience a DB access deadlock when processing high request rate with forensic logging hook configured to write log entries to a database and multi-threading was enabled. This release includes a fix for this problem #1711. One user reported that Kea used values defined in client classes in non-deterministic way. The behavior was deterministic, but DHCP options and DHCP fixed fields had followed different logic, giving an illusion of randomness. The code has been updated to provide consistent behavior for options and fixed fields #1672. When dealing with client classification, it is possible to encounter a situation when there are subnets and pools available, but due to the client not meeting the class requirements is unable to use any of them. In such cases, earlier Kea versions printed cryptic error messages, such as `failed to allocate an IPv4 address after 0 attempt(s)`. This was confusing and required deep understanding of the allocation engine internals to understand the reasons behind it. The message was tweaked and there are several additional messages that explain the reasons why the allocation failed and more details are available to easier debug the problems #1701.
|
|
|
|
|
|
|
|
**MySQL DB upgrade improvements** Two last development releases had incorrectly versioned database schema. As a result, when upgrading from 1.9.2 or 1.9.3 to 1.9.4 the `kea-admin` tool incorrectly assumed the schema is already updated, when if fact it wasn't. This is now corrected. Upgrading from any earlier Kea versions to 1.9.5 work and work around for ugprading to 1.9.4 is documented in Known issues list. See the link below.
|
|
|
|
|
|
## Incompatible Changes
|
|
## Incompatible Changes
|
|
|
|
|
|
This release introduces one incompatible change:
|
|
There are no backward-incompatible changes in this release.
|
|
|
|
|
|
1. The ``config-get`` command now returns the reservation mode using the new syntax. This affects only people who implemented specific code that relies on the now obsolete ``reservation-mode`` as returned by Kea. The parameter is deprecated, but is still supported when setting the config or reading the configuration from a file.
|
|
|
|
|
|
|
|
## Known Issues
|
|
## Known Issues
|
|
|
|
|
... | | ... | |