Stork does not display leases statistics
Describe the bug Stork server not displaying lease statistics. Remote stork agent has already registered. Stork server GUI displays the kea dhcp4 service correctly and I can manually pull statistics via the API from the stork server's CLI using curl. Although there are active leases for clients the Web UI displays 0 for assigned IPs on all subnets. Probably a bug in the stat-lease4-get API command.
To Reproduce Steps to reproduce the behavior:
- Install Kea server 2.0.2, Stork 1.15.0 and run them with the following configs: '...'
- Configure several subnets.
- Have 3 VMs act as clients on all subnets and get ip addresses from kea server
- Clients get IP address but the Stork GUI shows 0 for all lease statistics.
Expected behavior Stork GUI should display the leases statistics for the connected clients.
Environment:
- Kea version: 2.0.2
- Stork: 1.15.0
- OS: Ubuntu 22.04 x64
- Kea: Hooks libdhcp_stat_cmds.so, libdhcp_lease_cmds.so
Additional Information Querying the DHCP agent from the stork server using the cli and the management API I figured out that the stat-lease4-get command without arguments returns different results for the same subnet than the stat-lease4-get command having the subnet-id as an argument.
curl -X POST -H "Content-Type: application/json" -d '{ "command": "stat-lease4-get", "service": ["dhcp4"]}' http://192.168.59.21:8000 [ { "arguments": { "result-set": { "columns": [ "subnet-id", "total-addresses", "cumulative-assigned-addresses", "assigned-addresses", "declined-addresses" ], "rows": [ [ 47, 56, 0, 0, 0 ], [ 51, 56, 0, 0, 0 ], [ 66, 41, 0, 0, 0 ] ], "timestamp": "2024-03-08 14:09:09.100431" } }, "result": 0, "text": "stat-lease4-get[all subnets]: 3 rows found" } ]
curl -X POST -H "Content-Type: application/json" -d '{ "command": "stat-lease4-get", "service": ["dhcp4"], "arguments": {"subnet-id" : 66}}' http://192.168.59.21:8000 [ { "arguments": { "result-set": { "columns": [ "subnet-id", "total-addresses", "cumulative-assigned-addresses", "assigned-addresses", "declined-addresses" ], "rows": [ [ 66, 41, 0, 3, 0 ] ], "timestamp": "2024-03-08 14:09:17.884123" } }, "result": 0, "text": "stat-lease4-get[subnet-id=66]: 1 rows found" } ]
The second output above has the correct leases stats for subnet-id 66 while the first output shows 0 leases for subnet-id 66