[Kea-users] Kea 1.2.0 released!

Włodzimierz Wencel wlodek at isc.org
Fri Apr 28 17:06:58 UTC 2017


On behalf of ISC and Kea team I'm pleased to announce that new version
of Kea
1.2.0 is now available!

Kea is a new DHCP implementation being 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 REST API to
control 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 the configuration file; they can also be
stored
in a MySQL or PostgreSQL database.

Version 1.2.0 adds the following features to Kea:
* Control Agent is an optional daemon that can connect to command channels
exposed by DHCPv4 and DHCPv6 (this capability in DDNS module is coming
soon)
and exposes it over REST API. It uses a clean, easy to use HTTP
interface that
receives commands defined in JSON syntax. A number of existing commands are
available, with more being planned for each upcoming releases.

* kea-shell is an example client that can connect to CA. It is a tool
that is
mostly intended to be used in scripts, but can also be used to send
commands
manually. It is written in Python (supports both 2.x and 3.x), is
optional (no
python needed by default) and serves as an illustration on how to take
advantage of the REST API. Any software or environment that can form JSON
commands and send them over an HTTP interface can take advantage of the
new API.

* parser refactoring - Part of the Kea code that was responsible for
understanding configuration files was very complex, difficult to
understand and
even more difficult to extend. With the introduction of the REST API and
its
new commands, new use cases appeared when a file on disk is not the only
possible source of configuration. Therefore the Kea team spent significant
effort to refactor configuration handling. The code is now much leaner,
simpler
and much more extensible. There are some user visible benefits, too: you
can
now use C++ (!//) and C (/* ... */) comments everywhere. C style
comments can
span multiple lines. It is also now possible to include other files in your
configuration file. The default values for absent parameters are now
clearly
defined and many additional sanity checks have been implemented.
Finally, the
configuration error messages are now more descriptive and easier to
understand.

* new commands - a number of new commands have been implemented. In
particular,
it is now possible to update (config-set), retrieve (config-get) or
write the
current configuration to disk (config-write). It is possible to list
supported
command (list-commands), check version (version-get) information or
compilation
details that cover dependencies versions (build-report) and more. Commands
previously available only over command channel API are now also
available over
REST API.

* configuration test - A capability to test new configuration has been
added.
This works both from the command-line (see -t switch), via REST
interface and
command channel API (see config-test command).

* options in pools - It is now possible to specify options on a pool level.
* C++11 - Kea 1.2 is the first Kea release that requires C++11 support
in your
compiler.
* Overall 144 tickets (including 31 since 1.2.0 beta) and 15 pull
requests on
github have been closed.

Two new premium features are now available to customers with Kea support
contracts:

* Flexible Identifier - Kea software provides a way to handle host
reservations
that include addresses, prefixes, options, client classes and other
features.
The reservation can be based on hardware address, DUID, circuit-id or
client-id
in DHCPv4 and using hardware address or DUID in DHCPv6. However, there are
scenarios where the reservation is more complex, e.g. uses other options
that
mentioned above, uses part of specific options or perhaps even a
combination of
several options and fields to uniquely identify a client. Those are
addressed
by the Flexible Identifiers hook library.

* Host Commands - The Host Commands Library extends the set of supplied
commands with additional ones allowing the management of host
reservations. In
particular, it add commands that let users inspect and query for current
host
reservations, add new host reservations in a safe way (the data is sanity
checked) and delete existing ones.

= License =

Kea 1.2.0 has been released under the Mozilla Public License, version 2.0.

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

== Download ==

The Kea 1.2.0 source and PGP signature may be downloaded from:

   https://www.isc.org/downloads/

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 http://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 http://kea.isc.org.

Limitations and known issues with this release can be found at

   http://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. 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

   http://kea.isc.org

== Changes ==

The following summarizes changes and important upgrade notes since the
previous
release (1.2.0-beta). (See the git history for more details and additional
development.)

1257.   [bug]           marcin
        Improved logging in the hosts manager.
        (Trac #5264, git 2fb9fd78e63f5d09810702847ad3e3b3020ea92b)

1256.   [bug]           tomek
        Control Agent now writes proper configuration when using
        config-write command.
        (Trac #5253, git a1b5da4db6ebfa9635bbe411ec363cdcc4fd1d28)

1255.   [bug]           marcin
        Fixed failing unit tests in libkea-http.
        (Trac #5260, git 43394f76efb1634155c04b205dec7361fc21f4f9)

1254.   [func]          tomek
        Various improvements needed for upcoming host commands library:
        host data source is now able to delete hosts, hosts can be exported
        to JSON format, C++11 code for configure script moved to separate
        file, several compilation warnings removed.
        (Trac #5208, git 88555d8f23745f3d615448e906796920cc7f44d0)

1253.   [func,doc]      tomek
        Default configuration file has been overhauled significantly. It
        now covers many additional options and features. Command channel
        is now enabled by default. Thanks to Dan Mahoney for his review.
        (Trac #5198, git 280de81cfe957ccab8a28074bdb0a4bc0e45104e)

1252.   [bug]           tmark
        kea-dhcp6 now correctly resets lease state and increments the
        assigned statistic when it reissues an expired-reclaimed lease
        to the lease's original client, in response to a REQUEST from
        said client.
        (Trac #5252, git 85bde7adbe6a78238bd5e17fecabfa918755f16c)

1251.   [func]          tomek
        New type of host identifier (flex-id) used in reservations has
        by added to MySQL and PostgreSQL schemas.
        (Trac #5195, git 37c26cc30b717019fbd6b7349279541edb351382)

1250.   [bug]           fdupont
        Do not unregister timers when running the config-test command.
        (Trac #5186, git e891b06940e41b4cfaa324c2ace8fdd761ee6662)

1249.   [bug]           tmark
        The assigned lease statistics were not being probably adjusted
        by either kea-dhcp4 or kea-dhcp6 when reclaimed expired leases
        were reissued.
        (Trac #5247, git 4e5193fb32b14325ccf5824614e58bcceb3e6388)

1248.   [bug]           marcin
        Improved socket connection handling code, corrected numerous
        failing and crashing tests for libkea-asiolink, libkea-http
        and kea-ctrl-agent on Debian, Fedora and Ubuntu.
        (Trac #5217, git 4bcb45f0c88aba3d0f70ca48d9fff6f1d4616bc2)

1247.   [bug]           marcin
        Resolved issues with DHCPv4 host reservations by 'client-id'
        when MySQL or PostgreSQL host database backend is in use.
        Also, the 'client-id' is used together with other host
        identifier types when 'host-reservation-identifiers' parameter
        is not specified.
        (Trac #5102, git 390d687d0f61635f5562d13860ff6362eee67853)

1246.   [func,bug]      tomek
        Restrictions in filename argument in config-write command have
        been removed. It is now possible to use absolute paths.
        DHCPv4, DHCPv6, D2 and Agent parsers did not handle flush,
        maxsize or maxver parameters in logger configuration correctly.
        This is now fixed.
        (Trac #5187, git a30ffcc67cfb7370c586d3c85147792e27aab4c7)

1245.   [func]          fdupont
        DHCPv4 domain-search option can now be defined using
        comma separated values.
        (Trac #5087, git eca0b8c6425bc922587675100f100b1aae54aee2)

1244.   [doc]           tomek
        User's Guide section about Kea shell added.
        (Trac #5171, git 3dc4908fe02e86c57ccd5ad2d2f8330655f438be)

1243.   [func]          tomek
        config-reload command implemented. It allows Kea DHCPv4 and DHCPv6
        servers to reload its original configuration file. Also,
        set-config command was renamed to config-set.
        (Trac #5213, git b209c2b577a2f9da71cc918d7a551f8efdc1c4cb)

1242.   [func]          fdupont
        Integer fields in options can now be specified in either
        decimal or hexadecimal format.
        (Trac #4540, git 4cbf341f4169cf1e1eae0721644797a726d89702)

1241.   [func]          fdupont
        Support for tuple-based options added. DHCPv6 option
        bootfile-param (code 60) can now be set in a more convenient
        manner.
        (Trac #4070, git 30102cacee95b91e6c4666f0c11f06232f19eeb9)

1240.   [bug]           marcin
        Corrected IOFetch unit test failures on Debian.
        (Trac #5216, git a7c2946678c43aedfb2e3c37b9730a10067528f3)

1239.   [func]          marcin
        Implemented additional sanity checks when adding host
        reservations into the configuration file.
        (Trac #5207, git ea42c6f479918235ae4a67a60d08720e2664720c)

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 http://www.isc.org/donate-to-isc/.

We look forward to receiving your feedback.





More information about the Kea-users mailing list