[cmaster-next] Topology Tests added to CI - and new BGPd crash discovered
Donald Sharp
sharpd at cumulusnetworks.com
Thu Dec 1 07:36:37 EST 2016
Martin -
I'm not getting it to work. Latest errors:
=============================================================== ERRORS
===============================================================
_______________________________________________ ERROR at setup of
test_quagga_running ________________________________________________
module = <module 'test_bgp_multiview_topo1' from
'/home/sharpd/topotests/bgp_multiview_topo1/test_bgp_multiview_topo1.py'>
def setup_module(module):
global topo, net
print("\n\n** %s: Setup Topology" % module.__name__)
print("******************************************\n")
print("Cleanup old Mininet runs")
os.system('sudo mn -c > /dev/null 2>&1')
thisDir = os.path.dirname(os.path.realpath(__file__))
topo = NetworkTopo()
net = Mininet(controller=None, topo=topo)
net.start()
# Starting Routers
for i in range(1, 2):
> net['r%s' % i].loadConf('zebra', '%s/r%s/zebra.conf' % (thisDir, i))
bgp_multiview_topo1/test_bgp_multiview_topo1.py:287:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <mininet.net.Mininet object at 0x7fecc55e4810>, key = 'r1'
def __getitem__( self, key ):
"""net [ name ] operator: Return node(s) with given name(s)"""
> return self.nameToNode[ key ]
E KeyError: 'r1'
/usr/lib/python2.7/dist-packages/mininet/net.py:245: KeyError
________________________________________________ ERROR at setup of
test_bgp_converge _________________________________________________
module = <module 'test_bgp_multiview_topo1' from
'/home/sharpd/topotests/bgp_multiview_topo1/test_bgp_multiview_topo1.py'>
def setup_module(module):
global topo, net
print("\n\n** %s: Setup Topology" % module.__name__)
print("******************************************\n")
print("Cleanup old Mininet runs")
os.system('sudo mn -c > /dev/null 2>&1')
thisDir = os.path.dirname(os.path.realpath(__file__))
topo = NetworkTopo()
net = Mininet(controller=None, topo=topo)
net.start()
# Starting Routers
for i in range(1, 2):
> net['r%s' % i].loadConf('zebra', '%s/r%s/zebra.conf' % (thisDir, i))
bgp_multiview_topo1/test_bgp_multiview_topo1.py:287:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <mininet.net.Mininet object at 0x7fecc55e4810>, key = 'r1'
def __getitem__( self, key ):
"""net [ name ] operator: Return node(s) with given name(s)"""
> return self.nameToNode[ key ]
E KeyError: 'r1'
/usr/lib/python2.7/dist-packages/mininet/net.py:245: KeyError
______________________________________________ ERROR at setup of
test_bgp_routingTable _______________________________________________
module = <module 'test_bgp_multiview_topo1' from
'/home/sharpd/topotests/bgp_multiview_topo1/test_bgp_multiview_topo1.py'>
def setup_module(module):
global topo, net
print("\n\n** %s: Setup Topology" % module.__name__)
print("******************************************\n")
print("Cleanup old Mininet runs")
os.system('sudo mn -c > /dev/null 2>&1')
thisDir = os.path.dirname(os.path.realpath(__file__))
topo = NetworkTopo()
net = Mininet(controller=None, topo=topo)
net.start()
# Starting Routers
for i in range(1, 2):
> net['r%s' % i].loadConf('zebra', '%s/r%s/zebra.conf' % (thisDir, i))
bgp_multiview_topo1/test_bgp_multiview_topo1.py:287:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <mininet.net.Mininet object at 0x7fecc55e4810>, key = 'r1'
def __getitem__( self, key ):
"""net [ name ] operator: Return node(s) with given name(s)"""
> return self.nameToNode[ key ]
E KeyError: 'r1'
/usr/lib/python2.7/dist-packages/mininet/net.py:245: KeyError
_______________________________________________ ERROR at setup of
test_quagga_running ________________________________________________
module = <module 'test_ospf6_topo1' from
'/home/sharpd/topotests/ospf6-topo1/test_ospf6_topo1.py'>
def setup_module(module):
global topo, net
print("\n\n** %s: Setup Topology" % module.__name__)
print("******************************************\n")
print("Cleanup old Mininet runs")
os.system('sudo mn -c > /dev/null 2>&1')
thisDir = os.path.dirname(os.path.realpath(__file__))
topo = NetworkTopo()
net = Mininet(controller=None, topo=topo)
net.start()
# For debugging after starting net, but before starting
Quagga, uncomment the next line
# CLI(net)
# Starting Routers
for i in range(1, 5):
> net['r%s' % i].loadConf('zebra', '%s/r%s/zebra.conf' % (thisDir, i))
ospf6-topo1/test_ospf6_topo1.py:320:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <mininet.net.Mininet object at 0x7fecc5557950>, key = 'r1'
def __getitem__( self, key ):
"""net [ name ] operator: Return node(s) with given name(s)"""
> return self.nameToNode[ key ]
E KeyError: 'r1'
/usr/lib/python2.7/dist-packages/mininet/net.py:245: KeyError
_______________________________________________ ERROR at setup of
test_ospf6_converged _______________________________________________
module = <module 'test_ospf6_topo1' from
'/home/sharpd/topotests/ospf6-topo1/test_ospf6_topo1.py'>
def setup_module(module):
global topo, net
print("\n\n** %s: Setup Topology" % module.__name__)
print("******************************************\n")
print("Cleanup old Mininet runs")
os.system('sudo mn -c > /dev/null 2>&1')
thisDir = os.path.dirname(os.path.realpath(__file__))
topo = NetworkTopo()
net = Mininet(controller=None, topo=topo)
net.start()
# For debugging after starting net, but before starting
Quagga, uncomment the next line
# CLI(net)
# Starting Routers
for i in range(1, 5):
> net['r%s' % i].loadConf('zebra', '%s/r%s/zebra.conf' % (thisDir, i))
ospf6-topo1/test_ospf6_topo1.py:320:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <mininet.net.Mininet object at 0x7fecc5557950>, key = 'r1'
def __getitem__( self, key ):
"""net [ name ] operator: Return node(s) with given name(s)"""
> return self.nameToNode[ key ]
E KeyError: 'r1'
/usr/lib/python2.7/dist-packages/mininet/net.py:245: KeyError
_____________________________________________ ERROR at setup of
test_ospfv3_routingTable _____________________________________________
module = <module 'test_ospf6_topo1' from
'/home/sharpd/topotests/ospf6-topo1/test_ospf6_topo1.py'>
def setup_module(module):
global topo, net
print("\n\n** %s: Setup Topology" % module.__name__)
print("******************************************\n")
print("Cleanup old Mininet runs")
os.system('sudo mn -c > /dev/null 2>&1')
thisDir = os.path.dirname(os.path.realpath(__file__))
topo = NetworkTopo()
net = Mininet(controller=None, topo=topo)
net.start()
# For debugging after starting net, but before starting
Quagga, uncomment the next line
# CLI(net)
# Starting Routers
for i in range(1, 5):
> net['r%s' % i].loadConf('zebra', '%s/r%s/zebra.conf' % (thisDir, i))
ospf6-topo1/test_ospf6_topo1.py:320:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <mininet.net.Mininet object at 0x7fecc5557950>, key = 'r1'
def __getitem__( self, key ):
"""net [ name ] operator: Return node(s) with given name(s)"""
> return self.nameToNode[ key ]
E KeyError: 'r1'
/usr/lib/python2.7/dist-packages/mininet/net.py:245: KeyError
_______________________________________ ERROR at setup of
test_linux_ipv6_kernel_routingTable
________________________________________
module = <module 'test_ospf6_topo1' from
'/home/sharpd/topotests/ospf6-topo1/test_ospf6_topo1.py'>
def setup_module(module):
global topo, net
print("\n\n** %s: Setup Topology" % module.__name__)
print("******************************************\n")
print("Cleanup old Mininet runs")
os.system('sudo mn -c > /dev/null 2>&1')
thisDir = os.path.dirname(os.path.realpath(__file__))
topo = NetworkTopo()
net = Mininet(controller=None, topo=topo)
net.start()
# For debugging after starting net, but before starting
Quagga, uncomment the next line
# CLI(net)
# Starting Routers
for i in range(1, 5):
> net['r%s' % i].loadConf('zebra', '%s/r%s/zebra.conf' % (thisDir, i))
ospf6-topo1/test_ospf6_topo1.py:320:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <mininet.net.Mininet object at 0x7fecc5557950>, key = 'r1'
def __getitem__( self, key ):
"""net [ name ] operator: Return node(s) with given name(s)"""
> return self.nameToNode[ key ]
E KeyError: 'r1'
/usr/lib/python2.7/dist-packages/mininet/net.py:245: KeyError
====================================================== 7 error in 2.36
seconds =======================================================
sharpd at Ubunutu-dbs-1:~/topotests$
thanks!
donald
On Sun, Nov 27, 2016 at 2:37 AM, Martin Winter
<david at opensourcerouting.org> wrote:
> (Testing the new mailing list as well)
>
> First of all:
>
> I finally got around and added some framework for Topology Tests based on
> Mininet
> to the CI testbed.
> As Mininet is all based on Python, the whole framework is based on pytest.
>
> At this time, there are 2 tests in it:
> - OSPFv3 simple topology
> - BGP Multiview topology
>
> The git for this setup is here:
> https://git.netdef.org/scm/netdef/topotests.git
>
> There is no proprietary code in it - all can be easy replicated on a Ubuntu
> 16.04
> (I have not tested any other Distros and Mininet requires Linux). Just
> follow
> the directions in the README inside the git and you should be able to
> replicate
> the setup.
>
> The idea is to have some test setup which can be shared and anyone can add
> tests
> (The CI system runs all the tests in this git)
>
> Happy to hear any feedback on this setup…
>
> As a side note, the BGP Multiview test crashes BGPd on startup. Because of
> this,
> I have NOT YET enabled the test results parsing in the CI system (or all
> builds would
> fail at this time)
>
> If you look at the the latest build on our CI system, you’ll see a crash in
> BGPd
> See https://ci1.netdef.org/browse/QUAGGA-CMASTERNEXT-TOPOU1604-106
> Seems to be a crash in the VNC code. (cc’ing Lou to make sure he see this…)
>
> Again, please provide feedback. The idea is to add many more topologies to
> the
> CI system, but would like to hear some feedback on the setup.
>
> - Martin
>
> _______________________________________________
> cmaster-next mailing list
> cmaster-next at lists.nox.tf
> https://lists.nox.tf/listinfo/cmaster-next
More information about the dev
mailing list