|
|
# Known Issues in Kea
|
|
|
|
|
|
You can see all Kea issues with the `bug` label at [this link](https://gitlab.isc.org/isc-projects/kea/issues?label_name[]=bug). The following is a list of some of the more significant known issues in current and previous versions of Kea.
|
|
|
|
|
|
## Unicode Environments
|
|
|
|
|
|
* On some exotic systems, unicode may be enabled by default. When compiling from sources, it is known to cause linking errors such as `undefined reference to `log4cplus::Logger::getInstance(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'`. This is caused by Kea not supporting unicode strings / wide-character strings. Configuring the Kea sources with `CXXFLAGS='-UUNICODE' ./configure` is known to solve the issue. If you compile other dependencies from sources e.g. googletest, they may also need tweaking e.g. `CXXFLAGS='-UUNICODE' cmake .` respectively.
|
|
|
|
|
|
## Kea 2.x (including 2.4.0)
|
|
|
|
|
|
* The performance with MySQL 8 is seriously degraded. This is believed to be a MySQL 8 issue. Our performance tests indicate that migrating back to MySQL 5.7 or MariaDB solves the performance degradation problem. For details, see #2706 and #2710.
|
|
|
|
|
|
* Kea when linked with `libmysqlclient` may crash in rare cases if the database server is restarted while Kea is in the middle of a query. This is believed to be a `libmysqlclient` library bug. One possible workaround is to link with `libmariadb` instead. For details, see #2792.
|
|
|
|
|
|
* Upgrade from packages older than 2.3.2 to newer is not executed correctly. Issue and workaround is described in isc-projects/kea-packaging#18
|
|
|
|
|
|
## Kea 2.4.1
|
|
|
|
|
|
* incorrect configuration of loggers may result with disabled logging #3176
|
|
|
|
|
|
## Kea 2.4.0
|
|
|
|
|
|
* Users of pre-2.4 Kea (2.3.8 and prior to that) 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 #3396.
|
|
|
* Earlier packages for RHEL might cause Kea to crash in some rare occurrences. The exact root-cause is being investigated, but for now we were able to determine that disabling `-flto` (link time optimization) option of the linker makes this problem disappear. Packages provided between July 5th and Sep 20th might be affected. Updated packages that address this problem are now (July 21st) available. If you compile Kea on your own, please don't use `-flto` option.
|
|
|
|
|
|
## Kea 2.3.2
|
|
|
|
|
|
* When loaded, the Limits hook will not work for the built-in class ALL. An easy workaround for this is to define an alias class that will contain all packets, as documented in [issue #2615](https://gitlab.isc.org/isc-projects/kea/-/issues/2615#note_325123).
|
|
|
|
|
|
## Kea 2.3.0
|
|
|
|
|
|
* Lease allocation fails if Kea uses a recently released MariaDB 10.9.2. This is an issue on MariaDB's side. A bug was reported and a fix was suggested: https://jira.mariadb.org/browse/MDEV-29381. Current recommendation is to not use this MariaDB version with Kea.
|
|
|
|
|
|
## Kea 2.1.2
|
|
|
|
|
|
* If a CSV file that contains multiple leases with the same address is given as input to the newly introduced `lease-upload` command, `kea-admin` returns a "duplicate entry" error and the lease inserts are properly rolled back. This is a situation that is commonly found when using memfile, where the CSV file grows by one row for each lease update until it is cleaned up by the Lease File Cleanup (LFC) process (`kea-lfc`) every `lfc-timer` seconds. In the following example, assuming `${file}` is the CSV file containing leases and v4 is the DHCP version, a workaround is available by calling the LFC process before calling `kea-admin`, with the resulting `${file}.2`:
|
|
|
```sh
|
|
|
$ kea-lfc -4 -x ${file}.2 -i ${file}.1 -o ${file}.output -f ${file}.completed -p ${file}.pid -cignored-path
|
|
|
```
|
|
|
The issue is being resolved in #2293.
|
|
|
|
|
|
## Kea 2.1.0
|
|
|
|
|
|
* The Kea documentation project hosted at https://kea.readthedocs.io/ started having build failures
|
|
|
in October. This was not a single occurrence and happened with multiple projects which is documented
|
|
|
[here](https://blog.readthedocs.com/build-errors-docutils-0-18/). It caught the release of 2.1.0 off
|
|
|
guard. This was fixed with #2161 in master, but to keep the `Kea-2.1.0` reflecting the released
|
|
|
sources, instead of moving it, `Kea-2.1.0-fix` was added. This is what the version that appears in
|
|
|
the Read the Docs sidebar and it should be interpreted as having `Kea-2.1.0` documentation.
|
|
|
In reality, it only has the documentation build fix on top.
|
|
|
|
|
|
## Kea 1.9.10 & 1.9.11
|
|
|
|
|
|
* If, using configuration backend on Kea 1.9.10 or 1.9.11, you managed to add a client class with associated option data, and then removed the client class, you would be left with dangling option data rows in the database. Option data rows are now properly removed when the associated client class is removed after #2094 which was released with 2.0.0. The foreign key constraint which helps realize the cascading delete will fail to be created on upgrade to the new schema with the following error:
|
|
|
|
|
|
```sh
|
|
|
Processing /opt/kea/share/kea/scripts/mysql/upgrade_011_to_012.sh file...
|
|
|
ERROR 1452 (23000) at line 16: Cannot add or update a child row: a foreign key constraint fails (`keatest`.`#sql-alter-1-2`, CONSTRAINT `fk_dhcp4_options_client_class` FOREIGN KEY (`dhcp_client_class`) REFERENCES `dhcp4_client_class` (`name`) ON DELETE CASCADE ON UPDATE)
|
|
|
```
|
|
|
|
|
|
The workaround is to delete the dangling options before retrying the upgrade:
|
|
|
|
|
|
```sql
|
|
|
DELETE FROM dhcp4_options WHERE scope_id = 2 AND dhcp_client_class NOT IN (SELECT name FROM dhcp4_client_class);
|
|
|
DELETE FROM dhcp6_options WHERE scope_id = 2 AND dhcp_client_class NOT IN (SELECT name FROM dhcp6_client_class);
|
|
|
```
|
|
|
|
|
|
## Kea 1.9.4
|
|
|
|
|
|
* The `kea-admin` command may fail to upgrade database schema due to missing execute permission on the upgrade scripts. This can be fixed by setting the execute flag. e.g.
|
|
|
|
|
|
```sh
|
|
|
$ chmod u+x {prefix}/share/kea/scripts/mysql/*.sh
|
|
|
$ chmod u+x {prefix}/share/kea/scripts/pgsql/*.sh
|
|
|
$ chmod u+x {prefix}/share/kea/scripts/cql/*.sh
|
|
|
```
|
|
|
|
|
|
The fix for this is already available in #1681 and will be included in the upcoming 1.9.5 release.
|
|
|
|
|
|
* If upgrading from 1.9.2 or 1.9.3 the MySQL schema upgrade will fail. This is a bug in the upgrade script that will be fixed in upcoming 1.9.5 release. See #1698 for details. Alternatively, the schema can be fixed manually, by issuing the following SQL commands:
|
|
|
|
|
|
```sql
|
|
|
ALTER TABLE dhcp4_subnet
|
|
|
ADD COLUMN cache_threshold FLOAT DEFAULT NULL,
|
|
|
ADD COLUMN cache_max_age INT(10) DEFAULT NULL;
|
|
|
|
|
|
ALTER TABLE dhcp4_shared_network
|
|
|
ADD COLUMN cache_threshold FLOAT DEFAULT NULL,
|
|
|
ADD COLUMN cache_max_age INT(10) DEFAULT NULL;
|
|
|
|
|
|
ALTER TABLE dhcp6_subnet
|
|
|
ADD COLUMN cache_threshold FLOAT DEFAULT NULL,
|
|
|
ADD COLUMN cache_max_age INT(10) DEFAULT NULL;
|
|
|
|
|
|
ALTER TABLE dhcp6_shared_network
|
|
|
ADD COLUMN cache_threshold FLOAT DEFAULT NULL,
|
|
|
ADD COLUMN cache_max_age INT(10) DEFAULT NULL;
|
|
|
```
|
|
|
|
|
|
The above snippet can be written to a kea1.9.4-schema-fix.mysql file and then applied using the following command:
|
|
|
|
|
|
```sh
|
|
|
$ mysql -u DBUSER -p DBNAME < kea1.9.4-schema-fix.mysql
|
|
|
```
|
|
|
|
|
|
## Kea 1.8.0, 1.8.1
|
|
|
|
|
|
* MariaDB issues listed above in Master also apply to 1.8.
|
|
|
|
|
|
* The `lease4-update` command fails to update leases on v4 if multi-threading is enabled. Notable affected environment is a HA with the "send-lease-updates" configuration setting explicitly set to true. The lease updates would not go through to other HA nodes, even though some log lines would say they would. A workaround for this problem is to disable MT. A fix is available in #1542 (MR !1015) and in current master. This problem will be fixed in upcoming 1.8.2.
|
|
|
|
|
|
## Kea 1.7.3
|
|
|
|
|
|
* The BOOTP hook has a bug that results in dropping packet because of missing option 53. The problem was discovered too late and it missed the 1.7.3 code freeze deadline. This problem is covered with bug #1064 and will be fixed in 1.7.4. A patch for 1.7.3 may be provided upon request.
|
|
|
|
|
|
## Kea 1.6.0
|
|
|
|
|
|
* There is a problem establishing a MySQL cluster backend with Kea 1.6. See issue [#901] (https://gitlab.isc.org/isc-projects/kea/issues/901)
|
|
|
|
|
|
* MySQL 8.0.17 introduced more restrictive access model, where creating procedures requires additional privileges. If using this or later versions of MySQL, make sure the user running `kea-admin db-upgrade` command has sufficient privileges.
|
|
|
|
|
|
* Command `remote-option-def6-set` was reported to fail sporadically on Debian 10 giving an error similar to this: "Prepared statement needs to be re-prepared". This is a MySQL configuration issue and can be corrected by tweaking the following parameters in your my.cnf file:
|
|
|
|
|
|
```
|
|
|
table_open_cache 128=>16384
|
|
|
table_definition_cache 1024=>16384
|
|
|
tmp_table_size 32M=>64M
|
|
|
join_buffer_size 256k=>512k
|
|
|
```
|
|
|
|
|
|
For generic MySQL discussion about the problem, see https://bugs.mysql.com/bug.php?id=42041. For the specific Kea issue, see https://gitlab.isc.org/isc-projects/kea/issues/855.
|
|
|
|
|
|
|
|
|
|
|
|
## Kea 1.6.0-beta1
|
|
|
|
|
|
* On installations with newer versions of MySQL (confirmed on MySQL 8) it is possible that the MySQL Configuration Backend will not return all prefix delegation pools associated with an IPv6 subnet. As a result, the DHCPv6 server will not use all configured prefix delegation pools for the subnet. This should not affect subnets with a single prefix delegation pool. Also, it should not affect the IPv6 address pools.
|
|
|
|
|
|
* If you see an error about missing /usr/bin/sh while running configure script, please type the following command: `autoreconf -if` command and try again. So far this issue has been observed by one user on MacOS, but it may possibly affect other systems.
|
|
|
|
|
|
## Kea 1.5.0
|
|
|
|
|
|
* Database configuration tweak - reconnect-wait-time, a database configuration parameter that governs how quickly Kea attempts to reconnect has been modified. Previously for some backends it was specified in seconds while for others in milliseconds. This has now been unified and milliseconds are used everywhere. While upgrading, please inspect this parameter in your configuration file. If it was previously specified in seconds, simply multiply the value by 1000.
|
|
|
|
|
|
* The documentation for premium and subscription package has references to Kea User's Guide off by one. Its README and INSTALL files incorrectly reference sections 14.4 (should be 15.4 "Available hook libraries") and 14.2 (should be 15.2 "Installing Hook packages"). It also incorrectly references package names and directories. It should be kea-1.5.0.tar.gz and kea-1.5.0, not kea-1.5.0-beta.tar.gz and kea-1.5.0-beta2.
|
|
|
|
|
|
* Kea 1.5.0 fails to compile on MySQL 8. An early investigation indicates the reason is MySQL 8 which no longer supports my_bool type. This may affect Fedora 29 users if they try to compile with --with-mysql. This issue will be addressed in upcoming Kea version. See #354.
|
|
|
|
|
|
## Kea 1.5.0-beta2
|
|
|
|
|
|
* RADIUS premium hook - on some systems the hook can cause incorrect memory writes during server shutdown. This may cause the server to crash during shutdown rather than terminate gently. This is currently confirmed on CentOS 7.5. The issue will be fixed in 1.5.0-final.
|
|
|
|
|
|
## Kea 1.5.0-beta1
|
|
|
The list of outstanding work items for the Kea 1.5 final release is here: https://gitlab.isc.org/isc-projects/kea/milestones/2
|
|
|
Significant known issues include:
|
|
|
* The congestion control mechanism, implemented to ensure Kea is processing current, rather than stale, requests when under very heavy load, can also decrease overall throughput under extremely heavy load.
|
|
|
* Problems with MariaDB: https://gitlab.isc.org/isc-projects/kea/issues/53
|
|
|
* Reported memory leak with the RADIUS hook library: https://gitlab.isc.org/isc-projects/kea/issues/87
|
|
|
|
|
|
## Kea 1.4.0
|
|
|
|
|
|
* A new High Availability feature introduces a mechanism to synchronize leases between partners. If there is a large (on the order of hundreds of thousands) number of leases to by synced, the amount of time it takes for the server to fully transmit the database may be higher than then timeout. As a result, an attempt to sync large database may timeout even though the partner is alive and responding. This limitation can be worked around by changing the timeout values in src/lib/config/timeouts.h and recompiling. This is addressed with paged updates, added in Kea1.5Beta1.
|
|
|
|
|
|
* The table 8.2. " List of standard DHCP option types" in the Kea Administrator Reference Manual includes '''hex''' as a supported option type. The type name provided in the document is wrong. The '''binary''' type should be used in configuration to define options for which values are specified as a string of hexadecimal digits.
|
|
|
|
|
|
* The Kea configuration example file for High Availability (doc/examples/kea4/ha-load-balancing-primary.json) includes extraneous comma sign at the end of line 218. This causes the server to reject this configuration and consequently the server fails to start. Removing the culprit comma sign from this configuration resolves the problem.
|
|
|
|
|
|
* The Kea configuration example file for High Availability (doc/examples/kea4/ha-load-balancing-primary.json) includes logger configuration for the High Availability library at line 215. The name of the logger "kea-dhcp4.ha_hooks" is wrong and should be modified to "kea-dhcp4.ha-hooks". Starting the server with wrong logger name would succeed, but the logger configuration for the HA library will have no effect.
|
|
|
|
|
|
* The unit-tests for Forensic Logger, a premium hook library, incorrectly construct expected log file name on first through ninth day of each month. As a result, the unit-tests incorrectly signal a non-existing problem. This is only a unit-test issue and does not affect production code. For fix of this problem, see #5666.
|
|
|
|
|
|
## Kea 1.4.0-beta
|
|
|
* The Kea configuration example file for High Availability (doc/examples/kea4/ha-load-balancing-primary.json) includes extraneous comma signs at the end of lines 56 and 218. This causes the server to reject this configuration and consequently the server fails to start. Removing the culprit comma signs from this configuration resolves the problem.
|
|
|
|
|
|
## Kea 1.2.0
|
|
|
|
|
|
* Two scripts used to update databases schemes to newest versions {{{src/share/database/scripts/mysql/upgrade_5.0_to_5.1.sh}}} and {{{src/share/database/scripts/pgsql/upgrade_3.0_to_3.1.sh}}} are not installed during the installation process. They should be manually copied from the tarball to {{{{kea_installation_directory}/share/kea/scripts/mysql}}} and {{{{kea_installation_directory}/share/kea/scripts/pgsql}}}
|
|
|
* The DHCPv4, DHCPv6 and D2 daemons are not able to parse a Control Agent section (#5176) in their configuration file. As a simple work around, please keep the Control Agent configuration in a separate file.
|
|
|
* By default, Kea does not join and listen the All_DHCP_Servers multicast address used by the DHCPv6 relays (See ticket #4539). The workaround is to configure DHCPv6 relays with the server (unicast) address(es).
|
|
|
* The following unit-tests may fail on some systems: DStubControllerTest, !NameChangeTransactionTest (6 tests), !DnsClientTest (4 tests), D2UpdateMgr (4 tests), QueueMgrUDPTest (2 tests) and D2ProcessTest (6 tests). The issues are believed to be problems with the unit-tests, not with the production code issues. Over 4000 of remaining tests will pass. If you see any of those tests fail, you may wish to rebuild using the boost-system library (specify --with-boost-libs=lboost-system when running {{{configure}}}) or without optimization (Set the CXXFLAGS environment variable to -O0 before running {{{configure}}}).
|
|
|
* Several unit-tests may fail on systems with kernels that do not support the SO_REUSEPORT socket option. One example of such system is !RedHat Enterprise Linux 6.4 or earlier. This is considered a minor flaw in the tests and should not affect production code.
|
|
|
|
|
|
## Kea 1.2.0-beta
|
|
|
|
|
|
* When Kea-shell is enabled (--enable-shell) and installation is done to default directory (no --prefix specified), kea-shell will install, but will not work. To work around the issue, please use --prefix=/usr/local if you want to install to the default directory (#5214).
|
|
|
* DHCPv4, DHCPv6 and D2 daemons are not able to parse Control Agent section (#5176). As a simple work around, please keep CA configuration in a separate file.
|
|
|
* Kea doesn't join and listen the All_DHCP_Servers multicast address used by DHCPv6 relays by default (See ticket #4539). The workaround is to configure DHCPv6 relays with server (unicast) address(es).
|
|
|
* The following unit-tests may fail on some systems: !HttpListenerTest (3 tests), DStubControllerTest, !NameChangeTransactionTest (6 tests), !DnsClientTest (4 tests), D2UpdateMgr (4 tests), QueueMgrUDPTest (2 tests) and D2ProcessTest (6 tests). The issues are believed to be unit-test issues, not production code issues. Over 4000 of remaining tests will pass. If you see any of those tests fail, you may wish to rebuild either using --with-boost-libs=lboost-system or without optimization (-O0).
|
|
|
* Several unit-tests may fail on systems with kernels that do not support SO_REUSEPORT socket option. One example of such system is RedHat Enterprise Linux 6.4 or earlier. This is consider a minor flaw in the tests and should not affect production code.
|
|
|
|
|
|
## Kea 1.1.0-beta, 1.1.0 (final)
|
|
|
|
|
|
* When Kea is compiled with unit tests and the --with-dhcp-mysql configuration option is specified, the "mysql.host_reservation-upgrade" unit test may fail on some systems. The test misinterprets output from a MySQL query. This is considered a test bug.
|
|
|
|
|
|
* Kea doesn't join and listen the All_DHCP_Servers multicast address used by DHCPv6 relays by default (See ticket #4539). The workaround is to configure DHCPv6 relays with server (unicast) address(es).
|
|
|
|
|
|
* Kea doesn't handle missing hooks libraries information correctly during the reconfiguration process. If Kea has one or more hooks libraries loaded and the hooks-libraries element is removed from the configuration file, a reconfiguration will not unload the libraries. The workaround is to keep the hooks-libraries element in the configuration file, but specify it as an empty list, i.e. {{{"hooks-libraries": [{ }] }}}. (See ticket #3998.)
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
* The option code used in the examples for classification in V6 is incorrect. It should be 1 (client-id) instead of 2 (server-id). The examples affected are in sections 8.2.17, 12.4 and 12.5.
|
|
|
|
|
|
* Compilation with gcc 5 is still somewhat fragile: the boost version is not reported properly (#4242) and this may lead to compilation issues.
|
|
|
|
|
|
* Compilation on Ubuntu 15.10 x64 with gcc-4.9 fails. The reason is to be investigated (#4244).
|
|
|
|
|
|
## Kea 1.0.0-beta, 1.0.0 (final)
|
|
|
|
|
|
* Kea doesn't handle missing hooks libraries information correctly during the reconfiguration process. If Kea has one or more hooks libraries loaded and the hooks-libraries element is removed from the configuration file, a reconfiguration will not unload the libraries. The workaround is to keep the hooks-libraries element in the configuration file, but specify it as an empty list, i.e. {{{"hooks-libraries": [{ }] }}}. (See ticket #3998.)
|
|
|
|
|
|
* Kea doesn't handle missing lease database configuration properly. See ticket #3696. When the lease database configuration is missing, Kea will try to run but the server will produce errors on each attempt to access the database. The workaround: always make sure that the lease database configuration is specified.
|
|
|
|
|
|
* Storing host reservation information in MySQL is supported just for DHCP v4.
|
|
|
|
|
|
* Static reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
* The option code used in the examples for classification in V6 is incorrect. It should be 1 (client-id) instead of 2 (server-id). The examples affected are in sections 8.2.17, 12.4 and 12.5.
|
|
|
|
|
|
* Compilation with gcc 5 is still somewhat fragile: one of the unit-tests in libdhcp_ddns may fail, depending on optimization used (see ticket #4243) and boost version is not reported properly (#4242).
|
|
|
|
|
|
* Compilation on Ubuntu 15.10 x64 with gcc-4.9 fails. The reason is to be investigated (#4244).
|
|
|
|
|
|
* Creating host reservations in DHCPv4 using client identifier (or DUID) is currently not supported but the configuration parsing code will accept the "duid" parameter in the reservation configuration. The server misinterprets the value specified for this parameter, so it MUST NOT be used until the client identifier based host reservations are properly implemented and documented.
|
|
|
|
|
|
## Kea 0.9.2
|
|
|
|
|
|
* Kea doesn't handle missing hooks libraries information correctly during the reconfiguration process. If Kea has one or more hooks libraries loaded and the hooks-libraries element is removed from the configuration file, a reconfiguration will not unload the libraries. The workaround is to keep the hooks-libraries element in the configuration file, but specify it as an empty list, i.e. {{{"hooks-libraries": []}}}. (See ticket #3998.)
|
|
|
|
|
|
* Kea doesn't handle missing lease database configuration properly. See ticket #3696. When the lease database configuration is missing, Kea will try to run but the server will produce errors on each attempt to access the database. The workaround: always make sure that the lease database configuration is specified.
|
|
|
|
|
|
* Even though the MySQL schema has been updated, storing host reservation information in MySQL is not supported yet. Host reservations can only be defined in the Kea configuration file.
|
|
|
|
|
|
* Static reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
## Kea 0.9.2-beta
|
|
|
|
|
|
* Kea doesn't handle missing lease database configuration properly. See ticket #3892. When the lease database configuration is missing, Kea will try to run but the server will produce errors on each attempt to access the database. The workaround: always make sure that the lease database configuration is specified.
|
|
|
|
|
|
* Even though the MySQL schema has been updated, storing host reservation information in MySQL is not supported yet. Host reservations can only be defined in the Kea configuration file.
|
|
|
|
|
|
* Kea developer's guide contains some outdated sections. See #3484 and #3485 for details.
|
|
|
|
|
|
* Static reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
* When using the beta tarball, the -W feature for tools will report wrong build information. Consult your config.report file in the source tree instead. See ticket #3929 for details.
|
|
|
|
|
|
## Kea 0.9.1
|
|
|
|
|
|
* The kea-admin script does not support upgrading the lease file from 0.9 to 0.9.1 yet. See #3601 for details.
|
|
|
|
|
|
* Server configuration allows for reserving the same address for multiple hosts (clients). See #3652 for details.
|
|
|
|
|
|
* Kea developer's guide contains some outdated sections. See #3484 and #3485 for details.
|
|
|
|
|
|
* The JSON-based configuration file needs to be updated when migrating from 0.9
|
|
|
|
|
|
* The MySQL/PostgreSQL lease databases (if used) need to be updated when migrating from 0.9.
|
|
|
|
|
|
* Storing host reservation information in MySQL is not supported yet. Host reservations can only be defined in the Kea configuration file.
|
|
|
|
|
|
* Static reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. Seee #3738 for details.
|
|
|
|
|
|
|
|
|
## Kea 0.9.1 beta1
|
|
|
|
|
|
* The JSON-based configuration file needs to be updated when migrating from 0.9
|
|
|
|
|
|
* The MySQL/PostgreSQL lease databases (if used) need to be updated when migrating from 0.9.
|
|
|
|
|
|
* With PostgreSQL enabled (./configure --with-dhcp-pgsql), two unit-tests (!PgSqlLeaseMgrTest.maxDate4 and !PgSqlLeaseMgrTest.maxDate6) are failing on some systems (they fail on our automated build system, but pass on similar system when run manually). The root cause is not investigated yet. See #3673 for details.
|
|
|
|
|
|
* Storing host reservation information in MySQL is not supported yet.
|
|
|
|
|
|
* Configuration for host reservations allows for reserving a hostname for the client, but this setting is ignored.
|
|
|
|
|
|
* Reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Extracting MAC address information from link-layer IPv6 address is not working as expected. See #3691 for details.
|
|
|
|
|
|
* Configure option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
## Kea 0.9
|
|
|
|
|
|
* We need to audit our handling of administrative passwords. See ticket 3645 for example. Currently there are some areas where the MySQL or Kea admin password could be exposed.
|
|
|
|
|
|
* The admin scripting may not be entirely compatible across scripting systems. We have been using BASH, which has some enhancements not included in vanilla SSH
|
|
|
|
|
|
* The default Kea configuration file kea.conf contains an invalid example of the IPv4 pool declaration - see ticket #3538 for details.
|
|
|
|
|
|
* The kea.conf file contains invalid logger configuration; it specifies the configuration for the logger called "kea" whereas it should have 3 logger entries for "kea-dhcp4", "kea-dhcp6" and "kea-dhcp-ddns"
|
|
|
|
|
|
* Kea Administrator Reference Manual, section 1.1 is out of date. Kea is tested on many recent OS versions, including Mac OS X 10.9.4, FreeBSD 10 and Ubuntu 13.10. It does not, however, compile on older Solaris 10.
|
|
|
|
|
|
* Kea Administrator Reference Manual, section 10.1 about logging configuration is broken - see ticket #3536 for details.
|
|
|
|
|
|
* Before upgrading from Kea 0.8, make sure you understand that configuration has changed (bindctl is no longer used, and configuration is stored in JSON files).
|
|
|
|
|
|
* It is possible to configure DDNS to listen on an insecure interface. (If you do this there will be a warning message in the log) See issue #3514 for details.
|
|
|
|
|
|
* Host reservation and client classification are not supported yet. Support for those features are planned.
|
|
|
|
|
|
* Kea's DDNS daemon is using DHCID records to store hosts' identity. Older versions of ISC DHCP used TXT records for that purpose. Migration from TXT-based to DHCID-based zones may cause issues.
|
|
|
|
|
|
For the full list of open bugs and requests, see http://kea.isc.org/report.
|
|
|
|
|
|
For DHCPv4 server limitations, see http://kea.isc.org/docs/kea-guide.html#dhcp4-limit.
|
|
|
|
|
|
For DHCPv6 server limitations, see http://kea.isc.org/docs/kea-guide.html#dhcp6-limit.
|
|
|
|
|
|
## Kea 0.9 beta1
|
|
|
|
|
|
This version of Kea is a first stand-alone (without BIND10 framework) release.
|
|
|
|
|
|
* Before upgrading from Kea 0.8, make sure you understand that configuration has changed (bindctl is no longer used, and configuration is stored in JSON files).
|
|
|
|
|
|
* There is one unit-test (!IfaceMgrTest.detectIfaces) that fails on !RedHat 6.4 when run on a host system that runs KVM virtualization software. See #3517 for details.
|
|
|
|
|
|
* It is possible to configure DDNS to listen on an insecure interface. (If you do this there will be a warning message in the log) See issue #3514 for details.
|
|
|
|
|
|
* Host reservation and client classification are not supported yet. Support for those features are planned.
|
|
|
|
|
|
For the full list of open bugs and requests, see http://kea.isc.org/report.
|
|
|
|
|
|
For DHCPv4 server limitations, see http://kea.isc.org/docs/kea-guide.html#dhcp4-limit.
|
|
|
|
|
|
For DHCPv6 server limitations, see http://kea.isc.org/docs/kea-guide.html#dhcp6-limit.
|
|
|
|
|
|
## Kea 0.8 (BIND10 1.2.0)
|
|
|
|
|
|
The version of Kea 0.8 included in BIND 1.2.0 is an engineering snapshot and intended for experimental use only. The current list of known defects in Kea can be found [http://kea.isc.org/query?status=accepted&status=assigned&status=new&status=reopened&status=reviewing&subproject=DHCP&type=defect&col=id&col=summary&col=type&col=priority&col=component&col=time&order=id here].
|
|
|
|
|
|
Significant known issues with the DHCP servers in this release are:
|
|
|
|
|
|
* The DHCP servers do not yet use the "socket creator" to bind to privileged ports. As a result, to use Kea DHCP, BIND 10 must be started by root (or via "sudo").
|
|
|
|
|
|
* BIND 10 configuration mechanism doesn't handle partial configuration of map elements. When the new value is being set for one of the elements of the map, the existing values for other elements of this map are lost. This means, that the user must always configure all elements of the map. Some maps for which this issue can be observed: Dhcp4/lease-database, Dhcp6/lease-database and maps in !DhcpDdns module.
|
|
|
|
|
|
* Memfile lease database backend doesn't yet differentiate between different lease types, e.g. IA_NA and IA_PD. When a client requests both assignment of a non temporary address and a prefix, and the IA_NA and IA_PD options sent by the client happen to have the same IAID, one of the two: address or prefix returned will be invalid.
|
|
|
|
|
|
* Support for operating systems other than Linux is partial. Kea lacks the capability to send DHCPv4 responses to directly connected clients. This affects all BSD systems, including Mac OS X. Kea is currently being tested on Linux only.
|
|
|
|
|
|
We would appreciate feedback on usability and reports of any DHCP bugs. Please contribute your experiences to the Kea users mailing list: https://lists.isc.org/mailman/listinfo/kea-users |
|
|
# Known Issues in Kea
|
|
|
|
|
|
You can see all Kea issues with the `bug` label at [this link](https://gitlab.isc.org/isc-projects/kea/issues?label_name[]=bug). The following is a list of some of the more significant known issues in current and previous versions of Kea.
|
|
|
|
|
|
## Kea RADIUS hook
|
|
|
* Communications between a RADIUS client and server over UDP can be forged. See https://gitlab.isc.org/isc-projects/kea/-/issues/3503 for more information.
|
|
|
|
|
|
## Unicode Environments
|
|
|
|
|
|
* On some exotic systems, unicode may be enabled by default. When compiling from sources, it is known to cause linking errors such as `undefined reference to `log4cplus::Logger::getInstance(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'`. This is caused by Kea not supporting unicode strings / wide-character strings. Configuring the Kea sources with `CXXFLAGS='-UUNICODE' ./configure` is known to solve the issue. If you compile other dependencies from sources e.g. googletest, they may also need tweaking e.g. `CXXFLAGS='-UUNICODE' cmake .` respectively.
|
|
|
|
|
|
## Kea 2.x (including 2.4.0)
|
|
|
|
|
|
* The performance with MySQL 8 is seriously degraded. This is believed to be a MySQL 8 issue. Our performance tests indicate that migrating back to MySQL 5.7 or MariaDB solves the performance degradation problem. For details, see #2706 and #2710.
|
|
|
|
|
|
* Kea when linked with `libmysqlclient` may crash in rare cases if the database server is restarted while Kea is in the middle of a query. This is believed to be a `libmysqlclient` library bug. One possible workaround is to link with `libmariadb` instead. For details, see #2792.
|
|
|
|
|
|
* Upgrade from packages older than 2.3.2 to newer is not executed correctly. Issue and workaround is described in isc-projects/kea-packaging#18
|
|
|
|
|
|
## Kea 2.4.1
|
|
|
|
|
|
* incorrect configuration of loggers may result with disabled logging #3176
|
|
|
|
|
|
## Kea 2.4.0
|
|
|
|
|
|
* Users of pre-2.4 Kea (2.3.8 and prior to that) 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 #3396.
|
|
|
* Earlier packages for RHEL might cause Kea to crash in some rare occurrences. The exact root-cause is being investigated, but for now we were able to determine that disabling `-flto` (link time optimization) option of the linker makes this problem disappear. Packages provided between July 5th and Sep 20th might be affected. Updated packages that address this problem are now (July 21st) available. If you compile Kea on your own, please don't use `-flto` option.
|
|
|
|
|
|
## Kea 2.3.2
|
|
|
|
|
|
* When loaded, the Limits hook will not work for the built-in class ALL. An easy workaround for this is to define an alias class that will contain all packets, as documented in [issue #2615](https://gitlab.isc.org/isc-projects/kea/-/issues/2615#note_325123).
|
|
|
|
|
|
## Kea 2.3.0
|
|
|
|
|
|
* Lease allocation fails if Kea uses a recently released MariaDB 10.9.2. This is an issue on MariaDB's side. A bug was reported and a fix was suggested: https://jira.mariadb.org/browse/MDEV-29381. Current recommendation is to not use this MariaDB version with Kea.
|
|
|
|
|
|
## Kea 2.1.2
|
|
|
|
|
|
* If a CSV file that contains multiple leases with the same address is given as input to the newly introduced `lease-upload` command, `kea-admin` returns a "duplicate entry" error and the lease inserts are properly rolled back. This is a situation that is commonly found when using memfile, where the CSV file grows by one row for each lease update until it is cleaned up by the Lease File Cleanup (LFC) process (`kea-lfc`) every `lfc-timer` seconds. In the following example, assuming `${file}` is the CSV file containing leases and v4 is the DHCP version, a workaround is available by calling the LFC process before calling `kea-admin`, with the resulting `${file}.2`:
|
|
|
```sh
|
|
|
$ kea-lfc -4 -x ${file}.2 -i ${file}.1 -o ${file}.output -f ${file}.completed -p ${file}.pid -cignored-path
|
|
|
```
|
|
|
The issue is being resolved in #2293.
|
|
|
|
|
|
## Kea 2.1.0
|
|
|
|
|
|
* The Kea documentation project hosted at https://kea.readthedocs.io/ started having build failures
|
|
|
in October. This was not a single occurrence and happened with multiple projects which is documented
|
|
|
[here](https://blog.readthedocs.com/build-errors-docutils-0-18/). It caught the release of 2.1.0 off
|
|
|
guard. This was fixed with #2161 in master, but to keep the `Kea-2.1.0` reflecting the released
|
|
|
sources, instead of moving it, `Kea-2.1.0-fix` was added. This is what the version that appears in
|
|
|
the Read the Docs sidebar and it should be interpreted as having `Kea-2.1.0` documentation.
|
|
|
In reality, it only has the documentation build fix on top.
|
|
|
|
|
|
## Kea 1.9.10 & 1.9.11
|
|
|
|
|
|
* If, using configuration backend on Kea 1.9.10 or 1.9.11, you managed to add a client class with associated option data, and then removed the client class, you would be left with dangling option data rows in the database. Option data rows are now properly removed when the associated client class is removed after #2094 which was released with 2.0.0. The foreign key constraint which helps realize the cascading delete will fail to be created on upgrade to the new schema with the following error:
|
|
|
|
|
|
```sh
|
|
|
Processing /opt/kea/share/kea/scripts/mysql/upgrade_011_to_012.sh file...
|
|
|
ERROR 1452 (23000) at line 16: Cannot add or update a child row: a foreign key constraint fails (`keatest`.`#sql-alter-1-2`, CONSTRAINT `fk_dhcp4_options_client_class` FOREIGN KEY (`dhcp_client_class`) REFERENCES `dhcp4_client_class` (`name`) ON DELETE CASCADE ON UPDATE)
|
|
|
```
|
|
|
|
|
|
The workaround is to delete the dangling options before retrying the upgrade:
|
|
|
|
|
|
```sql
|
|
|
DELETE FROM dhcp4_options WHERE scope_id = 2 AND dhcp_client_class NOT IN (SELECT name FROM dhcp4_client_class);
|
|
|
DELETE FROM dhcp6_options WHERE scope_id = 2 AND dhcp_client_class NOT IN (SELECT name FROM dhcp6_client_class);
|
|
|
```
|
|
|
|
|
|
## Kea 1.9.4
|
|
|
|
|
|
* The `kea-admin` command may fail to upgrade database schema due to missing execute permission on the upgrade scripts. This can be fixed by setting the execute flag. e.g.
|
|
|
|
|
|
```sh
|
|
|
$ chmod u+x {prefix}/share/kea/scripts/mysql/*.sh
|
|
|
$ chmod u+x {prefix}/share/kea/scripts/pgsql/*.sh
|
|
|
$ chmod u+x {prefix}/share/kea/scripts/cql/*.sh
|
|
|
```
|
|
|
|
|
|
The fix for this is already available in #1681 and will be included in the upcoming 1.9.5 release.
|
|
|
|
|
|
* If upgrading from 1.9.2 or 1.9.3 the MySQL schema upgrade will fail. This is a bug in the upgrade script that will be fixed in upcoming 1.9.5 release. See #1698 for details. Alternatively, the schema can be fixed manually, by issuing the following SQL commands:
|
|
|
|
|
|
```sql
|
|
|
ALTER TABLE dhcp4_subnet
|
|
|
ADD COLUMN cache_threshold FLOAT DEFAULT NULL,
|
|
|
ADD COLUMN cache_max_age INT(10) DEFAULT NULL;
|
|
|
|
|
|
ALTER TABLE dhcp4_shared_network
|
|
|
ADD COLUMN cache_threshold FLOAT DEFAULT NULL,
|
|
|
ADD COLUMN cache_max_age INT(10) DEFAULT NULL;
|
|
|
|
|
|
ALTER TABLE dhcp6_subnet
|
|
|
ADD COLUMN cache_threshold FLOAT DEFAULT NULL,
|
|
|
ADD COLUMN cache_max_age INT(10) DEFAULT NULL;
|
|
|
|
|
|
ALTER TABLE dhcp6_shared_network
|
|
|
ADD COLUMN cache_threshold FLOAT DEFAULT NULL,
|
|
|
ADD COLUMN cache_max_age INT(10) DEFAULT NULL;
|
|
|
```
|
|
|
|
|
|
The above snippet can be written to a kea1.9.4-schema-fix.mysql file and then applied using the following command:
|
|
|
|
|
|
```sh
|
|
|
$ mysql -u DBUSER -p DBNAME < kea1.9.4-schema-fix.mysql
|
|
|
```
|
|
|
|
|
|
## Kea 1.8.0, 1.8.1
|
|
|
|
|
|
* MariaDB issues listed above in Master also apply to 1.8.
|
|
|
|
|
|
* The `lease4-update` command fails to update leases on v4 if multi-threading is enabled. Notable affected environment is a HA with the "send-lease-updates" configuration setting explicitly set to true. The lease updates would not go through to other HA nodes, even though some log lines would say they would. A workaround for this problem is to disable MT. A fix is available in #1542 (MR !1015) and in current master. This problem will be fixed in upcoming 1.8.2.
|
|
|
|
|
|
## Kea 1.7.3
|
|
|
|
|
|
* The BOOTP hook has a bug that results in dropping packet because of missing option 53. The problem was discovered too late and it missed the 1.7.3 code freeze deadline. This problem is covered with bug #1064 and will be fixed in 1.7.4. A patch for 1.7.3 may be provided upon request.
|
|
|
|
|
|
## Kea 1.6.0
|
|
|
|
|
|
* There is a problem establishing a MySQL cluster backend with Kea 1.6. See issue [#901] (https://gitlab.isc.org/isc-projects/kea/issues/901)
|
|
|
|
|
|
* MySQL 8.0.17 introduced more restrictive access model, where creating procedures requires additional privileges. If using this or later versions of MySQL, make sure the user running `kea-admin db-upgrade` command has sufficient privileges.
|
|
|
|
|
|
* Command `remote-option-def6-set` was reported to fail sporadically on Debian 10 giving an error similar to this: "Prepared statement needs to be re-prepared". This is a MySQL configuration issue and can be corrected by tweaking the following parameters in your my.cnf file:
|
|
|
|
|
|
```
|
|
|
table_open_cache 128=>16384
|
|
|
table_definition_cache 1024=>16384
|
|
|
tmp_table_size 32M=>64M
|
|
|
join_buffer_size 256k=>512k
|
|
|
```
|
|
|
|
|
|
For generic MySQL discussion about the problem, see https://bugs.mysql.com/bug.php?id=42041. For the specific Kea issue, see https://gitlab.isc.org/isc-projects/kea/issues/855.
|
|
|
|
|
|
|
|
|
|
|
|
## Kea 1.6.0-beta1
|
|
|
|
|
|
* On installations with newer versions of MySQL (confirmed on MySQL 8) it is possible that the MySQL Configuration Backend will not return all prefix delegation pools associated with an IPv6 subnet. As a result, the DHCPv6 server will not use all configured prefix delegation pools for the subnet. This should not affect subnets with a single prefix delegation pool. Also, it should not affect the IPv6 address pools.
|
|
|
|
|
|
* If you see an error about missing /usr/bin/sh while running configure script, please type the following command: `autoreconf -if` command and try again. So far this issue has been observed by one user on MacOS, but it may possibly affect other systems.
|
|
|
|
|
|
## Kea 1.5.0
|
|
|
|
|
|
* Database configuration tweak - reconnect-wait-time, a database configuration parameter that governs how quickly Kea attempts to reconnect has been modified. Previously for some backends it was specified in seconds while for others in milliseconds. This has now been unified and milliseconds are used everywhere. While upgrading, please inspect this parameter in your configuration file. If it was previously specified in seconds, simply multiply the value by 1000.
|
|
|
|
|
|
* The documentation for premium and subscription package has references to Kea User's Guide off by one. Its README and INSTALL files incorrectly reference sections 14.4 (should be 15.4 "Available hook libraries") and 14.2 (should be 15.2 "Installing Hook packages"). It also incorrectly references package names and directories. It should be kea-1.5.0.tar.gz and kea-1.5.0, not kea-1.5.0-beta.tar.gz and kea-1.5.0-beta2.
|
|
|
|
|
|
* Kea 1.5.0 fails to compile on MySQL 8. An early investigation indicates the reason is MySQL 8 which no longer supports my_bool type. This may affect Fedora 29 users if they try to compile with --with-mysql. This issue will be addressed in upcoming Kea version. See #354.
|
|
|
|
|
|
## Kea 1.5.0-beta2
|
|
|
|
|
|
* RADIUS premium hook - on some systems the hook can cause incorrect memory writes during server shutdown. This may cause the server to crash during shutdown rather than terminate gently. This is currently confirmed on CentOS 7.5. The issue will be fixed in 1.5.0-final.
|
|
|
|
|
|
## Kea 1.5.0-beta1
|
|
|
The list of outstanding work items for the Kea 1.5 final release is here: https://gitlab.isc.org/isc-projects/kea/milestones/2
|
|
|
Significant known issues include:
|
|
|
* The congestion control mechanism, implemented to ensure Kea is processing current, rather than stale, requests when under very heavy load, can also decrease overall throughput under extremely heavy load.
|
|
|
* Problems with MariaDB: https://gitlab.isc.org/isc-projects/kea/issues/53
|
|
|
* Reported memory leak with the RADIUS hook library: https://gitlab.isc.org/isc-projects/kea/issues/87
|
|
|
|
|
|
## Kea 1.4.0
|
|
|
|
|
|
* A new High Availability feature introduces a mechanism to synchronize leases between partners. If there is a large (on the order of hundreds of thousands) number of leases to by synced, the amount of time it takes for the server to fully transmit the database may be higher than then timeout. As a result, an attempt to sync large database may timeout even though the partner is alive and responding. This limitation can be worked around by changing the timeout values in src/lib/config/timeouts.h and recompiling. This is addressed with paged updates, added in Kea1.5Beta1.
|
|
|
|
|
|
* The table 8.2. " List of standard DHCP option types" in the Kea Administrator Reference Manual includes '''hex''' as a supported option type. The type name provided in the document is wrong. The '''binary''' type should be used in configuration to define options for which values are specified as a string of hexadecimal digits.
|
|
|
|
|
|
* The Kea configuration example file for High Availability (doc/examples/kea4/ha-load-balancing-primary.json) includes extraneous comma sign at the end of line 218. This causes the server to reject this configuration and consequently the server fails to start. Removing the culprit comma sign from this configuration resolves the problem.
|
|
|
|
|
|
* The Kea configuration example file for High Availability (doc/examples/kea4/ha-load-balancing-primary.json) includes logger configuration for the High Availability library at line 215. The name of the logger "kea-dhcp4.ha_hooks" is wrong and should be modified to "kea-dhcp4.ha-hooks". Starting the server with wrong logger name would succeed, but the logger configuration for the HA library will have no effect.
|
|
|
|
|
|
* The unit-tests for Forensic Logger, a premium hook library, incorrectly construct expected log file name on first through ninth day of each month. As a result, the unit-tests incorrectly signal a non-existing problem. This is only a unit-test issue and does not affect production code. For fix of this problem, see #5666.
|
|
|
|
|
|
## Kea 1.4.0-beta
|
|
|
* The Kea configuration example file for High Availability (doc/examples/kea4/ha-load-balancing-primary.json) includes extraneous comma signs at the end of lines 56 and 218. This causes the server to reject this configuration and consequently the server fails to start. Removing the culprit comma signs from this configuration resolves the problem.
|
|
|
|
|
|
## Kea 1.2.0
|
|
|
|
|
|
* Two scripts used to update databases schemes to newest versions {{{src/share/database/scripts/mysql/upgrade_5.0_to_5.1.sh}}} and {{{src/share/database/scripts/pgsql/upgrade_3.0_to_3.1.sh}}} are not installed during the installation process. They should be manually copied from the tarball to {{{{kea_installation_directory}/share/kea/scripts/mysql}}} and {{{{kea_installation_directory}/share/kea/scripts/pgsql}}}
|
|
|
* The DHCPv4, DHCPv6 and D2 daemons are not able to parse a Control Agent section (#5176) in their configuration file. As a simple work around, please keep the Control Agent configuration in a separate file.
|
|
|
* By default, Kea does not join and listen the All_DHCP_Servers multicast address used by the DHCPv6 relays (See ticket #4539). The workaround is to configure DHCPv6 relays with the server (unicast) address(es).
|
|
|
* The following unit-tests may fail on some systems: DStubControllerTest, !NameChangeTransactionTest (6 tests), !DnsClientTest (4 tests), D2UpdateMgr (4 tests), QueueMgrUDPTest (2 tests) and D2ProcessTest (6 tests). The issues are believed to be problems with the unit-tests, not with the production code issues. Over 4000 of remaining tests will pass. If you see any of those tests fail, you may wish to rebuild using the boost-system library (specify --with-boost-libs=lboost-system when running {{{configure}}}) or without optimization (Set the CXXFLAGS environment variable to -O0 before running {{{configure}}}).
|
|
|
* Several unit-tests may fail on systems with kernels that do not support the SO_REUSEPORT socket option. One example of such system is !RedHat Enterprise Linux 6.4 or earlier. This is considered a minor flaw in the tests and should not affect production code.
|
|
|
|
|
|
## Kea 1.2.0-beta
|
|
|
|
|
|
* When Kea-shell is enabled (--enable-shell) and installation is done to default directory (no --prefix specified), kea-shell will install, but will not work. To work around the issue, please use --prefix=/usr/local if you want to install to the default directory (#5214).
|
|
|
* DHCPv4, DHCPv6 and D2 daemons are not able to parse Control Agent section (#5176). As a simple work around, please keep CA configuration in a separate file.
|
|
|
* Kea doesn't join and listen the All_DHCP_Servers multicast address used by DHCPv6 relays by default (See ticket #4539). The workaround is to configure DHCPv6 relays with server (unicast) address(es).
|
|
|
* The following unit-tests may fail on some systems: !HttpListenerTest (3 tests), DStubControllerTest, !NameChangeTransactionTest (6 tests), !DnsClientTest (4 tests), D2UpdateMgr (4 tests), QueueMgrUDPTest (2 tests) and D2ProcessTest (6 tests). The issues are believed to be unit-test issues, not production code issues. Over 4000 of remaining tests will pass. If you see any of those tests fail, you may wish to rebuild either using --with-boost-libs=lboost-system or without optimization (-O0).
|
|
|
* Several unit-tests may fail on systems with kernels that do not support SO_REUSEPORT socket option. One example of such system is RedHat Enterprise Linux 6.4 or earlier. This is consider a minor flaw in the tests and should not affect production code.
|
|
|
|
|
|
## Kea 1.1.0-beta, 1.1.0 (final)
|
|
|
|
|
|
* When Kea is compiled with unit tests and the --with-dhcp-mysql configuration option is specified, the "mysql.host_reservation-upgrade" unit test may fail on some systems. The test misinterprets output from a MySQL query. This is considered a test bug.
|
|
|
|
|
|
* Kea doesn't join and listen the All_DHCP_Servers multicast address used by DHCPv6 relays by default (See ticket #4539). The workaround is to configure DHCPv6 relays with server (unicast) address(es).
|
|
|
|
|
|
* Kea doesn't handle missing hooks libraries information correctly during the reconfiguration process. If Kea has one or more hooks libraries loaded and the hooks-libraries element is removed from the configuration file, a reconfiguration will not unload the libraries. The workaround is to keep the hooks-libraries element in the configuration file, but specify it as an empty list, i.e. {{{"hooks-libraries": [{ }] }}}. (See ticket #3998.)
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
* The option code used in the examples for classification in V6 is incorrect. It should be 1 (client-id) instead of 2 (server-id). The examples affected are in sections 8.2.17, 12.4 and 12.5.
|
|
|
|
|
|
* Compilation with gcc 5 is still somewhat fragile: the boost version is not reported properly (#4242) and this may lead to compilation issues.
|
|
|
|
|
|
* Compilation on Ubuntu 15.10 x64 with gcc-4.9 fails. The reason is to be investigated (#4244).
|
|
|
|
|
|
## Kea 1.0.0-beta, 1.0.0 (final)
|
|
|
|
|
|
* Kea doesn't handle missing hooks libraries information correctly during the reconfiguration process. If Kea has one or more hooks libraries loaded and the hooks-libraries element is removed from the configuration file, a reconfiguration will not unload the libraries. The workaround is to keep the hooks-libraries element in the configuration file, but specify it as an empty list, i.e. {{{"hooks-libraries": [{ }] }}}. (See ticket #3998.)
|
|
|
|
|
|
* Kea doesn't handle missing lease database configuration properly. See ticket #3696. When the lease database configuration is missing, Kea will try to run but the server will produce errors on each attempt to access the database. The workaround: always make sure that the lease database configuration is specified.
|
|
|
|
|
|
* Storing host reservation information in MySQL is supported just for DHCP v4.
|
|
|
|
|
|
* Static reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
* The option code used in the examples for classification in V6 is incorrect. It should be 1 (client-id) instead of 2 (server-id). The examples affected are in sections 8.2.17, 12.4 and 12.5.
|
|
|
|
|
|
* Compilation with gcc 5 is still somewhat fragile: one of the unit-tests in libdhcp_ddns may fail, depending on optimization used (see ticket #4243) and boost version is not reported properly (#4242).
|
|
|
|
|
|
* Compilation on Ubuntu 15.10 x64 with gcc-4.9 fails. The reason is to be investigated (#4244).
|
|
|
|
|
|
* Creating host reservations in DHCPv4 using client identifier (or DUID) is currently not supported but the configuration parsing code will accept the "duid" parameter in the reservation configuration. The server misinterprets the value specified for this parameter, so it MUST NOT be used until the client identifier based host reservations are properly implemented and documented.
|
|
|
|
|
|
## Kea 0.9.2
|
|
|
|
|
|
* Kea doesn't handle missing hooks libraries information correctly during the reconfiguration process. If Kea has one or more hooks libraries loaded and the hooks-libraries element is removed from the configuration file, a reconfiguration will not unload the libraries. The workaround is to keep the hooks-libraries element in the configuration file, but specify it as an empty list, i.e. {{{"hooks-libraries": []}}}. (See ticket #3998.)
|
|
|
|
|
|
* Kea doesn't handle missing lease database configuration properly. See ticket #3696. When the lease database configuration is missing, Kea will try to run but the server will produce errors on each attempt to access the database. The workaround: always make sure that the lease database configuration is specified.
|
|
|
|
|
|
* Even though the MySQL schema has been updated, storing host reservation information in MySQL is not supported yet. Host reservations can only be defined in the Kea configuration file.
|
|
|
|
|
|
* Static reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
## Kea 0.9.2-beta
|
|
|
|
|
|
* Kea doesn't handle missing lease database configuration properly. See ticket #3892. When the lease database configuration is missing, Kea will try to run but the server will produce errors on each attempt to access the database. The workaround: always make sure that the lease database configuration is specified.
|
|
|
|
|
|
* Even though the MySQL schema has been updated, storing host reservation information in MySQL is not supported yet. Host reservations can only be defined in the Kea configuration file.
|
|
|
|
|
|
* Kea developer's guide contains some outdated sections. See #3484 and #3485 for details.
|
|
|
|
|
|
* Static reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
* When using the beta tarball, the -W feature for tools will report wrong build information. Consult your config.report file in the source tree instead. See ticket #3929 for details.
|
|
|
|
|
|
## Kea 0.9.1
|
|
|
|
|
|
* The kea-admin script does not support upgrading the lease file from 0.9 to 0.9.1 yet. See #3601 for details.
|
|
|
|
|
|
* Server configuration allows for reserving the same address for multiple hosts (clients). See #3652 for details.
|
|
|
|
|
|
* Kea developer's guide contains some outdated sections. See #3484 and #3485 for details.
|
|
|
|
|
|
* The JSON-based configuration file needs to be updated when migrating from 0.9
|
|
|
|
|
|
* The MySQL/PostgreSQL lease databases (if used) need to be updated when migrating from 0.9.
|
|
|
|
|
|
* Storing host reservation information in MySQL is not supported yet. Host reservations can only be defined in the Kea configuration file.
|
|
|
|
|
|
* Static reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Configuration option --disable-rpath is not working. Binaries always have hard coded RPATH value. Seee #3738 for details.
|
|
|
|
|
|
|
|
|
## Kea 0.9.1 beta1
|
|
|
|
|
|
* The JSON-based configuration file needs to be updated when migrating from 0.9
|
|
|
|
|
|
* The MySQL/PostgreSQL lease databases (if used) need to be updated when migrating from 0.9.
|
|
|
|
|
|
* With PostgreSQL enabled (./configure --with-dhcp-pgsql), two unit-tests (!PgSqlLeaseMgrTest.maxDate4 and !PgSqlLeaseMgrTest.maxDate6) are failing on some systems (they fail on our automated build system, but pass on similar system when run manually). The root cause is not investigated yet. See #3673 for details.
|
|
|
|
|
|
* Storing host reservation information in MySQL is not supported yet.
|
|
|
|
|
|
* Configuration for host reservations allows for reserving a hostname for the client, but this setting is ignored.
|
|
|
|
|
|
* Reservation of multiple IPv6 addresses or multiple IPv6 prefixes is not supported.
|
|
|
|
|
|
* Extracting MAC address information from link-layer IPv6 address is not working as expected. See #3691 for details.
|
|
|
|
|
|
* Configure option --disable-rpath is not working. Binaries always have hard coded RPATH value. See #3738 for details.
|
|
|
|
|
|
## Kea 0.9
|
|
|
|
|
|
* We need to audit our handling of administrative passwords. See ticket 3645 for example. Currently there are some areas where the MySQL or Kea admin password could be exposed.
|
|
|
|
|
|
* The admin scripting may not be entirely compatible across scripting systems. We have been using BASH, which has some enhancements not included in vanilla SSH
|
|
|
|
|
|
* The default Kea configuration file kea.conf contains an invalid example of the IPv4 pool declaration - see ticket #3538 for details.
|
|
|
|
|
|
* The kea.conf file contains invalid logger configuration; it specifies the configuration for the logger called "kea" whereas it should have 3 logger entries for "kea-dhcp4", "kea-dhcp6" and "kea-dhcp-ddns"
|
|
|
|
|
|
* Kea Administrator Reference Manual, section 1.1 is out of date. Kea is tested on many recent OS versions, including Mac OS X 10.9.4, FreeBSD 10 and Ubuntu 13.10. It does not, however, compile on older Solaris 10.
|
|
|
|
|
|
* Kea Administrator Reference Manual, section 10.1 about logging configuration is broken - see ticket #3536 for details.
|
|
|
|
|
|
* Before upgrading from Kea 0.8, make sure you understand that configuration has changed (bindctl is no longer used, and configuration is stored in JSON files).
|
|
|
|
|
|
* It is possible to configure DDNS to listen on an insecure interface. (If you do this there will be a warning message in the log) See issue #3514 for details.
|
|
|
|
|
|
* Host reservation and client classification are not supported yet. Support for those features are planned.
|
|
|
|
|
|
* Kea's DDNS daemon is using DHCID records to store hosts' identity. Older versions of ISC DHCP used TXT records for that purpose. Migration from TXT-based to DHCID-based zones may cause issues.
|
|
|
|
|
|
For the full list of open bugs and requests, see http://kea.isc.org/report.
|
|
|
|
|
|
For DHCPv4 server limitations, see http://kea.isc.org/docs/kea-guide.html#dhcp4-limit.
|
|
|
|
|
|
For DHCPv6 server limitations, see http://kea.isc.org/docs/kea-guide.html#dhcp6-limit.
|
|
|
|
|
|
## Kea 0.9 beta1
|
|
|
|
|
|
This version of Kea is a first stand-alone (without BIND10 framework) release.
|
|
|
|
|
|
* Before upgrading from Kea 0.8, make sure you understand that configuration has changed (bindctl is no longer used, and configuration is stored in JSON files).
|
|
|
|
|
|
* There is one unit-test (!IfaceMgrTest.detectIfaces) that fails on !RedHat 6.4 when run on a host system that runs KVM virtualization software. See #3517 for details.
|
|
|
|
|
|
* It is possible to configure DDNS to listen on an insecure interface. (If you do this there will be a warning message in the log) See issue #3514 for details.
|
|
|
|
|
|
* Host reservation and client classification are not supported yet. Support for those features are planned.
|
|
|
|
|
|
For the full list of open bugs and requests, see http://kea.isc.org/report.
|
|
|
|
|
|
For DHCPv4 server limitations, see http://kea.isc.org/docs/kea-guide.html#dhcp4-limit.
|
|
|
|
|
|
For DHCPv6 server limitations, see http://kea.isc.org/docs/kea-guide.html#dhcp6-limit.
|
|
|
|
|
|
## Kea 0.8 (BIND10 1.2.0)
|
|
|
|
|
|
The version of Kea 0.8 included in BIND 1.2.0 is an engineering snapshot and intended for experimental use only. The current list of known defects in Kea can be found [http://kea.isc.org/query?status=accepted&status=assigned&status=new&status=reopened&status=reviewing&subproject=DHCP&type=defect&col=id&col=summary&col=type&col=priority&col=component&col=time&order=id here].
|
|
|
|
|
|
Significant known issues with the DHCP servers in this release are:
|
|
|
|
|
|
* The DHCP servers do not yet use the "socket creator" to bind to privileged ports. As a result, to use Kea DHCP, BIND 10 must be started by root (or via "sudo").
|
|
|
|
|
|
* BIND 10 configuration mechanism doesn't handle partial configuration of map elements. When the new value is being set for one of the elements of the map, the existing values for other elements of this map are lost. This means, that the user must always configure all elements of the map. Some maps for which this issue can be observed: Dhcp4/lease-database, Dhcp6/lease-database and maps in !DhcpDdns module.
|
|
|
|
|
|
* Memfile lease database backend doesn't yet differentiate between different lease types, e.g. IA_NA and IA_PD. When a client requests both assignment of a non temporary address and a prefix, and the IA_NA and IA_PD options sent by the client happen to have the same IAID, one of the two: address or prefix returned will be invalid.
|
|
|
|
|
|
* Support for operating systems other than Linux is partial. Kea lacks the capability to send DHCPv4 responses to directly connected clients. This affects all BSD systems, including Mac OS X. Kea is currently being tested on Linux only.
|
|
|
|
|
|
We would appreciate feedback on usability and reports of any DHCP bugs. Please contribute your experiences to the Kea users mailing list: https://lists.isc.org/mailman/listinfo/kea-users |