[Kea-users] Kea LFC not executed anymore after some time (Kea 1.2.0)
Marcin Siodelski
marcin at isc.org
Mon Nov 20 09:27:54 UTC 2017
On 18.11.2017 17:39, Mike wrote:
> On 11/17/2017 11:58 AM, Chaigneau, Nicolas wrote:
>>
>>
>>
>> So this is confirmed: LFC is really not executed anymore at some point, for a reason yet to be determined.
>>
>> I'll have a look at the changes between Kea 0.9.1 and 1.2.0.
>>
>>
>> If you think of anything that could help, I'm all ears :)
>>
>
>
> I'm not sure if this will help, but I have seen a similar (the same?)
> issue. LFC has not worked for me in a very long time. To the point
> that I wrote a script (below) to clean out the old leases, run by cron
> weekly.
>
> The lfc config portions of kea.conf are:
>
> "lease-database": {
> "type": "memfile",
> "persist": true,
> "name": "/var/db/kea/kea-leases4.csv",
> "lfc-interval": 4000
> },
>
> and
>
> "lease-database": {
> "type": "memfile",
> "persist": true,
> "name": "/var/db/kea/kea-leases6.csv",
> "lfc-interval": 4000
> },
>
> Maybe I have some simple error in the config that my eyes keep
> overlooking, I don't know.
>
> In any case, here's the script I run weekly:
>
>
> #!/bin/sh
>
> set -e
> #set -xv
>
> DBBaseDir=/var/db/kea
>
> NowSecs=$(date +%s)
>
> # IPv4 - expire is column 5
> # IPv6 - expire is column 4
>
> keactrl stop
>
> for IPFam in 4 6
> do
> MainFile=${DBBaseDir}/kea-leases${IPFam}.csv
> TmpFile=${DBBaseDir}/kea-leases${IPFam}.tmp
> OldFile=${DBBaseDir}/kea-leases${IPFam}.old
>
> echo " "
> echo Processing ${MainFile}
>
> test -e ${TmpFile} && rm ${TmpFile}
> while IFS="," read f1 f2 f3 f4 f5 f6
> do
> ExpireSecs=${NowSecs}
> test ${IPFam} = 4 && ExpireSecs=${f5}
> test ${IPFam} = 6 && ExpireSecs=${f4}
>
> if [ ${f1}x = "addressx" -o ${ExpireSecs} -gt ${NowSecs} ]
> then
> echo "${f1},${f2},${f3},${f4},${f5},${f6}" >> ${TmpFile}
> fi
>
> done < ${MainFile}
>
> cp -p ${MainFile} ${OldFile}
> cp -p ${TmpFile} ${MainFile}
> test -e ${TmpFile} && rm ${TmpFile}
>
> echo " record count (including header record)"
> wc -l ${OldFile}
> wc -l ${MainFile}
> done
>
> echo " "
> ls -al ${DBBaseDir}
>
> echo " "
> keactrl start
>
> exit 0
>
Mike,
Were you using "logrotate" when you saw the issue with kea not executing
LFC?
Thanks,
Marcin Siodelski
ISC
More information about the Kea-users
mailing list