<div dir="ltr">Hi all,<div><br></div><div>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.</div><div><br></div><div>I'm using Flex ID, HA and have just over 200 different networks defined, all /23s, with this specific one defined as this:</div><div><font face="monospace">{<br>    "id": 1684328960,<br>    "option-data": [<br>        {<br>            "data": "100.100.210.1",<br>            "name": "routers"<br>        },<br>        {<br>            "data": "x.x.x.x, y.y.y.y",<br>            "name": "domain-name-servers"<br>        },<br>        {<br>            "data": "172.16.0.6",<br>            "name": "dhcp-server-identifier"<br>        }<br>    ],<br>    "pools": [<br>        {<br>            "client-class": "HA_dhcp-01",<br>            "pool": "100.100.210.2 - 100.100.210.224"<br>        },<br>        {<br>            "client-class": "HA_dhcp-02",<br>            "pool": "100.100.210.225 - 100.100.211.191"<br>        }<br>    ],<br>    "subnet": "<a href="http://100.100.210.0/23">100.100.210.0/23</a>"<br>}</font><br></div><div><br></div><div>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.</div><div><br></div><div>But when I look in the database I have significantly less:</div><div><font face="monospace">MariaDB [kea]> SELECT COUNT(*) FROM lease4 WHERE subnet_id = inet_aton('100.100.210.0');<br>+----------+<br>| COUNT(*) |<br>+----------+<br>|      429 |<br>+----------+</font><br></div><div><font face="monospace"><br></font></div><div><font face="arial, sans-serif">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:</font></div><div><font face="monospace">MariaDB [kea]> SELECT COUNT(*) FROM hosts WHERE dhcp4_subnet_id=inet_aton('100.100.210.0');<br>+----------+<br>| COUNT(*) |<br>+----------+<br>|       34 |<br>+----------+</font><font face="arial, sans-serif"><br></font></div><div><br></div><div>I have the following in expired-leases-processing:</div><div><font face="monospace">"expired-leases-processing": {<br>    "flush-reclaimed-timer-wait-time": 25,<br>    "max-reclaim-leases": 100,<br>    "max-reclaim-time": 2500,<br>    "reclaim-timer-wait-time": 10,<br>    "unwarned-reclaim-cycles": 5<br>},</font><br></div><div><br></div><div> I have played around with these settings and also used the manuel flush leases API call, but to no prevail. <br></div><div><br></div><div>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.</div><div><br></div><div>Oh and I'm on 1.5.0.</div><div><br></div><div>Best, Bjørn</div></div>