<div dir="ltr">I think it's better to test with some tcp connection (ssh session?) rather then with ping.<div><br></div><div>Eugene.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 30, 2014 at 5:28 PM, Oleg Bondarev <span dir="ltr"><<a href="mailto:obondarev@mirantis.com" target="_blank">obondarev@mirantis.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">So by running ping while instance interface update we can see ~10-20 sec of<div>connectivity downtime. Here is a tcp capture during update (pinging ext net gateway):</div>
<div><br></div><div><div><i><font size="1">05:58:41.020791 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 10, length 64</font></i></div>
<div><i><font size="1">05:58:41.020866 IP 172.24.4.1 > <a href="http://10.0.0.4" target="_blank">10.0.0.4</a>: ICMP echo reply, id 29954, seq 10, length 64</font></i></div><div><i><font size="1">05:58:41.885381 STP 802.1s, Rapid STP, CIST Flags [Learn, Forward, Agreement]</font></i></div>
<div><i><font size="1">05:58:42.022785 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 11, length 64</font></i></div><div><i><font size="1">05:58:42.022832 IP 172.24.4.1 > <a href="http://10.0.0.4" target="_blank">10.0.0.4</a>: ICMP echo reply, id 29954, seq 11, length 64</font></i></div>
<div><font size="1"><b>[vm interface updated..]</b></font></div><div><i><font size="1">05:58:43.023310 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 12, length 64</font></i></div>
<div><i><font size="1">05:58:44.024042 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 13, length 64</font></i></div><div><i><font size="1">05:58:45.025760 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 14, length 64</font></i></div>
<div><i><font size="1">05:58:46.026260 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 15, length 64</font></i></div><div><i><font size="1">05:58:47.027813 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 16, length 64</font></i></div>
<div><i><font size="1">05:58:48.028229 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 17, length 64</font></i></div><div><i><font size="1">05:58:49.029881 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 18, length 64</font></i></div>
<div><i><font size="1">05:58:50.029952 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 19, length 64</font></i></div><div><i><font size="1">05:58:51.031380 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 20, length 64</font></i></div>
<div><i><font size="1">05:58:52.032012 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 21, length 64</font></i></div><div><i><font size="1">05:58:53.033456 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 22, length 64</font></i></div>
<div><i><font size="1">05:58:54.034061 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 23, length 64</font></i></div><div><i><font size="1">05:58:55.035170 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 24, length 64</font></i></div>
<div><i><font size="1">05:58:56.035988 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 25, length 64</font></i></div><div><i><font size="1">05:58:57.037285 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 26, length 64</font></i></div>
<div><i><font size="1">05:58:57.045691 ARP, Request who-has 10.0.0.1 tell 10.0.0.4, length 28</font></i></div><div><i><font size="1">05:58:58.038245 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 27, length 64</font></i></div>
<div><i><font size="1">05:58:58.045496 ARP, Request who-has 10.0.0.1 tell 10.0.0.4, length 28</font></i></div><div><i><font size="1">05:58:59.040143 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 28, length 64</font></i></div>
<div><i><font size="1">05:58:59.045609 ARP, Request who-has 10.0.0.1 tell 10.0.0.4, length 28</font></i></div><div><i><font size="1">05:59:00.040789 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 29, length 64</font></i></div>
<div><i><font size="1">05:59:01.042333 ARP, Request who-has 10.0.0.1 tell 10.0.0.4, length 28</font></i></div><div><i><font size="1">05:59:01.042618 ARP, Reply 10.0.0.1 is-at fa:16:3e:61:28:fa (oui Unknown), length 28</font></i></div>
<div><i><font size="1">05:59:01.043471 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 30, length 64</font></i></div><div><i><font size="1">05:59:01.063176 IP 172.24.4.1 > <a href="http://10.0.0.4" target="_blank">10.0.0.4</a>: ICMP echo reply, id 29954, seq 30, length 64</font></i></div>
<div><i><font size="1">05:59:02.042699 IP 10.0.0.4 > <a href="http://172.24.4.1" target="_blank">172.24.4.1</a>: ICMP echo request, id 29954, seq 31, length 64</font></i></div><div><i><font size="1">05:59:02.042840 IP 172.24.4.1 > <a href="http://10.0.0.4" target="_blank">10.0.0.4</a>: ICMP echo reply, id 29954, seq 31, length 64</font></i></div>
</div><div><br></div><div>However this connectivity downtime can be significally reduced by restarting</div><div>network service on the instance right after interface update.</div></div><div class="HOEnZb"><div class="h5">
<div class="gmail_extra"><br><br><div class="gmail_quote">
On Mon, Apr 28, 2014 at 6:29 PM, Kyle Mestery <span dir="ltr"><<a href="mailto:mestery@noironetworks.com" target="_blank">mestery@noironetworks.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>On Mon, Apr 28, 2014 at 9:19 AM, Oleg Bondarev <<a href="mailto:obondarev@mirantis.com" target="_blank">obondarev@mirantis.com</a>> wrote:<br>
> On Mon, Apr 28, 2014 at 6:01 PM, Kyle Mestery <<a href="mailto:mestery@noironetworks.com" target="_blank">mestery@noironetworks.com</a>><br>
> wrote:<br>
>><br>
>> On Mon, Apr 28, 2014 at 8:54 AM, Oleg Bondarev <<a href="mailto:obondarev@mirantis.com" target="_blank">obondarev@mirantis.com</a>><br>
>> wrote:<br>
>> > Yeah, I also saw in docs that update-device is supported since 0.8.0<br>
>> > version,<br>
>> > not sure why it didn't work in my setup.<br>
>> > I installed latest libvirt 1.2.3 and now update-device works just fine<br>
>> > and I<br>
>> > am able<br>
>> > to move instance tap device from one bridge to another with no downtime<br>
>> > and<br>
>> > no reboot!<br>
>> > I'll try to investigate why it didn't work on 0.9.8 and which is the<br>
>> > minimal<br>
>> > libvirt version for this.<br>
>> ><br>
>> Wow, cool! This is really good news. Thanks for driving this! By<br>
>> chance did you notice if there was a drop in connectivity at all, or<br>
>> if the guest detected the move at all?<br>
><br>
><br>
> Didn't check it yet. What in your opinion would be the best way of testing<br>
> this?<br>
><br>
</div>The simplest way would to have a ping running when you run<br>
"update-device" and see if any packets are dropped. We can do more<br>
thorough testing after that, but that would give us a good<br>
approximation of connectivity while swapping the underlying device.<br>
<div><div><br>
>> Kyle<br>
>><br>
>> > Thanks,<br>
>> > Oleg<br>
>> ><br>
>> ><br>
>> > On Sat, Apr 26, 2014 at 5:46 AM, Kyle Mestery<br>
>> > <<a href="mailto:mestery@noironetworks.com" target="_blank">mestery@noironetworks.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> According to this page [1], "update-device" is supported from libvirt<br>
>> >> 0.8.0 onwards. So in theory, this should be working with your 0.9.8<br>
>> >> version you have. If you continue to hit issues here Oleg, I'd suggest<br>
>> >> sending an email to the libvirt mailing list with the specifics of the<br>
>> >> problem. I've found in the past there are lots of very helpful on that<br>
>> >> mailing list.<br>
>> >><br>
>> >> Thanks,<br>
>> >> Kyle<br>
>> >><br>
>> >> [1]<br>
>> >> <a href="http://libvirt.org/sources/virshcmdref/html-single/#sect-update-device" target="_blank">http://libvirt.org/sources/virshcmdref/html-single/#sect-update-device</a><br>
>> >><br>
>> >> On Thu, Apr 24, 2014 at 7:42 AM, Oleg Bondarev <<a href="mailto:obondarev@mirantis.com" target="_blank">obondarev@mirantis.com</a>><br>
>> >> wrote:<br>
>> >> > So here is the etherpad for the migration discussion:<br>
>> >> > <a href="https://etherpad.openstack.org/p/novanet-neutron-migration" target="_blank">https://etherpad.openstack.org/p/novanet-neutron-migration</a><br>
>> >> > I've also filed a design session on this:<br>
>> >> > <a href="http://summit.openstack.org/cfp/details/374" target="_blank">http://summit.openstack.org/cfp/details/374</a><br>
>> >> ><br>
>> >> > Currently I'm still struggling with instance vNic update, trying to<br>
>> >> > move<br>
>> >> > it<br>
>> >> > from one bridge to another.<br>
>> >> > Tried the following on ubuntu 12.04 with libvirt 0.9.8:<br>
>> >> ><br>
>> >> ><br>
>> >> > <a href="https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/sect-dynamic-vNIC.html" target="_blank">https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/sect-dynamic-vNIC.html</a><br>
>> >> > virsh update-device shows success but nothing actually changes in the<br>
>> >> > instance interface config.<br>
>> >> > Going to try this with later libvirt version.<br>
>> >> ><br>
>> >> > Thanks,<br>
>> >> > Oleg<br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> > On Wed, Apr 23, 2014 at 3:24 PM, Rossella Sblendido<br>
>> >> > <<a href="mailto:rsblendido@suse.com" target="_blank">rsblendido@suse.com</a>><br>
>> >> > wrote:<br>
>> >> >><br>
>> >> >><br>
>> >> >> Very interesting topic!<br>
>> >> >> +1 Salvatore<br>
>> >> >><br>
>> >> >> It would be nice to have an etherpad to share the information and<br>
>> >> >> organize<br>
>> >> >> a plan. This way it would be easier for interested people to join.<br>
>> >> >><br>
>> >> >> Rossella<br>
>> >> >><br>
>> >> >><br>
>> >> >> On 04/23/2014 12:57 AM, Salvatore Orlando wrote:<br>
>> >> >><br>
>> >> >> It's great to see that there is activity on the launchpad blueprint<br>
>> >> >> as<br>
>> >> >> well.<br>
>> >> >> From what I heard Oleg should have already translated the various<br>
>> >> >> discussion into a list of functional requirements (or something like<br>
>> >> >> that).<br>
>> >> >><br>
>> >> >> If that is correct, it might be a good idea to share them with<br>
>> >> >> relevant<br>
>> >> >> stakeholders (operators and developers), define an actionable plan<br>
>> >> >> for<br>
>> >> >> Juno,<br>
>> >> >> and then distribute tasks.<br>
>> >> >> It would be a shame if it turns out several contributors are working<br>
>> >> >> on<br>
>> >> >> this topic independently.<br>
>> >> >><br>
>> >> >> Salvatore<br>
>> >> >><br>
>> >> >><br>
>> >> >> On 22 April 2014 16:27, Jesse Pretorius <<a href="mailto:jesse.pretorius@gmail.com" target="_blank">jesse.pretorius@gmail.com</a>><br>
>> >> >> wrote:<br>
>> >> >>><br>
>> >> >>> On 22 April 2014 14:58, Salvatore Orlando <<a href="mailto:sorlando@nicira.com" target="_blank">sorlando@nicira.com</a>><br>
>> >> >>> wrote:<br>
>> >> >>>><br>
>> >> >>>> From previous requirements discussions,<br>
>> >> >>><br>
>> >> >>><br>
>> >> >>> There's a track record of discussions on the whiteboard here:<br>
>> >> >>><br>
>> >> >>> <a href="https://blueprints.launchpad.net/neutron/+spec/nova-to-quantum-upgrade" target="_blank">https://blueprints.launchpad.net/neutron/+spec/nova-to-quantum-upgrade</a><br>
>> >> >>><br>
>> >> >>> _______________________________________________<br>
>> >> >>> OpenStack-dev mailing list<br>
>> >> >>> <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
>> >> >>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>> >> >>><br>
>> >> >><br>
>> >> >><br>
>> >> >><br>
>> >> >> _______________________________________________<br>
>> >> >> OpenStack-dev mailing list<br>
>> >> >> <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
>> >> >> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>> >> >><br>
>> >> >><br>
>> >> >><br>
>> >> >> _______________________________________________<br>
>> >> >> OpenStack-dev mailing list<br>
>> >> >> <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
>> >> >> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>> >> >><br>
>> >> ><br>
>> >> ><br>
>> >> > _______________________________________________<br>
>> >> > OpenStack-dev mailing list<br>
>> >> > <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
>> >> > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>> >> ><br>
>> >><br>
>> >> _______________________________________________<br>
>> >> OpenStack-dev mailing list<br>
>> >> <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
>> >> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>> ><br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > OpenStack-dev mailing list<br>
>> > <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
>> > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>> ><br>
>><br>
>> _______________________________________________<br>
>> OpenStack-dev mailing list<br>
>> <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> OpenStack-dev mailing list<br>
> <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>