Re: RFC: 'old' event for leaseshelper.c when lease renews

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 30, 2014 at 1:52 PM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote:
> On Sat, Jun 28, 2014 at 05:06:26AM +0530, Nehal J Wani wrote:
>> In the current version of dnsmasq, the leases helper script/program
>> specified by --dhcp-script to dnsmasq is invoked on three events,
>> 'add', 'old', 'del'. In short,
>> add: -> a new lease has to be added to db
>> del: -> a lease has to be deleted from db
>> old:-> if lease has changed
>> Now, the lease can be considered to be changed in 2 ways.
>> [standard-change] The change could be to the associated hostname or MAC address
>> [auxiliary-change] The change associated with expiry time or clientid
>>
>> When only --dhcp-script is set, 'old' events are sent only for
>> standard-lease changes. But when --dhcp-script is set along with
>> --leasefile-ro, 'old' events are sent for any change in the lease.
>>
>> So, right now, if a lease is renewed, the reflected change doesn't
>> appear in our JSON formatted lease database <interface-name>.status.
>> We have the following options with this:
>>
>> (i) We can simply add the --leasefile-ro option. But in that case, the
>> leases file database which is generated by dnsmasq by the name
>> <network-name>.leases will cease to exist. It won't contain any lease
>> information. All lease database handling will be done by our
>> leaseshelper. Note: this option given a lot of information which is
>> not stored in <network-name>.leases file.
>
> What purpose does the <network-name>.leases file that dnsmasq creates
> serve ?  If our own leases file is able to provide any funtionality
> that is missing due to the loss of <network-name>.leases, then this
> option seems like the best.
>
>> (ii) We ask the dnsmasq developer(s) to add an extra command line
>> option to enable auxiliary changes in lease to be propagated to
>> leaseshelper via 'old' events. I had a small conversation with Simon
>> Kelley, and he said:
>> "Yes. For that application (libvirt), you clearly don't want a
>> third-party patch. At very least I'd be willing to add a boolean
>> option to dnsmasq which enables "old" events when the lease expiry
>> time changes, independent of leasefile-ro."
>> If we do this, then can retain <network-name>.leases and have our helper too.
>
> I'd prefer (i) since that lets libvirt work properly with existing
> dnsmasq versions which are deployed.

Agreed. The leaseile-ro option was added to dnsmasq in version 2.33
(Current version in fedora is 2.68 and that in CentOS is 2.48 [Dunno
about RHEL]). So I guess, using it shouldn't be a harm.



-- 
Nehal J Wani

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]