[Kea-users] Allocation failure, despite free addresses

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Kea-users] Allocation failure, despite free addresses

Bjørn Skovlund
Hi all,

I have a network that is slightly pushed on free IP addresses, however, I'm receiving allocation failures (ALLOC_ENGINE_V4_ALLOC_FAIL) a bit before anticipated and I'm trying to figure out why.

I'm using Flex ID, HA and have just over 200 different networks defined, all /23s, with this specific one defined as this:
{
    "id": 1684328960,
    "option-data": [
        {
            "data": "100.100.210.1",
            "name": "routers"
        },
        {
            "data": "x.x.x.x, y.y.y.y",
            "name": "domain-name-servers"
        },
        {
            "data": "172.16.0.6",
            "name": "dhcp-server-identifier"
        }
    ],
    "pools": [
        {
            "client-class": "HA_dhcp-01",
            "pool": "100.100.210.2 - 100.100.210.224"
        },
        {
            "client-class": "HA_dhcp-02",
            "pool": "100.100.210.225 - 100.100.211.191"
        }
    ],
    "subnet": "100.100.210.0/23"
}


The reason the pools are limited where they are, is that I use the upper part of the network for special services. Given the pool sizes, we should have 447 usable addresses.

But when I look in the database I have significantly less:
MariaDB [kea]> SELECT COUNT(*) FROM lease4 WHERE subnet_id = inet_aton('100.100.210.0');
+----------+
| COUNT(*) |
+----------+
|      429 |
+----------+


The problem is actually a bit bigger than expected, as I have 34 of those leases in the hosts table, which means they're having IPs that sits outside the defined pools:
MariaDB [kea]> SELECT COUNT(*) FROM hosts WHERE dhcp4_subnet_id=inet_aton('100.100.210.0');
+----------+
| COUNT(*) |
+----------+
|       34 |
+----------+


I have the following in expired-leases-processing:
"expired-leases-processing": {
    "flush-reclaimed-timer-wait-time": 25,
    "max-reclaim-leases": 100,
    "max-reclaim-time": 2500,
    "reclaim-timer-wait-time": 10,
    "unwarned-reclaim-cycles": 5
},


 I have played around with these settings and also used the manuel flush leases API call, but to no prevail. 

I have a valid-lifetime of 3600 seconds across all the networks and I only have issues in this one network, which is also the most heavily utilised. I have a work around in place tonight, to add more networks and move to shared-networks, but I would like to try and understand what's happening.

Oh and I'm on 1.5.0.

Best, Bjørn

_______________________________________________
Kea-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/kea-users