[Kea-users] 1.6.1 HA mode, getting ALLOC_ENGINE_V4_ALLOC_FAIL

Andreas Hasenack andreas at canonical.com
Wed Feb 12 18:23:56 UTC 2020


Hi,

Hopefully I just have a typo somewhere. I'm testing HA mode with
isc-kea 1.6.1, but my client cannot get an IP. The server shows:

2020-02-12 15:09:24.496 WARN  [kea-dhcp4.alloc-engine/8222]
ALLOC_ENGINE_V4_ALLOC_FAIL [hwtype=1 00:16:3e:ce:8b:ae], cid=[no
info], tid=0x83958925: failed to allocate an IPv4 address after 0
attempt(s)

My test setup consists of two VMs in the same network
(192.168.99.0/24), acting as the dhcp servers, and one single lxd
container as the client, also on the same network. This was working
before I brought HA into the picture (with just one server obviously).

This is "kea1" (192.168.99.10/24):
{
"Dhcp4": {
    "interfaces-config": {
        "interfaces": ["ens3" ]
    },

    "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": 5
    },

    "renew-timer": 900,
    "rebind-timer": 1800,
    "valid-lifetime": 3600,

    "option-data": [
        {
            "name": "domain-name-servers",
            "data": "192.168.99.1, 192.168.122.1"
        },

        {
            "name": "domain-search",
            "data": "keatest,localdomain,lowtech,lxd"
        },
        {
            "name": "default-ip-ttl",
            "data": "0xf0"
        }
    ],

    "client-classes": [
        {
            "name": "voip",

            "test": "substring(option[60].hex,0,6) == 'Aastra'",

            "next-server": "192.0.2.254",
            "server-hostname": "hal9000",
            "boot-file-name": "/dev/null"

        }
    ],

    "hooks-libraries": [
        {
            "library":
"/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so",
            "parameters": { }
        },
        {
            "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_ha.so",
            "parameters": {
                "high-availability": [{
                    "this-server-name": "kea1",
                    "mode": "load-balancing",
                    "heartbeat-delay": 10000,
                    "max-ack-delay": 5000,
                    "max-unacked-clients": 5,
                    "peers": [{
                        "name": "kea1",
                        "url": "http://192.168.99.10:8000/",
                        "role": "primary",
                        "auto-failover": true
                    },
                    {
                        "name": "kea2",
                        "url": "http://192.168.99.9:8000/",
                        "role": "secondary",
                        "auto-failover": true
                    }]
                }]
            }
        }
    ],

    "subnet4": [
        {
            "subnet": "192.168.99.0/24",
            "pools": [
                {
                    "pool": "192.168.99.100 - 192.168.99.149",
                    "client-class": "HA_server1"
                },
                {
                    "pool": "192.168.99.150 - 192.168.99.199",
                    "client-class": "HA_server2"
                }
            ],
            "option-data": [
                {
                    "name": "routers",
                    "data": "192.168.99.1"
                }
            ]
        }
    ],

    "loggers": [
    {
        "name": "kea-dhcp4",
        "output_options": [
            {
                "output": "/var/log/kea/kea-dhcp4.log"
            }
        ],
        "severity": "INFO",

        "debuglevel": 0
    }
  ]
}
}


The diff between that and kea2's config is:
$ diff -u /etc/kea/kea-dhcp4.conf kea2
--- /etc/kea/kea-dhcp4.conf    2020-02-12 13:42:05.385806455 -0300
+++ kea2    2020-02-12 15:12:32.405941588 -0300
@@ -65,7 +65,7 @@
             "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_ha.so",
             "parameters": {
                 "high-availability": [{
-                    "this-server-name": "kea1",
+                    "this-server-name": "kea2",
                     "mode": "load-balancing",
                     "heartbeat-delay": 10000,
                     "max-ack-delay": 5000,

startup, dhcp request, shutdown logs at:
kea1: https://paste.ubuntu.com/p/qRrr8p9c4M/
kea2: https://paste.ubuntu.com/p/3Zh2dfMzRN/


More information about the Kea-users mailing list