[Kea-users] kea configuration file limitations
Darren Ankney
darren.ankney at gmail.com
Tue Jan 30 13:24:48 UTC 2024
Hi Uwe,
The trouble here is the end result should look something like this:
"high-availability": [{
where yours looks like this:
"high-availability": {
This is the difference between:
$array[]['high-availability']
and
$array['high-availability']
Have a look at my "Kea Quick Config" project that makes use of php and
json output if you like. Maybe you might find something useful there:
https://gitlab.isc.org/isc-projects/kea-quick-config
Thank you,
Darren Ankney
On Tue, Jan 30, 2024 at 8:07 AM Uwe Toenjes <toenjes at rz.uni-leipzig.de> wrote:
>
> Hello everyone,
>
> We are currently migrating our isc dhcp server to the isc kea server.
>
> In our environment, a new configuration file is regularly created and
> reloaded. Unfortunately, the kea server has limitations in the json syntax
> of the configuration file. This makes it impossible to generate the
> configuration automatically.
>
> Here's an example. The configuration file is created using php and the
> function „json_encode($kea_Dhcp4, JSON_PRETTY_PRINT)“ generated. I just copy
> a section of the generated configuration. But the problem can be seen. PHP
> generates a correct json configuration. However, Kea rejects the
> configuration because it expects a list as syntax. In json, however, no list
> is required at this point. Therefore it is not possible to create a kea
> configuration automatically.
>
> Is there a reason for the limitation? Can this limitation be resolved by kea
> in a future version? Or is there another solution to the problem that I
> missed?
>
>
> => The "high-availability" section expects a list with one element. In this
> case, the json functions do not create a list.
> …..
> "hooks-libraries": [
> {
> "library": "\/usr\/lib64\/kea\/hooks\/libdhcp_lease_cmds.so"
> },
> {
> "library": "\/usr\/lib64\/kea\/hooks\/libdhcp_ha.so",
> "parameters": {
> "high-availability": {
> "this-server-name": "dhcpdup",
> "mode": "hot-standby",
> "heartbeat-delay": 5000,
> "max-response-delay": 35000,
> "multi-threading": {
> "enable-multi-threading": true
> },
> "peers": [
> {
> "name": "dhcpdup",
> "url": "http:\/\/172.26.20.2:8001\/",
> "role": "primary"
> },
> {
> "name": "dhcpdup2",
> "url": "http:\/\/172.26.20.3:8001\/",
> "role": "standby"
> }
> ]
> }
> }
> }
> ],
> …..
> 2024-01-30 13:55:46.111 INFO [kea-dhcp4.hooks/31597.140578571736960]
> HOOKS_LIBRARY_LOADED hooks library
> /usr/lib64/kea/hooks/libdhcp_lease_cmds.so successfully loaded
> 2024-01-30 13:55:46.111 ERROR [kea-dhcp4.ha-hooks/31597.140578571736960]
> HA_CONFIGURATION_FAILED failed to configure High Availability hooks library:
> HA configuration must be a list
> 2024-01-30 13:55:46.111 ERROR [kea-dhcp4.hooks/31597.140578571736960]
> HOOKS_LOAD_ERROR 'load' function in hook library
> /usr/lib64/kea/hooks/libdhcp_ha.so returned error 1
>
>
> Thank you for your efforts
>
> Regards
> Uwe
>
> --
> ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information.
>
> To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users.
>
> Kea-users mailing list
> Kea-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/kea-users
More information about the Kea-users
mailing list