[Kea-users] kea 2.0.3 dhcp4 HA not working

vom513 vom513 at gmail.com
Thu Apr 20 02:54:03 UTC 2023


Hello all,

With the deprecation of the ISC dhcpd - I figured I’d try to get ahead of things a bit and at least lab up some boxes to work on Kea.

I have 2 x Debian 11 (bullseye) VMs using the cloudsmith packages (2.0.3 for Kea), 2 NICs each.  I serve DHCP on NIC 2 only.  All my ctrl-agent etc. traffic is on NIC 1.

I mainly used:

https://kea.readthedocs.io/en/kea-2.2.0/arm/config-templates.html?highlight=ha#template-home-network-of-a-power-user

As a guide...

I’m using hot-standby.  I also have Stork + agents installed and all looks great in Stork.  When both boxes are up, kea-1 serves DHCP, kea-2 sits in standby mode as expected.

I stopped kea-dhcp4 service on kea-1.  I saw messages in Stork that this happened (again as expected).  However if I went to app status, the standby server never seemed to take over.  It did (eventually) pop up a Notes section that said it was “in progress” for failover - and it stuck at 8%.  Clients could not get a lease at this time.

I found this issue from a few years ago which sounded like what I’m seeing:

https://gitlab.isc.org/isc-projects/kea/-/issues/1364

So after reading that - I also shut down the ctrl-agent on kea-1 (which I wouldn’t think should be necessary - if the dhcp4 service is dead the peer should know this yes ?)

Still not really any change.  Still not serving leases.

I run Stork on kea-1 (so Stork and kea-* is running on the same box).  After having shutdown kea-dhcp4 and the ctrl-agent - Stork start dying and restarting:

Apr 19 22:15:01 kea-1 stork-server[16020]: time="2023-04-19 22:15:01" level="warning" msg="Problem getting state from Kea daemons: problem with version-get response: Failed to forward commands to Kea: problem sending POST to http://192.168.64.177:8000/: Post \"http://192.168.64.177:8000/\": dial tcp 192.168.64.177:8000: connect: connection refused" file="           appkea.go:300  "
Apr 19 22:15:01 kea-1 stork-server[16020]: panic: runtime error: invalid memory address or nil pointer dereference
Apr 19 22:15:01 kea-1 stork-server[16020]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0xec7ac4]

Not nearly as concerned with that as leases not being served…

I completely shut kea-1 down - still no change - no leases being served.

I’ve tried to minimize my config.  In other words, if something is default that looks reasonable (most things do to me) I omit it from the config.  My configs are identical other than "this-server-name”.

Thanks in advance for any help.  kea-1 config below:

{

"Dhcp4": {
    "interfaces-config": {
        "interfaces": [ "ens224" ]
    },

    "control-socket": {
        "socket-type": "unix",
        "socket-name": "/tmp/kea4-ctrl-socket"
    },

    "lease-database": {
        "type": "memfile”,
        "persist": true,
        "name": "/var/lib/kea/kea-leases4.csv"
    },

    "renew-timer": 43200,
    "rebind-timer": 75600,
    "valid-lifetime": 86400,

    "reservation-mode": "out-of-pool",

    "option-data": [

    ],

    "hooks-libraries": [
      {
        "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"
      },
      {
        "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_stat_cmds.so"
      },
        {
            "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_ha.so",
            "parameters": {
                "high-availability": [ {
                    "this-server-name": "kea-1",
                    "mode": "hot-standby",
                    "peers": [
                        {
                            "name": "kea-1",
                            "url": "http://192.168.64.177:8000/",
                            "role": "primary"
                        },
                        {
                            "name": "kea-2",
                            "url": "http://192.168.64.186:8000/",
                            "role": "standby"
                        }
                    ]
                } ]
            }
        }
    ],

    "subnet4": [
        {
            "subnet": "10.0.123.0/24",

            "pools": [ { "pool": "10.0.123.128 - 10.0.123.254" } ],

            "option-data": [
                {
                    "name": "routers",
                    "data": "10.0.123.1"
                },

{
    "name": "domain-name-servers",
    "data": "192.168.64.1, 192.168.64.53"
},

{
    "name": "ntp-servers",
    "data": "192.168.64.1"
}
            ],

            "reservations": [

                {
                    "hw-address": "01:02:03:04:05:06",
                    "ip-address": "10.0.123.123"
                }

            ]
        }
    ],

    "loggers": [
    {
        "name": "kea-dhcp4",
        "output_options": [
            {
                "output": "syslog",

                "pattern": "%-5p %m\n"

            }
        ],
        "severity": "WARN",

        "debuglevel": 0
    },
    {
        "name": "kea-dhcp4.leases",
        "output_options": [
            {
                "output": "syslog",

                "pattern": "%-5p %m\n"

            }
        ],
        "severity": "INFO",

        "debuglevel": 0
    }
  ]
}
}



More information about the Kea-users mailing list