Opendaylight cluster problem in mininet

asked 2017-04-08 13:14:18 -0700

hghalwash gravatar image

updated 2017-04-10 12:58:33 -0700

I am trying to test Opendaylight (Boron) clustering using Mininet. I configured three nodes using the following http://docs.opendaylight.org/en/stabl...

All three nodes show the full topology of connected switches. However, when I try to ping all hosts using the "pingall" command. I am losing most of the packets. and the controller is only showing the detected hosts in the topology.

h1 -> X X h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h15 h16
h2 -> h1 h3 h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h15 h16
h3 -> h1 h2 h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h15 h16 
h4 -> h1 h2 h3 h5 X h7 h8 h9 h10 h11 h12 h13 X h15 h16
h5 -> h1 h2 h3 h4 X h7 h8 h9 h10 h11 h12 h13 X h15 h16
h6 -> X X X X X X X X X X X X h14 X X
h7 -> h1 h2 h3 h4 h5 X h8 h9 h10 h11 h12 h13 X h15 h16
h8 -> h1 h2 h3 h4 h5 X h7 h9 h10 h11 h12 h13 X h15 h16
h9 -> h1 h2 h3 h4 h5 X h7 h8 h10 h11 h12 h13 X h15 h16
h10 -> h1 h2 h3 h4 h5 X h7 h8 h9 h11 h12 h13 X h15 h16
h11 -> h1 h2 h3 h4 h5 X h7 h8 h9 h10 h12 h13 X h15 h16
h12 -> h1 h2 h3 h4 h5 X h7 h8 h9 h10 h11 h13 X h15 h16
h13 -> h1 h2 h3 h4 h5 X h7 h8 h9 h10 h11 h12 X h15 h16
h14 -> X X X X X h6 X X X X X X X X X
h15 -> h1 h2 h3 h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h16
h16 -> h1 h2 h3 h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h15
*** Results: 24% dropped (182/240 received)

the topology works fine when testing under a single controller, I tested different topology sizes, and got the same results. I noticed that My akka.conf file is missing the class "dl-cluster-rpc" when compared to the example provided in the previous link.

I used the addSwitch and addHost functions to create the switches and hosts before starting the topology

        sw = self.addSwitch('c{}'.format(i + 1),cls=OVSKernelSwitch, protocols='OpenFlow13')
            host = self.addHost('h{}'.format(count))

the following is how I tried to add multiple controllers in my mininet:

    topo = FatTreeTopo()
    net = Mininet(topo=topo, controller=None, link=TCLink)
    cnt1 = net.addController( 'cnt1',controller=RemoteController,ip='159.203.64.13')
    cnt2 = net.addController( 'cnt2',controller=RemoteController,ip='159.203.10.11')
    cnt3 = net.addController( 'cnt3',controller=RemoteController,ip='159.203.18.68')

    info('*** Starting network\n')
    cnt1.start()
    cnt2.start()
    cnt3.start()
    switches = net.switches
    for sname in switches:
        sname.start([cnt1,cnt2,cnt3]
   net.start()

I checked all switches being connected to the three controllers using the OVS-VSCTL command:

    Bridge "e16"

    Controller "tcp ...
(more)
edit retag flag offensive close merge delete