mininet 2.0.0 vs mininet 2.1.0


Luis Gomez <luis.gomez@...>
 

OK people, I think in the end I have got some kind of stability in the test.

A couple of issues observed in mininet 2.0.0 vs mininet 2.1.0 (using same OVS library 2.0.0):


1) dpctl command from mininet shell does not work for some weird reason:

mininet> dpctl show
*** s1 ------------------------------------------------------------------------
ovs-dpctl: opening datapath s1 failed (No such device)
*** s2 ------------------------------------------------------------------------
ovs-dpctl: opening datapath s2 failed (No such device)
*** s3 ------------------------------------------------------------------------
ovs-dpctl: opening datapath s3 failed (No such device)

We normally we do not use dpctl command, unless we want to delete flows generated by any module like simple forwarding.

In that case there is a workaround for this which is to invoke the Linux shell and execute " sudo ovs-dpctl del-flows"

mininet> sh sudo ovs-dpctl del-flows

But before using this Andy, will have to allow sudo ovs-dpctl command to mininet Jenkins user.



2) after OVSDB changes the network topology, it can take up to 40 secs for the flows to be properly installed in the switches.

For that I increased the ping time in the test this way:

Ping h1 to h4
[Documentation] Ping h1 to h4, verify no packet loss
[Tags] Get
Sleep 5
Write h1 ping -c 30 h4
Sleep 35
${result} Read
Should Contain ${result} 64 bytes

Finally I would like to hear what is your experience using mininet 2.0.0 or 2.1.0 whatever you have so that we can confirm what I have seen in my Lab.

Thanks/Luis

-----Original Message-----
From: integration-dev-bounces@... [mailto:integration-dev-bounces@...] On Behalf Of Luis Gomez
Sent: Friday, December 06, 2013 10:53 AM
To: Madhu Venguopal; Andrew Grimberg
Cc: 'integration-dev@...'
Subject: Re: [integration-dev] mininet OVS 2.0.0

Thanks Madhu, I will, the issue is not as simple as it may look like since the OVSDB is running at the end of the system test now so there are for some pre-conditions that are not so easy to replicate manually. Anyway I am trying to isolate all this to get more understanding and through some conclusions today.

BR/Luis


-----Original Message-----
From: Madhu Venguopal [mailto:mavenugo@...]
Sent: Friday, December 06, 2013 10:52 AM
To: Luis Gomez; Andrew Grimberg
Cc: 'integration-dev@...'
Subject: Re: [integration-dev] mininet OVS 2.0.0

Luis,

Please let me know if you need help with the debugging & I would be glad
to assist you.

Thanks,
Madhu
On 12/6/13, 10:44 AM, Luis Gomez wrote:
Hi Madhu,

No we have not yet included OF 1.3. in our system test. The issue is with the mininet ping after you replace one switch by another using OVSDB, sometimes work and sometimes does not. I have a setup in Ericsson with mininet 2.1.0 and OVS 2.0.0 and there it always work, however in OpenDaylight and also in the image I am distributing the issue is there so I am investigating the reasons for this.

BR/Luis


-----Original Message-----
From: Madhu Venguopal [mailto:mavenugo@...]
Sent: Friday, December 06, 2013 10:36 AM
To: Luis Gomez; Andrew Grimberg
Cc: 'integration-dev@...'
Subject: Re: [integration-dev] mininet OVS 2.0.0

Hi Luis,

Can you please let us know what is the issue you see with OVSDB ?
Is it specific to OF1.3 / OVS 2.0.0 / mininet 2.0.0 ?

-Madhu

On 12/6/13, 10:30 AM, Luis Gomez wrote:
Thanks Andy,

This is will be very good for OF 1.3 testing. We still have 1 TC not stable for OVSDB cand I see the issue in the system test image I provided last week running OVS 2.0.0 and mininet 2.0.0. so I am working on it right now, I will let you know and the integration team what is the outcome of my investigation.

BR/Luis


-----Original Message-----
From: Andrew Grimberg [mailto:agrimberg@...]
Sent: Friday, December 06, 2013 10:18 AM
To: Luis Gomez
Cc: 'integration-dev@...'
Subject: Re: mininet OVS 2.0.0

Upgrade to OVS 2.0.0 is now complete on the mininet system.

-Andy-

On Fri, 2013-12-06 at 10:05 -0800, Andrew Grimberg wrote:
Luis,

I've got the upgrade ready. I just need to take an outage on the system
to apply it along with some security patches which will require a reboot
of the system :-/

I'll pause the various jenkins jobs so they won't try firing and let you
know when it's all good to go.

-Andy-

On Wed, 2013-12-04 at 21:45 +0000, Luis Gomez wrote:
Andy, this is not critical, just take your time, like by the end of the week is OK.

-----Original Message-----
From: Andrew Grimberg [mailto:agrimberg@...]
Sent: Wednesday, December 04, 2013 1:44 PM
To: Luis Gomez
Cc: 'integration-dev@...'
Subject: Re: mininet OVS 2.0.0

I'll see what I can do. I can't say I'll have it today, but hopefully
tomorrow.

-Andy-

On Wed, 2013-12-04 at 19:19 +0000, Luis Gomez wrote:
Hi Andy,

Would it be possible to update the mininet VM in OpenDaylight with OVS
2.0.0?

2 reasons for this request:

- OVS 2.0.0 is the one more used now for OF 1.3 testing
- There is 1 TC that is not very stable at OpenDaylight but it works
very good in my test bed running OVS 2.0.0

Also if you could add the fix described in
https://wiki.opendaylight.org/view/Openflow_Protocol_Library:OpenVirtualSwitch so that we can easily switch from OF 1.0 to OF 1.3 and viceversa.


--- ../mininet/build/lib.linux-x86_64-2.7/mininet/node.py
2012-11-30 22:30:07.000000000 -0800
+++ /usr/local/lib/python2.7/dist-packages/mininet-2.0.0-py2.7.egg/mininet/node.py 2013-07-25 05:40:26.179978120 -0700
@@ -901,6 +904,11 @@
failMode: controller loss behavior (secure|open)"""
Switch.__init__( self, name, **params )
self.failMode = failMode
+ protKey = 'protocols'
+ if self.params and protKey in self.params:
+ print 'have protocol params!'
+ self.opts += protKey + '=' + self.params[protKey]
+
@classmethod
def setup( cls ):
@@ -955,8 +964,9 @@
# Annoyingly, --if-exists option seems not to work
self.cmd( 'ovs-vsctl del-br', self )
self.cmd( 'ovs-vsctl add-br', self )
+ print 'OVSswitch opts: ',self.opts
self.cmd( 'ovs-vsctl -- set Bridge', self,
- 'other_config:datapath-id=' + self.dpid )
+ self.opts+' other_config:datapath-id=' + self.dpid
)
self.cmd( 'ovs-vsctl set-fail-mode', self, self.failMode )
for intf in self.intfList():
if not intf.IP():

Thanks very much

Luis
_______________________________________________
integration-dev mailing list
integration-dev@...
https://lists.opendaylight.org/mailman/listinfo/integration-dev