Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2024-03-21T12:21:07Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/2343CB migration assistant2024-03-21T12:21:07ZPeter DaviesCB migration assistant---
name: CB migration assistant
about: A method to migrate to CB
---
When users need to migrate from a file-based json configuration to the Configuration Backend, or to migrate between the supported databases, it would be useful if **...---
name: CB migration assistant
about: A method to migrate to CB
---
When users need to migrate from a file-based json configuration to the Configuration Backend, or to migrate between the supported databases, it would be useful if **Kea** provided some tool to support this.
Possible methods could:
The implementation of two new **CB** commands ie:
**remote-server4-config-get**
and
**remote-server4-config-set**
Or alternatively the enhancement of the **kea-admin** tool to provide this functionality.
[RT #17095](https://support.isc.org/Ticket/Display.html?id=17095)
[RT #20167](https://support.isc.org/Ticket/Display.html?id=20167)
[RT #21508](https://support.isc.org/Ticket/Display.html?id=21508)
Requested migrations: MySQL -> Postgres, also config to MySQL, config to PostgreSQL.next-stable-3.0https://gitlab.isc.org/isc-projects/kea/-/issues/849Kea MySQL CB accepts an option for non-existing subnet2022-11-02T15:10:18ZMarcin SiodelskiKea MySQL CB accepts an option for non-existing subnetIt is possible to set a DHCP option with the `remote-option4-subnet-set` for non-existing subnet. It is possible that the same issue is present for other similar commands.It is possible to set a DHCP option with the `remote-option4-subnet-set` for non-existing subnet. It is possible that the same issue is present for other similar commands.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/688cb_cmds new remote-{subnet,shared-network}[46]-detach commands2022-11-02T15:10:17ZFrancis Dupontcb_cmds new remote-{subnet,shared-network}[46]-detach commandsThis is about config backend shareable objects so subnets and shared networks.
A subnet is shareable between several servers but remote-subnet[46]-del-by-* deletes the subnet object from the database so for all servers (MySQL schema cas...This is about config backend shareable objects so subnets and shared networks.
A subnet is shareable between several servers but remote-subnet[46]-del-by-* deletes the subnet object from the database so for all servers (MySQL schema cascade the delete on subnet_id so there is no dangling references in *_subnet_server tables).
IMHO we need new commands to detach a subnet (or a shared network) from a particular server so after the operation it still belongs to other servers (possibly none).
Note that remote-subnet[46]-set can be used to attach a subnet to a server so we do not need the opposite command.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/822Consider returning a list of shared networks, subnets etc for which options h...2022-11-02T15:10:17ZMarcin SiodelskiConsider returning a list of shared networks, subnets etc for which options have been setThe #418 introduced commands that allow for adding new option within the shared network, subnet etc. The response contains a list of options that have been set but it lacks the list of parent objects. We may consider also returning the p...The #418 introduced commands that allow for adding new option within the shared network, subnet etc. The response contains a list of options that have been set but it lacks the list of parent objects. We may consider also returning the parent objects but this is not critical in 1.6.0 release. Therefore, creating this ticket to address this in the future.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/723Missing CB entry for deleting all global options2021-10-20T09:47:17ZFrancis DupontMissing CB entry for deleting all global optionsObviously either we have to add a deleteAllOptions4 or remove `remote-option4-global-del-all` from the design. Note as the CB command is starred this should be postponed...Obviously either we have to add a deleteAllOptions4 or remove `remote-option4-global-del-all` from the design. Note as the CB command is starred this should be postponed...outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/808server-tag is itself a global parameter2021-10-20T09:44:18ZFrancis Dupontserver-tag is itself a global parameterserver-tag is itself a global parameter so someone could have the bad idea to manage it using the config backend.
The sanity check fro global parameters in CB must check the global parameter is not server-tag. Note this applies for all ...server-tag is itself a global parameter so someone could have the bad idea to manage it using the config backend.
The sanity check fro global parameters in CB must check the global parameter is not server-tag. Note this applies for all global parameter commands even get will not lead to a disaster...outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/656Need more checks on global parameters.2021-10-20T09:44:17ZFrancis DupontNeed more checks on global parameters.Reference https://gitlab.isc.org/isc-projects/kea/issues/576#note_61000 second problem: invalid values for global parameters should be rejected even they are not used:
- for individual parameters, e.g. next-server sets to something not ...Reference https://gitlab.isc.org/isc-projects/kea/issues/576#note_61000 second problem: invalid values for global parameters should be rejected even they are not used:
- for individual parameters, e.g. next-server sets to something not parse-able as an IPv4 address (nor empty)
- between parameters, e.g. 0 <= t1_percent <= 1 and t1_percent < t2_percent
The ideas are:
- avoid cases where the config backend is used to create a configuration which can't be saved and reloaded (get then set or write then reload fails)
- avoid cases where a global parameter with an invalid value is added/accepted and the invalid will raise an error a long time ago when an update will first use it (e.g. configuration built incrementally starting by global parameters, IMHO could be a popular way to proceed).
To summary the current check on global parameter value type is fine but not enough. Related to #576, #535 and #513outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/450Populate log messages from the cb_cmds to the database2020-09-10T15:50:03ZMarcin SiodelskiPopulate log messages from the cb_cmds to the databaseAssuming that we do #449, we then have to extend the cb_cmds hooks library to actually use the log messages conveyed in the control commands to the database through the AuditRevision objects.Assuming that we do #449, we then have to extend the cb_cmds hooks library to actually use the log messages conveyed in the control commands to the database through the AuditRevision objects.outstanding