projects
/
osm
/
vim-emu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of https://github.com/stevenvanrossem/son-emu
[osm/vim-emu.git]
/
emuvim
/
example_topology.py
diff --git
a/emuvim/example_topology.py
b/emuvim/example_topology.py
old mode 100644
(file)
new mode 100755
(executable)
index
3c49f99
..
2342fd1
--- a/
emuvim/example_topology.py
+++ b/
emuvim/example_topology.py
@@
-20,6
+20,7
@@
import logging
from mininet.log import setLogLevel
from dcemulator.net import DCNetwork
from api.zerorpcapi import ZeroRpcApiEndpoint
from mininet.log import setLogLevel
from dcemulator.net import DCNetwork
from api.zerorpcapi import ZeroRpcApiEndpoint
+from api.zerorpcapi_DCNetwork import ZeroRpcApiEndpointDCNetwork
logging.basicConfig(level=logging.INFO)
logging.basicConfig(level=logging.INFO)
@@
-30,6
+31,12
@@
def create_topology1():
"""
net = DCNetwork()
"""
net = DCNetwork()
+ """
+ 1b. add a monitoring agent to the DCNetwork
+ """
+ mon_api = ZeroRpcApiEndpointDCNetwork("0.0.0.0", 5151)
+ mon_api.connectDCNetwork(net)
+ mon_api.start()
"""
2. Add (logical) data centers to the topology
(each data center is one "bigswitch" in our simplified
"""
2. Add (logical) data centers to the topology
(each data center is one "bigswitch" in our simplified
@@
-37,8
+44,10
@@
def create_topology1():
"""
dc1 = net.addDatacenter("datacenter1")
dc2 = net.addDatacenter("datacenter2")
"""
dc1 = net.addDatacenter("datacenter1")
dc2 = net.addDatacenter("datacenter2")
- dc3 = net.addDatacenter("a_very_long_data_center_name3")
- dc4 = net.addDatacenter("datacenter4")
+ dc3 = net.addDatacenter("long_data_center_name3")
+ dc4 = net.addDatacenter(
+ "datacenter4",
+ metadata={"mydata": "we can also add arbitrary metadata to each DC"})
"""
3. You can add additional SDN switches for data center
"""
3. You can add additional SDN switches for data center
@@
-71,6
+80,8
@@
def create_topology1():
# connect data centers to this endpoint
zapi1.connectDatacenter(dc1)
zapi1.connectDatacenter(dc2)
# connect data centers to this endpoint
zapi1.connectDatacenter(dc1)
zapi1.connectDatacenter(dc2)
+ zapi1.connectDatacenter(dc3)
+ zapi1.connectDatacenter(dc4)
# run API endpoint server (in another thread, don't block)
zapi1.start()
# run API endpoint server (in another thread, don't block)
zapi1.start()
@@
-98,6
+109,8
@@
def create_topology1():
net.start()
net.CLI()
# when the user types exit in the CLI, we stop the emulator
net.start()
net.CLI()
# when the user types exit in the CLI, we stop the emulator
+ # we need to explicitly stop the monitoring api, so the Ryu controller is also terminated
+ mon_api.stop()
net.stop()
net.stop()