Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2018-11-08T11:56:07Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/259libyang unit test using doc examples is broken by new authoritative flag2018-11-08T11:56:07ZFrancis Dupontlibyang unit test using doc examples is broken by new authoritative flagKea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/256kea return error when receive 'get-config' command after being reconfigured w...2018-11-08T03:33:57ZWlodzimierz Wencelkea return error when receive 'get-config' command after being reconfigured with kea-netconfYang configuration:
```
<?xml version="1.0" ?>
<config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp4-server">
<interfaces-config>
<interfaces>enp0s9</interfaces>
</interfaces-config>
<client-classes...Yang configuration:
```
<?xml version="1.0" ?>
<config xmlns="urn:ietf:params:xml:ns:yang:kea-dhcp4-server">
<interfaces-config>
<interfaces>enp0s9</interfaces>
</interfaces-config>
<client-classes/>
<expired-leases-processing/>
<option-data-list>
<option-data>
<code>2</code>
<space>dhcp4</space>
<data>50</data>
<name>time-offset</name>
</option-data>
</option-data-list>
<control-socket>
<socket-name>/home/wlodek/installed/git/var/kea/control_socket</socket-name>
<socket-type>unix</socket-type>
</control-socket>
<lease-database>
<database-type>memfile</database-type>
<name>/home/wlodek/installed/git/var/kea/kea-leases4.csv</name>
</lease-database>
<subnet4>
<subnet4>
<id>1</id>
<subnet>192.168.51.0/24</subnet>
<valid-lifetime>4000</valid-lifetime>
<renew-timer>1000</renew-timer>
<rebind-timer>2000</rebind-timer>
<interface>enp0s9</interface>
<option-data-list/>
<relay>
<ip-addresses>192.12.11.4</ip-addresses>
</relay>
<pools>
<pool>
<start-address>192.168.51.50</start-address>
<end-address>192.168.51.50</end-address>
<option-data-list/>
</pool>
</pools>
</subnet4>
</subnet4>
</config>
```
Kea uses this configuration and assign address 192.168.51.50, but when I send 'get-config' to kea4 it sends back:
```
{
"result": 1,
"text": "Error during command processing: unknown DB access parameter: max-reconnect-tries=0"
}
```
and logs:
```
2018-11-07 08:02:00.045 INFO [kea-dhcp4.commands/5027] COMMAND_RECEIVED Received command 'config-get'
2018-11-07 08:02:00.045 WARN [kea-dhcp4.commands/5027] COMMAND_PROCESS_ERROR2 Error while processing command: unknown DB access parameter: max-reconnect-tries=0
```
When I checked logs from reconfiguration it looks like not everything went 100% correct:
```
2018-11-07 07:58:21.431 INFO [kea-dhcp4.dhcpsrv/5027] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 192.168.51.0/24 with params: t1=1000, t2=2000, valid-lifetime=4000
2018-11-07 07:58:21.431 INFO [kea-dhcp4.dhcp4/5027] DHCP4_CONFIG_COMPLETE DHCPv4 server has completed configuration: added IPv4 subnets: 1; DDNS: disabled
2018-11-07 07:58:21.431 INFO [kea-dhcp4.dhcpsrv/5027] DHCPSRV_MEMFILE_DB opening memory file lease database: lfc-interval=3600 max-reconnect-tries=0 name=/home/wlodek/installed/git/var/kea/kea-leases4.csv persist=true readonly=false reconnect-wait-time=0 tcp-keepalive=0 tcp-nodelay=true type=memfile universe=4
2018-11-07 07:58:21.431 INFO [kea-dhcp4.dhcpsrv/5027] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /home/wlodek/installed/git/var/kea/kea-leases4.csv
```
Why values readonly=false reconnect-wait-time=0 tcp-keepalive=0 tcp-nodelay=true max-reconnect-tries=0 are added to memfile configuration?Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/254empty class data in class-update command causes assert in boost2018-11-08T11:17:14ZMichal Nowikowskiempty class data in class-update command causes assert in boostcommand:
```
{"command": "class-update", "arguments": {"client-classes": [{}]})
```
casuses such assert in boost:
```
kea-dhcp4: /usr/include/boost/smart_ptr/shared_ptr.hpp:734: typename boost::detail::sp_member_access<T>::type boost::sh...command:
```
{"command": "class-update", "arguments": {"client-classes": [{}]})
```
casuses such assert in boost:
```
kea-dhcp4: /usr/include/boost/smart_ptr/shared_ptr.hpp:734: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = const isc::data::Element; typename boost::detail::
sp_member_access<T>::type = const isc::data::Element*]: Assertion `px != 0' failed.
```Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/205improve Kea guide2018-11-07T16:08:53ZMichal Nowikowskiimprove Kea guide- update list of distros which are used for Kea testing- update list of distros which are used for Kea testingKea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/194libkea-process unnecessarily links with MySQL, PgSQL and CQL2018-11-01T10:35:39ZMarcin Siodelskilibkea-process unnecessarily links with MySQL, PgSQL and CQLPreviously, libkea-process depended on libkea-dhcpsrv. Therefore, it had to conditionally link with MySQL and co. After we reversed the dependency, so as the libkea-dhcpsrv now depends on libkea-process, linking with MySQL is no longer n...Previously, libkea-process depended on libkea-dhcpsrv. Therefore, it had to conditionally link with MySQL and co. After we reversed the dependency, so as the libkea-dhcpsrv now depends on libkea-process, linking with MySQL is no longer needed.Kea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/156debian9 64 compilation error2021-08-31T21:20:50ZWlodzimierz Wenceldebian9 64 compilation error```
uname -a
Linux debian9-64-2 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
autoreconf -if && ./configure --enable-shell --with-pgsql --with-mysql --prefix=/home/wlodek/installed/git/
```
result:
```
Packa...```
uname -a
Linux debian9-64-2 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
autoreconf -if && ./configure --enable-shell --with-pgsql --with-mysql --prefix=/home/wlodek/installed/git/
```
result:
```
Package:
Name: kea
Version: 1.4.0-git
Extended version: 1.4.0-git (git 3fc0d776ff2262cae0013de1ce4c776c54c32eba)
OS Family: Linux
Hooks directory: /home/wlodek/installed/git/lib/hooks
Premium hooks: yes
Included Hooks: forensic_log flex_id host_cmds subnet_cmds radius host_cache
C++ Compiler:
CXX: g++
CXX_VERSION: g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
CXX_STANDARD: 201402
DEFS: -DHAVE_CONFIG_H
CPPFLAGS: -DOS_LINUX -DBOOST_ASIO_HEADER_ONLY
CXXFLAGS: -g -O2
LDFLAGS: -lpthread
KEA_CXXFLAGS: -Wall -Wextra -Wnon-virtual-dtor -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -pthread -Wno-missing-field-initializers -fPIC
Python:
PYTHON: /usr/bin/python3
PYTHON_VERSION: 3.5
Boost:
BOOST_VERSION: 1.62
BOOST_INCLUDES:
BOOST_LIBS: -lboost_system
OpenSSL:
CRYPTO_VERSION: OpenSSL 1.1.0f 25 May 2017
CRYPTO_CFLAGS:
CRYPTO_INCLUDES:
CRYPTO_LDFLAGS:
CRYPTO_LIBS: -lcrypto
Botan: no
Log4cplus:
LOG4CPLUS_VERSION: 1.1.2
LOG4CPLUS_INCLUDES: -I/usr/include
LOG4CPLUS_LIBS: -L/usr/lib -L/usr/lib64 -llog4cplus
Flex/bison:
FLEX: flex
BISON: bison -y
MySQL:
MYSQL_VERSION: 10.1.26
MYSQL_CPPFLAGS: -I/usr/include/mysql
MYSQL_LIBS: -L/usr/lib/x86_64-linux-gnu -lmariadbclient -lpthread -lz -lm -ldl
PostgreSQL:
PGSQL_VERSION: PostgreSQL 9.6.10
PGSQL_CPPFLAGS: -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include/tcl8.6 -I/usr/include/postgresql -I/usr/include/postgresql/9.6/server
PGSQL_LIBS: -L/usr/lib/x86_64-linux-gnu -lpq
```
compilation error:
```
make[6]: Entering directory '/home/wlodek/kea/src/bin/agent'
CXXLD kea-ctrl-agent
../../../src/lib/process/.libs/libkea-process.so: undefined reference to `isc::db::DatabaseConnection::toElementDbAccessString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
Makefile:666: recipe for target 'kea-ctrl-agent' failed
make[6]: *** [kea-ctrl-agent] Error 1
```
It looks like this change:
```
diff --git a/src/bin/agent/Makefile.am b/src/bin/agent/Makefile.am
index 31a2798d8..75059f357 100644
--- a/src/bin/agent/Makefile.am
+++ b/src/bin/agent/Makefile.am
@@ -83,6 +83,7 @@ kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
+kea_ctrl_agent_LDADD += $(top_builddir)/src/lib/database/libkea-database.la
kea_ctrl_agent_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS)
kea_ctrl_agent_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS)
```
fix issueKea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/154Netconf reload behavior is not defined2018-10-10T10:24:31ZFrancis DupontNetconf reload behavior is not definedNot a real problem as it does not need to be define/design ASAP.
Creating a MR to disable reload on SIGHUP.Not a real problem as it does not need to be define/design ASAP.
Creating a MR to disable reload on SIGHUP.Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/153Netconf agent development2018-11-07T06:16:52ZFrancis DupontNetconf agent developmentHome for MRs about netconf.Home for MRs about netconf.Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/148lib process servers without arguments2018-10-19T22:25:15ZFrancis Dupontlib process servers without argumentsAll servers that use CPL architecture (D2, CA, netconf) are unable to print out usage information when run without any parameters. Instead, they print out cryptic error message as shown below:
```$ kea-ctrl-agent
2018-10-01 22:28:51.285...All servers that use CPL architecture (D2, CA, netconf) are unable to print out usage information when run without any parameters. Instead, they print out cryptic error message as shown below:
```$ kea-ctrl-agent
2018-10-01 22:28:51.285 FATAL [kea-ctrl-agent.dctl/23508] DCTL_PID_FILE_ERROR
Control-agent could not create a PID file: Daemon::makePIDFileName config file name is not set
Service failed: Launch failed: Daemon::makePIDFileName config file name is not set'''Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/141Update Sysrepo docs to 0.7.5, libyang 0.16-r12018-09-25T09:05:27ZTomek MrugalskiUpdate Sysrepo docs to 0.7.5, libyang 0.16-r1After the recent releases that include Francis' fixes, we can move back to release versions.
The docs need to update the following:
- use libyang 0.16-r1
- use Sysrepo 0.7.5After the recent releases that include Francis' fixes, we can move back to release versions.
The docs need to update the following:
- use libyang 0.16-r1
- use Sysrepo 0.7.5Kea1.5-beta1Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/137Improve Kea compilation time2018-09-27T12:46:27ZTomek MrugalskiImprove Kea compilation timeWhile playing around with kea compilation times, I found couple things that can be done to improve compilation time. This ticket is about
Ideas considered:
* config.h is breaking down ccache speed-up. It includes git commit-id, which i...While playing around with kea compilation times, I found couple things that can be done to improve compilation time. This ticket is about
Ideas considered:
* config.h is breaking down ccache speed-up. It includes git commit-id, which is different with every build. That file is included everywhere, which causes ccache to have a very poor hit rate.
* we build by default with debug symbols. This slows down compilation by almost 3 minutes on my (@tomek) dev systemKea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/134Small bugs from the new Xcode 10.0 compiler2018-09-27T12:49:19ZFrancis DupontSmall bugs from the new Xcode 10.0 compilerI updated yesterday the macOS Xcode to 10.0 and it finds now a few new warnings and I am using --with--werror...I updated yesterday the macOS Xcode to 10.0 and it finds now a few new warnings and I am using --with--werror...Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/129global reservation mode is DHCPv4 only.2019-09-02T07:12:00ZFrancis Dupontglobal reservation mode is DHCPv4 only.Looks like something forgotten as there is a global entry in reservations.Looks like something forgotten as there is a global entry in reservations.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/127Distribute yang models2018-10-19T09:56:06ZFrancis DupontDistribute yang modelsKea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/118Need to get rid of FAQ section2018-11-07T10:31:05ZTomek MrugalskiNeed to get rid of FAQ sectionKea user's guide has a FAQ section that never really took off. It should be removed. If there are any useful bits and pieces, it should be moved to KB.Kea user's guide has a FAQ section that never really took off. It should be removed. If there are any useful bits and pieces, it should be moved to KB.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/116get rid of interface-id for DHCPv42018-09-19T12:51:11ZFrancis Dupontget rid of interface-id for DHCPv4Defined in the DHCPv4 syntax but only for subnets (not shared networks as in DHCPv6) and unused.Defined in the DHCPv4 syntax but only for subnets (not shared networks as in DHCPv6) and unused.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/115config-get API call returns error with some Cassandra backend options [ISC-su...2019-05-16T12:24:30ZBrian Conryconfig-get API call returns error with some Cassandra backend options [ISC-support #13375]I was unable to find an existing gitlab issue for Trac ticket 5710, so this is created to be it.
--- original details
When Kea is configured with a Cassandra backend, an error is returned on a config-get API call. I believe it is doing...I was unable to find an existing gitlab issue for Trac ticket 5710, so this is created to be it.
--- original details
When Kea is configured with a Cassandra backend, an error is returned on a config-get API call. I believe it is doing some config validation which is unaware of some DB options. Using the following lease configuration:
```json
"lease-database": {
"type": "cql",
"keyspace": "kea",
"contact-points": "127.0.0.1",
"port": 9042,
"tcp-keepalive": 1,
"tcp-nodelay": true,
"connect-timeout": 5000,
"max-reconnect-tries": 5,
"reconnect-wait-time": 2000
},
```
Here is the curl output of config-get:
```sh
$ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get", "service": [ "dhcp4" ] }' http://localhost:8080/
[ { "result": 1, "text": "Error during command processing: unknown DB access parameter: max-reconnect-tries=5" } ]
```
If I remove max-connect-retries, it gives the same error for reconnect-wait-time. Removing that results in the same error for tcp-keepalive, then tcp-nodelay.
Once the configuration has those options removed:
```json
"lease-database": {
"type": "cql",
"keyspace": "kea",
"contact-points": "127.0.0.1",
"port": 9042,
//"tcp-keepalive": 1,
//"tcp-nodelay": true,
"connect-timeout": 5000
//"max-reconnect-tries": 5,
//"reconnect-wait-time": 2000
},
```
The config-get call works:
```sh
$ curl -X POST -H "Content-Type: application/json" -d '{ "command": "config-get", "service": [ "dhcp4" ] }' http://localhost:8080/
[ { "arguments": { "Dhcp4": { "client-classes": [ { "boot-file-name": "/dev/null", "name": "voip", "next-server": "192.0.2.254", "option-data": [ ], "option-def": [ ], "server-hostname": "hal", ...
```Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/92Move common classes pertaining to databases from libkea-dhcpsrv to their own ...2018-12-06T23:10:33ZMarcin SiodelskiMove common classes pertaining to databases from libkea-dhcpsrv to their own librariesConfiguration Backend structure described here: https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#configuration-backend-structure calls for moving some of the existing classes from libkea-dhcpsrv to new lib...Configuration Backend structure described here: https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#configuration-backend-structure calls for moving some of the existing classes from libkea-dhcpsrv to new libraries. For example: DatabaseConnection, DbLogger should go to libkea-database. This ticket covers such refactoring.Kea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/89CB: Create MySQL schema and upgrade scripts2018-09-18T06:09:26ZMarcin SiodelskiCB: Create MySQL schema and upgrade scriptsThis ticket covers updating MySQL schema to facilitate Config Backend feature for 1.5.0 release:
https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#mysql
I adds new tables, scripts and upgrade scripts to M...This ticket covers updating MySQL schema to facilitate Config Backend feature for 1.5.0 release:
https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#mysql
I adds new tables, scripts and upgrade scripts to MySQL.Kea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/83Update HA design with the ability to hold state2018-08-27T17:14:26ZGhost UserUpdate HA design with the ability to hold stateWe're going to implement a hold in a waiting state capability in HA.
As a first step, we need to to update the [requirements](../wikis/HARequriements) and the [design](../wikis/HADesign). This ticket covers this update.We're going to implement a hold in a waiting state capability in HA.
As a first step, we need to to update the [requirements](../wikis/HARequriements) and the [design](../wikis/HADesign). This ticket covers this update.Kea1.5-beta1