← Back to team overview

openstack team mailing list archive

Re: VM can't ping self floating IP after a snapshot is taken

 

Hi Oleg,

Thank you for your investigation. Good lucky!

Can you let me know if find how to fix the bug?

Thanks,
Sam

On Wed, Aug 22, 2012 at 12:50 PM, Oleg Gelbukh <ogelbukh@xxxxxxxxxxxx>wrote:

> Hello,
>
> Is it possible that, during snapshotting, libvirt just tears down virtual
> interface at some point, and then re-creates it, with hairpin_mode disabled
> again?
> This bugfix [https://bugs.launchpad.net/nova/+bug/933640] implies that
> fix works on spawn of instance. This means that upon resume after snapshot,
> hairpin is not restored. May be if we insert the _enable_hairpin() call in
> snapshot procedure, it helps.
> We're currently investigating this issue in one of our environments, hope
> to come up with answer by tomorrow.
>
> --
> Best regards,
> Oleg
>
> On Wed, Aug 22, 2012 at 11:29 PM, Sam Su <susltd.su@xxxxxxxxx> wrote:
>
>> My friend has found a way to enable ping itself, when this problem
>> happened. But not found why this happen.
>> sudo echo "1" >
>> /sys/class/net/br1000/brif/<virtual-interface-name>/hairpin_mode
>>
>> I file a ticket to report this problem:
>> https://bugs.launchpad.net/nova/+bug/1040255
>>
>> hopefully someone can find why this happen and solve it.
>>
>> Thanks,
>> Sam
>>
>>
>> On Fri, Jul 20, 2012 at 3:50 PM, Gabriel Hurley <
>> Gabriel.Hurley@xxxxxxxxxx> wrote:
>>
>>>  I ran into some similar issues with the _*enable*_hairpin() call. The
>>> call is allowed to fail silently and (in my case) was failing. I couldn’t
>>> for the life of me figure out why, though, and since I’m really not a
>>> networking person I didn’t trace it along too far.****
>>>
>>> ** **
>>>
>>> Just thought I’d share my similar pain.****
>>>
>>> ** **
>>>
>>> **-          **Gabriel****
>>>
>>> ** **
>>>
>>> *From:* openstack-bounces+gabriel.hurley=nebula.com@xxxxxxxxxxxxxxxxxxx[mailto:
>>> openstack-bounces+gabriel.hurley=nebula.com@xxxxxxxxxxxxxxxxxxx] *On
>>> Behalf Of *Sam Su
>>> *Sent:* Thursday, July 19, 2012 11:50 AM
>>> *To:* Brian Haley
>>> *Cc:* openstack
>>> *Subject:* Re: [Openstack] VM can't ping self floating IP after a
>>> snapshot is taken****
>>>
>>> ** **
>>>
>>> Thank you for your support.****
>>>
>>> ** **
>>>
>>> I checked the file  nova/virt/libvirt/connection.py, the sentence
>>> self._enable_hairpin(instance) is already added to the
>>> function  _hard_reboot().****
>>>
>>> It looks like there are some difference between taking snapshot and
>>> reboot instance. I tried to figure out how to fix this bug but failed. *
>>> ***
>>>
>>> ** **
>>>
>>> It will be much appreciated if anyone can give some hints.****
>>>
>>> ** **
>>>
>>> Thanks,****
>>>
>>> Sam****
>>>
>>> ** **
>>>
>>> On Thu, Jul 19, 2012 at 8:37 AM, Brian Haley <brian.haley@xxxxxx> wrote:
>>> ****
>>>
>>> On 07/17/2012 05:56 PM, Sam Su wrote:
>>> > Hi,
>>> >
>>> > Just This always happens in Essex release. After I take a snapshot of
>>> my VM ( I
>>> > tried Ubuntu 12.04 or CentOS 5.8), VM can't ping its self floating IP;
>>> before I
>>> > take a snapshot though, VM can ping its self floating IP.
>>> >
>>> > This looks closely related to
>>> https://bugs.launchpad.net/nova/+bug/933640, but
>>> > still a little different. In 933640, it sounds like VM can't ping its
>>> self
>>> > floating IP regardless whether we take a snapshot or not.
>>> >
>>> > Any suggestion to make an easy fix? And what is the root cause of the
>>> problem?****
>>>
>>> It might be because there's a missing _enable_hairpin() call in the
>>> reboot()
>>> function.  Try something like this...
>>>
>>> nova/virt/libvirt/connection.py, _hard_reboot():
>>>
>>>              self._create_new_domain(xml)
>>> +            self._enable_hairpin(instance)
>>>              self.firewall_driver.apply_instance_filter(instance,
>>> network_info)
>>>
>>> At least that's what I remember doing myself recently when testing after
>>> a
>>> reboot, don't know about snapshot.
>>>
>>> Folsom has changed enough that something different would need to be done
>>> there.
>>>
>>> -Brian****
>>>
>>> ** **
>>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openstack
>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>

Follow ups

References