[Kea-users] keas-dhcp failover and HA

Darren Ankney darren.ankney at gmail.com
Mon Mar 6 10:45:56 UTC 2023


neither of those configs are valid.  Looks like ChatGPT made up some
things there.  See:
https://kea.readthedocs.io/en/kea-2.2.0/arm/hooks.html#ha-high-availability-outage-resilience-for-kea-servers

Take a look at hot-standby as that is the easiest mode to configure and operate.

On Mon, Mar 6, 2023 at 12:35 AM Kraishak Mahtha <kraishak.edu at gmail.com> wrote:
>
> Hi All,
> I have recently started exploring kea-dhcp4, while I am checking for the kea-dhcp failover on chatGPT, It says that failover and HA are two different mechanisms for the kea and here is the sample example for kea-failover config as it provides
> # Sample config for failover
> ================
> {
>     "Dhcp4": {
>         "control-socket": {
>             "socket-type": "unix",
>             "socket-name": "/tmp/kea-dhcp4-ctrl.sock"
>         },
>         "lease-database": {
>             "type": "memfile",
>             "lfc-interval": 3600
>         },
>         "expired-leases-processing": {
>             "reclaim-timer-wait-time": 10,
>             "flush-reclaimed-timer-wait-time": 25,
>             "hold-reclaimed-time": 3600,
>             "max-reclaim-leases": 100,
>             "max-reclaim-time": 250,
>             "unwarned-reclaim-cycles": 10,
>             "warned-reclaim-cycles": 20
>         },
>         "subnet4": [
>             {
>                 "id": 1,
>                 "subnet": "192.0.2.0/24",
>                 "pools": [
>                     {
>                         "pool": "192.0.2.100 - 192.0.2.200"
>                     }
>                 ],
>                 "option-data": [
>                     {
>                         "name": "routers",
>                         "data": "192.0.2.1"
>                     }
>                 ]
>             }
>         ],
>         "hosts-database": {
>             "type": "memfile",
>             "persist": true,
>             "name": "hosts.json"
>         },
>         "dhcp-ddns": {
>             "enable-updates": true,
>             "qualifying-suffix": "example.com",
>             "reverse-ddns": true,
>             "hostname-char-set": "[a-zA-Z0-9.-]"
>         },
>         "valid-lifetime": 300,
>         "renew-timer": 150,
>         "rebind-timer": 225,
>         "interfaces-config": {
>             "interfaces": ["eth0"]
>         },
>         "dhcp-disable": false,
>         "option-def": [
>             {
>                 "name": "domain-name-servers",
>                 "code": 6,
>                 "type": "ipv4-address",
>                 "array": true
>             }
>         ],
>         "option-data": [
>             {
>                 "name": "domain-name-servers",
>                 "data": "192.0.2.2, 192.0.2.3"
>             }
>         ],
>         "failover": {
>             "name": "dhcp-failover",
>             "mode": "hot-standby",
>             "peer-address": "192.0.2.101",
>             "peer-port": 519,
>             "max-response-delay": 60,
>             "max-unacked-clients": 10000,
>             "load-balance-max-percent": 50,
>             "load-balance-max-secs": 3600,
>             "auto-partner-down": true,
>             "decline-time": 60,
>             "down-time": 300,
>             "startup-delay": 10,
>             "trust-local-time": true,
>             "heartbeat-interval": 10,
>             "connect-timeout": 2
>         }
>     }
> }
> #sample example of HA
> ===================
> {
>     "Dhcp4": {
>         "valid-lifetime": 3600,
>         "renew-timer": 600,
>         "rebind-timer": 1200,
>         "subnet4": [
>             {
>                 "subnet": "192.168.0.0/24",
>                 "pools": [
>                     {
>                         "pool": "192.168.0.100 - 192.168.0.200"
>                     }
>                 ],
>                 "option-data": [
>                     {
>                         "name": "domain-name-servers",
>                         "data": "8.8.8.8, 8.8.4.4"
>                     },
>                     {
>                         "name": "domain-name",
>                         "data": "example.com"
>                     }
>                 ],
>                 "reservations": [
>                     {
>                         "hw-address": "00:11:22:33:44:55",
>                         "ip-address": "192.168.0.10",
>                         "hostname": "host1.example.com"
>                     }
>                 ]
>             }
>         ],
>         "interfaces-config": {
>             "interfaces": ["eth0", "eth1"]
>         },
>         "ha": {
>             "mode": "hot-standby",
>             "ip-address": "192.168.0.2",
>             "shared-secret": "my-secret",
>             "peer-address": "192.168.0.3"
>         }
>     }
> }
>
> But when I search for the same in the official kea-doc. I don't see any such reference to failover directive or a key-word. Not sure if it is not supported from 2.2.0 version and later or I missed any other docs. Just curious to know if we really have such a difference, and if any one is familiar with this can you please share the reference for it.
>
> Thanks in Advance
> Kraishak
>
> --
> 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