[stork-users] No leases showing on Stork

Roberto Greiner mrgreiner at gmail.com
Fri Nov 8 14:20:51 UTC 2024


Indeed, when I fill a complete name in the search field, it does show 
the lease. The problem is that in the "Dashboard" all subnets show "0% 
used" and "Addresses 0 / 0 (0% used)", despite that there are active 
leases and that the search page does return answers when I fill the name 
of a machine.

Did I miss something else?

Thank you,

Roberto

Em 08/11/2024 11:04, Marcin Siodelski escreveu:
> Stork has limited capabilities with respect to searching leases. In 
> particular, it doesn't currently support searching the leases by 
> partial IP address, hostname or any other identifier. Suppose I have a 
> lease with a hostname of "client-1.example.org". You have to specify 
> this exact string in the search box to find this lease. If you, say, 
> type "client-1.example.or" the lease won't be found. The same is the 
> case for any other identifier, e.g. MAC address, client identifier, 
> delegated prefix, IP address etc.
>
> Do you think this might be the case for you?
>
> Marcin
>
>
> On 8.11.2024 14:51, Roberto Greiner wrote:
>> Ok, I'm still missing something.
>>
>> I've added the following to both dhcp4.conf and dhcp6.conf:
>>
>>    "hooks-libraries": [
>>         {
>>             "library": 
>> "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"
>>         }
>>         ],
>>
>> I restarted all isc- daemons(dhcpv4, dhcpv6, stork-server and 
>> stork-agent). In the logs, both dhcpv4 and dhcpv6 registered the hook:
>> 2024-11-08T10:16:48.614601-03:00 dnsprimario kea-dhcp6[38047]: INFO  
>> HOOKS_LIBRARY_LOADED hooks library 
>> /usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so 
>> successfully loaded
>>
>> In the web page, Stork shows the the hook was recognized for both 
>> daemons. Also, in the logs something seems to be happening with lines 
>> like:
>> 2024-11-08T10:19:33.592446-03:00 dnsprimario kea-ctrl-agent[7847]: 
>> INFO  COMMAND_RECEIVED Received command 'lease4-get-by-hostname'
>> 2024-11-08T10:19:33.592603-03:00 dnsprimario kea-ctrl-agent[7847]: 
>> INFO  CTRL_AGENT_COMMAND_RECEIVED command lease4-get-by-hostname 
>> received from remote address 127.0.0.1
>> 2024-11-08T10:19:33.593008-03:00 dnsprimario kea-dhcp4[38034]: INFO  
>> COMMAND_RECEIVED Received command 'lease4-get-by-hostname'
>> 2024-11-08T10:19:33.593141-03:00 dnsprimario kea-ctrl-agent[7847]: 
>> INFO  CTRL_AGENT_COMMAND_FORWARDED command lease4-get-by-hostname 
>> successfully forwarded to the service dhcp4 from remote address 
>> 127.0.0.1
>> 2024-11-08T10:19:33.593687-03:00 dnsprimario kea-ctrl-agent[7847]: 
>> INFO  COMMAND_RECEIVED Received command 'lease6-get-by-hostname'
>> 2024-11-08T10:19:33.593795-03:00 dnsprimario kea-ctrl-agent[7847]: 
>> INFO  CTRL_AGENT_COMMAND_RECEIVED command lease6-get-by-hostname 
>> received from remote address 127.0.0.1
>> 2024-11-08T10:19:33.594326-03:00 dnsprimario kea-dhcp6[38047]: INFO  
>> COMMAND_RECEIVED Received command 'lease6-get-by-hostname'
>> 2024-11-08T10:19:33.594439-03:00 dnsprimario kea-ctrl-agent[7847]: 
>> INFO  CTRL_AGENT_COMMAND_FORWARDED command lease6-get-by-hostname 
>> successfully forwarded to the service dhcp6 from remote address 
>> 127.0.0.1
>>
>> Buuuuuuut, the leases are still not showing. So, obviously, I'm still 
>> missing something. :-P
>>
>> Any idea of what that would be?
>>
>> Thank you,
>>
>> Roberto
>>
>>
>> Em 08/11/2024 10:08, Marcin Siodelski escreveu:
>>> Roberto,
>>>
>>> Thank you for using Stork software.
>>>
>>> In order for Stork to gather leases from the Kea instances you need 
>>> to load "libdhcp_lease_cmds" hook library in Kea. See: 
>>> https://stork.readthedocs.io/en/v1.19.0/usage.html#leases-search
>>>
>>> Marcin Siodelski
>>> ISC
>>>
>>> On 8.11.2024 13:48, Roberto Greiner wrote:
>>>> Hi,
>>>>
>>>> I've installed Kea and Stork in my network and have almost 
>>>> everything working, except that Stork is not showing the leases 
>>>> that are allocated by kea. Stork does show all the networks I've 
>>>> set and in the "Machines" pages shows that the dhcpv4, dhcpv6, ddns 
>>>> and ca daemons are working and communicating. The "kea Apps" page 
>>>> shows that one server and also indicates all status ok. The 
>>>> dashboard page shows all networks, but says all leases are in zero.
>>>>
>>>> Can somebody help me on this?
>>>>
>>>> Thank you,
>>>>
>>>> Roberto
>>>>
>>>> My setup:
>>>> Both kea and and stork are installed using packages from the isc 
>>>> servers.
>>>> Kea version 2.6.1
>>>> Stork version 1.19
>>>> Server is a 24.04.1 Ubuntu VM with 4GB RAM and 12 GB disk in a Xen 
>>>> Citrix environment
>>>> I have one IPv4 network and 3 IPv6 network configured, but only in 
>>>> one of each is the server allocating IPs
>>>> leases files are in /var/lib/kea/ and are being populated properly 
>>>> (kea-leases4.csv and kea-leases6.csv)
>>>>
>>>> I've tried using MySQL for the leases, but the result was the same. 
>>>> In both cases, Stork shows correctly where the leases are stored, 
>>>> but does not fetch those leases.
>>>> My configs (with password and actual networks replaced):
>>>>
>>>> kea-dhcp4.conf:
>>>> {
>>>> "Dhcp4": {
>>>>     "interfaces-config": {
>>>>         "interfaces": [ "enX2" ]
>>>>     },
>>>>     "control-socket": {
>>>>         "socket-type": "unix",
>>>>         "socket-name": "/tmp/kea4-ctrl-socket"
>>>>     },
>>>>     "lease-database": {
>>>>         "type": "memfile",
>>>>         "persist": true,
>>>>         "lfc-interval": 3600,
>>>>         "name": "/var/lib/kea/kea-leases4.csv"
>>>>     },
>>>>     "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": "10.0.0.1, 8.8.8.8"
>>>>         },
>>>>         {
>>>>             "code": 15,
>>>>             "data": "domain.org.br"
>>>>         },
>>>>         {
>>>>             "name": "domain-search",
>>>>             "data": "domain.org.br"
>>>>         },
>>>>         {
>>>>             "name": "boot-file-name",
>>>>             "data": "EST5EDT4\\,M3.2.0/02:00\\,M11.1.0/02:00"
>>>>         },
>>>>         {
>>>>             "name": "default-ip-ttl",
>>>>             "data": "0xf0"
>>>>         }
>>>>     ],
>>>>     "subnet4": [
>>>>         {
>>>>             "id": 1,
>>>>             "subnet": "10.0.0.192/26",
>>>>             "pools": [ { "pool": "10.0.0.193 - 10.0.0.251" } ],
>>>>             "option-data": [
>>>>                 {
>>>>                     "name": "routers",
>>>>                     "data": "10.0.0.254"
>>>>                 }
>>>>             ],
>>>>         }
>>>>     ],
>>>>     "loggers": [
>>>>     {
>>>>         "name": "kea-dhcp4",
>>>>         "output-options": [
>>>>             {
>>>>                 "output": "stdout",
>>>>                 "pattern": "%-5p %m\n",
>>>>             }
>>>>         ],
>>>>         "severity": "INFO",
>>>>         "debuglevel": 0
>>>>     }
>>>>   ]
>>>> }
>>>> }
>>>>
>>>>
>>>>
>>>> kea-dhcp6.conf
>>>> {
>>>> "Dhcp6": {
>>>>     "valid-lifetime": 4000,
>>>>     "renew-timer": 1000,
>>>>     "rebind-timer": 2000,
>>>>     "preferred-lifetime": 3000,
>>>>     "interfaces-config": {
>>>>         "interfaces": [ "enX2/fc00::9" ]
>>>>     },
>>>>     "control-socket": {
>>>>         "socket-type": "unix",
>>>>         "socket-name": "/tmp/kea6-ctrl-socket"
>>>>     },
>>>>     "lease-database": {
>>>>         "type": "memfile",
>>>>         "persist": true,
>>>>         "name": "/var/lib/kea/kea-leases6.csv"
>>>>     },
>>>>     "subnet6": [
>>>>         {
>>>>             "id": 1,
>>>>             "subnet": "fc00:20::/64"
>>>>         },
>>>>         {
>>>>             "interface": "enX2",
>>>>             "id": 2,
>>>>             "subnet": "fc00::/64",
>>>>             "pools": [
>>>>                 {
>>>>                     "pool": "fc00::10:1-fc00::a2:ffff:ffff:ffff"
>>>>                 }
>>>>              ],
>>>>             "option-data": [
>>>>                 {
>>>>                     "name": "domain-search",
>>>>                     "code": 24,
>>>>                     "data": "fdn.domain.org.br"
>>>>                },
>>>>                 {
>>>>                     "name": "dns-servers",
>>>>                     "data": "fc00::1, 2001:4860:4860::8888"
>>>>                 }
>>>>              ],
>>>>         },
>>>>         {
>>>>             "id": 3,
>>>>             "interface": "enX0",
>>>>             "subnet": "fc00:10::/64"
>>>>         }
>>>>     ],
>>>>     "loggers": [
>>>>     {
>>>>         "name": "kea-dhcp6",
>>>>         "output-options": [
>>>>             {
>>>>                 "output": "stdout",
>>>>                 "pattern": "%-5p %m\n",
>>>>             }
>>>>         ],
>>>>         "severity": "INFO",
>>>>     }
>>>>   ]
>>>> }
>>>> }
>>>>
>>>>
>>>>  kea-ctrl-agent.conf
>>>> {
>>>> "Control-agent": {
>>>>     "http-host": "127.0.0.1",
>>>>     "http-port": 8000,
>>>>     "control-sockets": {
>>>>         "dhcp4": {
>>>>             "socket-type": "unix",
>>>>             "socket-name": "/tmp/kea4-ctrl-socket"
>>>>         },
>>>>         "dhcp6": {
>>>>             "socket-type": "unix",
>>>>             "socket-name": "/tmp/kea6-ctrl-socket"
>>>>         },
>>>>         "d2": {
>>>>             "socket-type": "unix",
>>>>             "socket-name": "/tmp/kea-ddns-ctrl-socket"
>>>>         }
>>>>     },
>>>>     "hooks-libraries": [
>>>>     ],
>>>>     "loggers": [
>>>>     {
>>>>         "name": "kea-ctrl-agent",
>>>>         "output-options": [
>>>>             {
>>>>                 "output": "stdout",
>>>>                 "pattern": "%-5p %m\n"
>>>>             }
>>>>         ],
>>>>         "severity": "info",
>>>>         "debuglevel": 0
>>>>     }
>>>>   ]
>>>> }
>>>> }
>>>>
>>>>
>>>>
>>>> server.env:
>>>> STORK_DATABASE_NAME=stork
>>>> STORK_DATABASE_USER_NAME=stork-server
>>>> STORK_DATABASE_PASSWORD=<some pass>
>>>> STORK_REST_STATIC_FILES_DIR=/usr/share/stork/www
>>>>
>>>> agent.env
>>>> STORK_AGENT_PORT=8079
>>>>
>>>
>
-- 
   -----------------------------------------------------
                 Marcos Roberto Greiner

    Os otimistas acham que estamos no melhor dos mundos
     Os pessimistas tem medo de que isto seja verdade
                              James Branch Cabell
   -----------------------------------------------------



More information about the Stork-users mailing list