How do we go about requesting that dnsmasq-utils be installed on the new
system VM?


On Wed, May 1, 2013 at 11:15 AM, Marcus Sorensen <shadow...@gmail.com>wrote:

> I think on new system VM edithosts should preemptively expire lease for
> the passed ip and then sighup. That avoids complications in having to put
> in separate calls to the router VM in each agent resource just to expire.
> On May 1, 2013 9:10 AM, "Dennis Lawler" <dlaw...@gmail.com> wrote:
>
>> It does reconfigure the available leases for new IP allocations.  It just
>> doesn't expire the leases it has already handed out.
>>
>> If you replace the "service dnsmasq restart" in edithosts.sh with "kill -s
>> 1" on the router VM, you'll start seeing these log messages when a VM is
>> destroyed and re-allocated:
>>
>> dnsmasq-dhcp[pid]: not using configured address 192.168.1.100 because it
>> is
>> leased to aa:bb:cc:11:22:33
>> dnsmasq-dhcp[pid]: DHCPDISCOVER(eth0) aa:bb:cc:22:33:44 no address
>> available
>>
>>
>>
>>
>> On Tue, Apr 30, 2013 at 10:10 PM, Marcus Sorensen <shadow...@gmail.com
>> >wrote:
>>
>> > that's strange, because the dnsmasq man page explicitly calls out the
>> > SIGHUP as a way to reconfigure DHCP hosts entries from a
>> --dhcp-hostsfile
>> > parameter. Or are these not the same thing?
>> >
>> >
>> > On Tue, Apr 30, 2013 at 5:52 PM, Chiradeep Vittal <
>> > chiradeep.vit...@citrix.com> wrote:
>> >
>> > >
>> > >
>> > > On 4/30/13 3:26 PM, "Dennis Lawler" <dlaw...@gmail.com> wrote:
>> > >
>> > > >Every time a new VM is started up, there is a 2 second outage in DNS
>> > > >services that can cause problems in guest VMs that use the router VM
>> for
>> > > >DNS.
>> > > >
>> > > >
>> > > >
>> > > >For Cloudstack configurations using both DHCP and DNS services on the
>> > > >router
>> > > >VM (both implemented with dnsmasq), there is currently a 2 second DNS
>> > > >service outage every time a new VM is instantiated
>> > > >
>> > > >
>> > > >
>> > > >The source of this outage is in edithosts.sh, which uses "service
>> > dnsmasq
>> > > >restart" to pick up the freshly added DNS and DHCP entries.
>> > > >
>> > > >Restarting the dnsmasq service triggers a sleep for 2 seconds after
>> > > >killing
>> > > >dnsmasq before starting it back up again.
>> > > >
>> > > >
>> > > >
>> > > >An obvious solution would be to replace "service dnsmasq restart"
>> with
>> > > >"kill
>> > > >-s 1 $pid" (SIGHUP) so that dnsmasq reads the new DHCP entries
>> without
>> > > >restarting, as in dnsmasq_edithosts.sh (external dhcp).
>> > > >
>> > > >
>> > > >Unfortunately, this solution is flawed because dnsmasq SIGHUP
>> handling
>> > > >does
>> > > >not expire in-memory DHCP leases in dnsmasq and all leases are
>> infinite
>> > by
>> > > >default.
>> > >
>> > > Aha! That's why SIGHUP didn't work consistently. This has been
>> bugging me
>> > > for a long time.
>> > >
>> > > >Thus, this will only work if the guest VM performs a DHCP release on
>> > > >shutdown, which cannot always be guaranteed.
>> > > >
>> > > >
>> > > >
>> > > >A few possible solutions off the top of my head:
>> > > >
>> > > >1.       Separate DNS and DHCP services.  While DHCP services still
>> > > >experience an outage during VM,  DNS will not necessarily be
>> impacted if
>> > > >implemented correctly.
>> > > >
>> > > >2.       Use SIGHUP with dnsmasq and implement a removeDhcpEntry
>> > interface
>> > > >for network appliances to force a DHCP release whenever a NIC / IP is
>> > > >deallocated.  This can use dhcp_release to simulate a DHCP release on
>> > the
>> > > >router VM.
>> > > >Catch: dhcp_release is not available for Debian 6.0.  The System VM
>> > needs
>> > > >to
>> > > >be updated to at least Debian 7.0, or the dnsmasq-tools .deb from 7.0
>> > > >would
>> > > >need to be included in the System VM image.
>> > >
>> > > There is going to be a new system vm based on 7.0 for the upcoming
>> > > release. This should work with earlier releases as well.
>> > > https://cwiki.apache.org/confluence/x/UlHVAQ
>> > >
>> > > >
>> > > >3.       Change DHCP to have a shorter lease, track de-allocation of
>> IPs
>> > > >separately from VM destruction.
>> > > >Catch: This may cause occasional IP pool exhaustion depending on
>> > > >allocation
>> > > >of the guest IP range and the rate of VM destruction / instantiation
>> in
>> > > >the
>> > > >network.
>> > > >
>> > > >
>> > > >
>> > > >Thoughts?
>> > > >
>> > >
>> > >
>> >
>>
>

Reply via email to