aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/topos/solar.py
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/tools/test/topos/solar.py')
-rw-r--r--framework/src/onos/tools/test/topos/solar.py97
1 files changed, 0 insertions, 97 deletions
diff --git a/framework/src/onos/tools/test/topos/solar.py b/framework/src/onos/tools/test/topos/solar.py
deleted file mode 100644
index f316162a..00000000
--- a/framework/src/onos/tools/test/topos/solar.py
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/env python
-from mininet.cli import CLI
-from mininet.net import Mininet
-from mininet.node import RemoteController, OVSKernelSwitch
-
-MAC = 12
-DPID = 16
-
-class CustomCLI(CLI):
- """Custom CLI to allow us to add our own commands."""
-
- def __init__ (self, net):
- """Init method for our custom CLI."""
- self.net = net
- CLI.__init__(self, net)
-
-class Solar(object):
- """ Create a tiered topology from semi-scratch in Mininet """
-
- def __init__(self, cname='onos', cips=['192.168.56.1'], islands=3, edges=2, hosts=2):
- """Create tower topology for mininet"""
-
- # We are creating the controller with local-loopback on purpose to avoid
- # having the switches connect immediately. Instead, we'll set controller
- # explicitly for each switch after configuring it as we want.
- self.ctrls = [ RemoteController(cname, cip, 6653) for cip in cips ]
- self.net = Mininet(controller=RemoteController, switch = OVSKernelSwitch,
- build=False)
-
- self.cips = cips
- self.spines = []
- self.leaves = []
- self.hosts = []
- for ctrl in self.ctrls:
- self.net.addController(ctrl)
-
- # Create the two core switches and links between them
- c1 = self.net.addSwitch('c1',dpid='1111000000000000')
- c2 = self.net.addSwitch('c2',dpid='2222000000000000')
- self.spines.append(c1)
- self.spines.append(c2)
-
- self.net.addLink(c1, c2)
- self.net.addLink(c2, c1)
-
- for i in range(1, islands + 1):
- sc = self.createSpineClump(i, edges, hosts)
- self.net.addLink(c1, sc[0])
- self.net.addLink(c2, sc[0])
- self.net.addLink(c1, sc[1])
- self.net.addLink(c2, sc[1])
-
- def createSpineClump(self, island, edges, hosts):
- """ Creates a clump of spine and edge switches with hosts"""
- s1 = self.net.addSwitch('s%1d1' % island,dpid='00000%1d0100000000' % island)
- s2 = self.net.addSwitch('s%1d2' % island,dpid='00000%1d0200000000' % island)
- self.net.addLink(s1, s2)
- self.net.addLink(s2, s1)
-
- for i in range(1, edges + 1):
- es = self.createEdgeSwitch(island, i, hosts)
- self.net.addLink(es, s1)
- self.net.addLink(es, s2)
-
- self.spines.append(s1)
- self.spines.append(s2)
-
- clump = []
- clump.append(s1)
- clump.append(s2)
- return clump
-
- def createEdgeSwitch(self, island, index, hosts):
- """ Creates an edge switch in an island and ads hosts to it"""
- sw = self.net.addSwitch('e%1d%1d' % (island, index),dpid='0000000%1d0000000%1d' % (island, index))
- self.leaves.append(sw)
-
- for j in range(1, hosts + 1):
- host = self.net.addHost('h%d%d%d' % (island, index, j),ip='10.%d.%d.%d' % (island, index, j))
- self.net.addLink(host, sw)
- self.hosts.append(host)
- return sw
-
- def run(self):
- """ Runs the created network topology and launches mininet cli"""
- self.net.build()
- self.net.start()
- CustomCLI(self.net)
- self.net.stop()
-
- def pingAll(self):
- """ PingAll to create flows - for unit testing """
- self.net.pingAll()
-
- def stop(self):
- "Stops the topology. You should call this after run_silent"
- self.net.stop()