Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2018-11-08T16:09:21Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/261Bump up libraries version numbers for Kea 1.5.0-beta2018-11-08T16:09:21ZMarcin SiodelskiBump up libraries version numbers for Kea 1.5.0-betaThis is a routine kind of work that we always have to do prior to a release. Apart from bumping up version numbers we also have to make sure that header files are installed properly.This is a routine kind of work that we always have to do prior to a release. Apart from bumping up version numbers we also have to make sure that header files are installed properly.Kea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://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/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/128Use lib process daemon code in netconf2018-10-06T00:51:14ZFrancis DupontUse lib process daemon code in netconfNote I fixed the compilation but there are still some replacement codes waiting for dhcpsrv -> process migration which was done.Note I fixed the compilation but there are still some replacement codes waiting for dhcpsrv -> process migration which was done.Kea1.5-beta1Francis DupontFrancis Duponthttps://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/107Import YANG DHCPv4 model from kea-yang repo2018-09-13T09:43:34ZTomek MrugalskiImport YANG DHCPv4 model from kea-yang repoThis ticket covers importing DHCPv4 model from kea-yang repository.
This should be done as soon as possible, so QA and other interested parties can look at it and prepare.This ticket covers importing DHCPv4 model from kea-yang repository.
This should be done as soon as possible, so QA and other interested parties can look at it and prepare.Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/93CB: Implement MySQLConfigBackendDHCPv4 class2018-10-30T15:53:39ZMarcin SiodelskiCB: Implement MySQLConfigBackendDHCPv4 classThe MySQLConfigBackend class implements Config Backend for MySQL as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designThe MySQLConfigBackend class implements Config Backend for MySQL as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designKea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://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-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/80HA: timeout for disabling DHCP service during lease synchronization should be...2018-11-05T19:25:30ZGhost UserHA: timeout for disabling DHCP service during lease synchronization should be controllableThe leases synchronization timeout is now controlled via the 'sync-timeout'. While the synchronization is performed, the DHCP service of the active partner is disabled, but for the hardcoded time of 60 seconds. This should either be the ...The leases synchronization timeout is now controlled via the 'sync-timeout'. While the synchronization is performed, the DHCP service of the active partner is disabled, but for the hardcoded time of 60 seconds. This should either be the same as the timeout for communication over the control channel or should have its own configuration knob. In fact, when we implement the #5652 we can't really set to the same value as the timeout for communication over control channel, because we will be sending multiple commands but the service should be disabled for the entire synchronization.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/78Extend HA hooks library to synchronize leases by chunks, i.e. multiple fetche...2018-11-05T19:25:30ZGhost UserExtend HA hooks library to synchronize leases by chunks, i.e. multiple fetches of leasesOne of the major use cases for the lease_cmds hooks library is to provide a way to synchronize leases between HA enabled servers. Currently the HA hooks library will fetch the entire lease database which requires the lease_cmds hooks lib...One of the major use cases for the lease_cmds hooks library is to provide a way to synchronize leases between HA enabled servers. Currently the HA hooks library will fetch the entire lease database which requires the lease_cmds hooks library to create a JSON structure of the whole lease database. This eats the CPU and memory. In case of large number of leases in the database it may freeze the server for a long period of time.
In order to mitigate this issue the lease_cmds hooks librart must support fetching limited number of leases, e.g. 1000, 2000 leases etc. The controlling client should be able to specify last fetched leases with the limit and the server should return leases with addresses beyond this last fetched address. That way, the entire lease database may be returned in chunks with client specifying the start of the next chunk.
This ticket is about extending the HA hooks library to utilize this mechanism implemented with #5651 in the lease_cmds.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/70Global Host Reservations Task 5: data migration scripts to convert existing s...2018-11-07T11:38:39ZGhost UserGlobal Host Reservations Task 5: data migration scripts to convert existing subnet-id values of 0The changes made in 5704 to support global HRs necessitate migrating existing data. Specifically for MySQL and PostgreSQL, any columns with values of 0 for subnet IDs in hosts and options tables, need to replace with NULL, and for Cassa...The changes made in 5704 to support global HRs necessitate migrating existing data. Specifically for MySQL and PostgreSQL, any columns with values of 0 for subnet IDs in hosts and options tables, need to replace with NULL, and for Cassandra, they should be replaced with GLOBAL_ID_UNUSED.
Data migration steps need to be added to the schema upgrade scripts for 1.5.0 to accommodate this.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/69Global Host Reservations Task 4: Host Commands should accept global subnet id2018-11-07T17:52:34ZGhost UserGlobal Host Reservations Task 4: Host Commands should accept global subnet idHost Cmds need to accept a subnet-id value of SUBNET_ID_GLOBAL for either v4 or v6 subnet-ids, to allow manipulation of global reservations.Host Cmds need to accept a subnet-id value of SUBNET_ID_GLOBAL for either v4 or v6 subnet-ids, to allow manipulation of global reservations.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/68Global Host Reservations Task 3:Add v6 support for new HR_GLOBAL mode2018-08-27T11:35:31ZGhost UserGlobal Host Reservations Task 3:Add v6 support for new HR_GLOBAL mode1. Add support for HR_GLOBAL mode to kea-dhpd4/subnet parsing
2. Modify v6 AllocEngine::findReservation to utilize new mode1. Add support for HR_GLOBAL mode to kea-dhpd4/subnet parsing
2. Modify v6 AllocEngine::findReservation to utilize new modeKea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/67Need a mechanism to output binary expressions as hexadecimal strings2019-09-02T07:12:00ZGhost UserNeed a mechanism to output binary expressions as hexadecimal stringsA prospective user attempted to use the following expression for a value of a Radius attribute:
{
"name": "Password"
"expr": "pkt4.mac"
}
The value produced by pkt4.mac, is a series of binary bytes, which cannot be
expressed in a...A prospective user attempted to use the following expression for a value of a Radius attribute:
{
"name": "Password"
"expr": "pkt4.mac"
}
The value produced by pkt4.mac, is a series of binary bytes, which cannot be
expressed in a Radius authorization file. The radius server actually errors out stating the values do not match. We need a way to convert an expression result to a string literal such as:
"0xXXXXX" or "xx:xx:xx"
We could do it as perhaps a function:
hexString(pkt4.mac)
This would be useful beyond this particular case involving Radius.
As an aside using the same expression for User Name or Connection Id work because we convert it to a string, under the covers.Kea1.5-beta1Stephen MorrisStephen Morrishttps://gitlab.isc.org/isc-projects/kea/-/issues/66IETF NOC requested Authoritative flag in Kea2019-01-03T16:01:06ZGhost UserIETF NOC requested Authoritative flag in KeaDuring discussions with IETF network team, they raised a question to have a configuration knob in Kea to let it know it's not authoritative.
The goal is to have two running instances without each NAKing the other's packets.During discussions with IETF network team, they raised a question to have a configuration knob in Kea to let it know it's not authoritative.
The goal is to have two running instances without each NAKing the other's packets.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/65library for yang <-> json configuration element translators2018-11-05T09:44:05ZGhost Userlibrary for yang <-> json configuration element translatorsNew library with yang <-> json translators for representation of configuration elements.
A priori one fro `src/lib/dhcpsrv/parsers` parse class.New library with yang <-> json translators for representation of configuration elements.
A priori one fro `src/lib/dhcpsrv/parsers` parse class.Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/64a new hook to manage client class 'class_cmds'2018-11-05T16:48:10ZGhost Usera new hook to manage client class 'class_cmds'For yang/netconf and config backend we need a way to manage client-classes so a 'class_cmds' which provides the usual function: adding, querying (aka get) and deleting client classes from the running configuration.
Open questions:
- wh...For yang/netconf and config backend we need a way to manage client-classes so a 'class_cmds' which provides the usual function: adding, querying (aka get) and deleting client classes from the running configuration.
Open questions:
- where to put it? a priori support package
- what to do with dependent expressions? If a class is just removed this can lead to a configuration which cannot be reloaded so a priori expressions of following classes should be checked against dangling references.
- do we need a change/update? as the class order is critical IMHO we should provide one.
Note that class-list should simply return the list of configured class names. Add should append the new class to the end.Kea1.5-beta1Marcin SiodelskiMarcin Siodelski