Guest VM not able get ip address issue got reproduced (CLOUDSTACK-3312).
This issue happened  because the dnsmasq daemon still assuming the ip with the 
old mac.

Jul  3 11:16:44 dnsmasq-dhcp[2648]: not using configured address 10.223.250.227 
because it is leased to 6:00:0e:00:00:20
Jul  3 11:16:44 dnsmasq-dhcp[2648]: DHCPDISCOVER(eth0) 06:7d:92:00:00:20 no 
address available

https://issues.apache.org/jira/browse/CLOUDSTACK-2299 fix not solved the 
problem fully.

As suggested by Hugo it is better restart the dnsmasq when ever there is match 
of  ip, mac in lease file.
Send SIGHUP when there is no match.

I am planning to add above logic into edithosts.sh to fix CLOUDSTACK-3312.

Please comment.

Thanks,
Jayapal

> -----Original Message-----
> From: Hugo Trippaers [mailto:htrippa...@schubergphilis.com]
> Sent: Thursday, 2 May 2013 5:52 PM
> To: dev@cloudstack.apache.org
> Subject: RE: Virtual Router: DHCP and 2-second DNS outages
> 
> I changed the system to hup a while back. I was having the same problems.
> At that time I never ran into the leases problem, but recently I did have
> problem with it as well.
> 
> The workaround I'm testing right now is to set a restart flag is the ip or mac
> was found in the leases file and do a restart instead of a HUP if that flag 
> is set.
> Not the neatest of solutions but it work fine. Now I only get the occasional
> error because of the DNS timeout instead of a constant problem.
> 
> Dennis' solution looks a lot nicer.
> 
> Cheers,
> 
> Hugo
> 
> > -----Original Message-----
> > From: Marcus Sorensen [mailto:shadow...@gmail.com]
> > Sent: Wednesday, May 01, 2013 10:51 PM
> > To: dev@cloudstack.apache.org
> > Subject: Re: Virtual Router: DHCP and 2-second DNS outages
> >
> > What is scripts/network/exdhcp/dnsmasq_edithosts.sh ?
> >
> > I noticed that master is already patched to hup, but it's missing the
> > dhcp_release that dennis just put in a review for.
> >
> >
> > On Wed, May 1, 2013 at 1:43 PM, Marcus Sorensen
> <shadow...@gmail.com>
> > wrote:
> >
> > > oops, minus my two 'echo' debugging lines in there
> > >
> > >
> > >
> > > On Wed, May 1, 2013 at 1:41 PM, Marcus Sorensen
> > <shadow...@gmail.com>wrote:
> > >
> > >> I'm not sure how we'd handle older versions if they don't have the
> > >> dhcp_release util, but how about this going forward?
> > >>
> > >> diff --git a/patches/systemvm/debian/config/root/edithosts.sh
> > >> b/patches/systemvm/debian/config/root/edithosts.sh
> > >> index 9f21f20..f6e09d6 100755
> > >> --- a/patches/systemvm/debian/config/root/edithosts.sh
> > >> +++ b/patches/systemvm/debian/config/root/edithosts.sh
> > >> @@ -71,6 +71,7 @@ DHCP_HOSTS=/etc/dhcphosts.txt
> > >> DHCP_OPTS=/etc/dhcpopts.txt
> > DHCP_LEASES=/var/lib/misc/dnsmasq.leases
> > >>  HOSTS=/etc/hosts
> > >> +ROUTER_VERSION=$(cat /etc/debian_version | cut -d. -f1)
> > >>
> > >>  source /root/func.sh
> > >>
> > >> @@ -99,6 +100,14 @@ wait_for_dnsmasq () {
> > >>
> > >>  logger -t cloud "edithosts: update $1 $2 $3 to hosts"
> > >>
> > >> +if [ $ROUTER_VERSION -gt 6 ]
> > >> +then
> > >> +  #release previous dhcp lease if present
> > >> +  echo releasing $ipv4
> > >> +  dhcp_release lo $ipv4 $(grep $ipv4 $DHCP_LEASES | awk '{print
> > >> +$2}')
> > >> >/dev/null 2>&1
> > >> +  echo released $ipv4
> > >> +fi
> > >> +
> > >>  [ ! -f $DHCP_HOSTS ] && touch $DHCP_HOSTS  [ ! -f $DHCP_OPTS ] &&
> > >> touch $DHCP_OPTS  [ ! -f $DHCP_LEASES ] && touch $DHCP_LEASES @@
> > >> -200,7 +209,12 @@ fi  pid=$(pidof dnsmasq)  if [ "$pid" != "" ]
> > >> then
> > >> -  service dnsmasq restart
> > >> +  if [ $ROUTER_VERSION -gt 6 ]
> > >> +  then
> > >> +    kill -s 1 $pid
> > >> +  else
> > >> +    service dnsmasq restart
> > >> +  fi
> > >>  else
> > >>    if [ $no_redundant -eq 1 ]
> > >>    then
> > >>
> > >>
> > >>
> > >>
> > >> On Wed, May 1, 2013 at 12:33 PM, Chip Childers
> > >> <chip.child...@sungard.com
> > >> > wrote:
> > >>
> > >>> On Wed, May 01, 2013 at 12:29:32PM -0600, Marcus Sorensen wrote:
> > >>> > How do we go about requesting that dnsmasq-utils be installed on
> > >>> > the
> > >>> new
> > >>> > system VM?
> > >>>
> > >>> The code to create system VMs is in the repo now.  You should be
> > >>> able to just make the change and / or submit a patch suggesting
> > >>> the
> > change.
> > >>>
> > >>> See:
> > >>>
> > >>> tools/appliance/definitions
> > >>>
> > >>
> > >>
> > >

Reply via email to