aboutsummaryrefslogtreecommitdiff
path: root/examples/geant.py
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-03-01 11:02:25 +0100
committerDimitri Staessens <dimitri@ouroboros.rocks>2026-03-07 11:29:02 +0100
commit6cbcfb039e608419bd6ced673723918aca6fb278 (patch)
tree172061d95f50cda09c3872d32c5f77e459044cd8 /examples/geant.py
parent4e35c6b445d0cfbad9cf15a48f2d341e29dbd806 (diff)
downloadrumba-6cbcfb039e608419bd6ced673723918aca6fb278.tar.gz
rumba-6cbcfb039e608419bd6ced673723918aca6fb278.zip
rumba: Remove irati/rlite, python2 and qemu support
Remove IRATI and rlite prototype plugins, keeping only Ouroboros. Delete .gitlab-ci.yml (only contained an irati test job and a Sphinx pages job). Clean up all irati/rlite imports and references from examples, documentation, and tools. Qemu was tied heavily with rlite and irati. As it's less useful for ouroboros it's removed rather than reworked. Updated README.md and AUTHORS Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Diffstat (limited to 'examples/geant.py')
-rwxr-xr-xexamples/geant.py233
1 files changed, 113 insertions, 120 deletions
diff --git a/examples/geant.py b/examples/geant.py
index 7fb59ad..720dd9e 100755
--- a/examples/geant.py
+++ b/examples/geant.py
@@ -4,16 +4,10 @@
from rumba.model import *
# import testbed plugins
-import rumba.testbeds.emulab as emulab
import rumba.testbeds.jfed as jfed
-import rumba.testbeds.local as local
-import rumba.testbeds.qemu as qemu
-import rumba.testbeds.dockertb as docker
# import prototype plugins
import rumba.prototypes.ouroboros as our
-import rumba.prototypes.rlite as rl
-import rumba.prototypes.irati as irati
import rumba.log as log
@@ -26,55 +20,55 @@ import time
log.set_logging_level('DEBUG')
-n1 = NormalDIF("n1")
+n1 = UnicastLayer("n1")
n1.add_policy("routing", "lfa")
n1.add_policy("pff", "alternate")
-e1 = ShimEthDIF("e1")
-e2 = ShimEthDIF("e2")
-e3 = ShimEthDIF("e3")
-e4 = ShimEthDIF("e4")
-e5 = ShimEthDIF("e5")
-e6 = ShimEthDIF("e6")
-e7 = ShimEthDIF("e7")
-e8 = ShimEthDIF("e8")
-e9 = ShimEthDIF("e9")
-e10 = ShimEthDIF("e10")
-e11 = ShimEthDIF("e11")
-e12 = ShimEthDIF("e12")
-e13 = ShimEthDIF("e13")
-e14 = ShimEthDIF("e14")
-e15 = ShimEthDIF("e15")
-e16 = ShimEthDIF("e16")
-e17 = ShimEthDIF("e17")
-e18 = ShimEthDIF("e18")
-e19 = ShimEthDIF("e19")
-e20 = ShimEthDIF("e20")
-e21 = ShimEthDIF("e21")
-e22 = ShimEthDIF("e22")
-e23 = ShimEthDIF("e23")
-e24 = ShimEthDIF("e24")
-e25 = ShimEthDIF("e25")
-e26 = ShimEthDIF("e26")
-e27 = ShimEthDIF("e27")
-e28 = ShimEthDIF("e28")
-e29 = ShimEthDIF("e29")
-e30 = ShimEthDIF("e30")
-e31 = ShimEthDIF("e31")
-e32 = ShimEthDIF("e32")
-e33 = ShimEthDIF("e33")
-e34 = ShimEthDIF("e34")
-e35 = ShimEthDIF("e35")
-e36 = ShimEthDIF("e36")
-e37 = ShimEthDIF("e37")
-e38 = ShimEthDIF("e38")
-e39 = ShimEthDIF("e39")
-e40 = ShimEthDIF("e40")
-e41 = ShimEthDIF("e41")
-e42 = ShimEthDIF("e42")
-e43 = ShimEthDIF("e43")
-e44 = ShimEthDIF("e44")
+e1 = EthDixLayer("e1")
+e2 = EthDixLayer("e2")
+e3 = EthDixLayer("e3")
+e4 = EthDixLayer("e4")
+e5 = EthDixLayer("e5")
+e6 = EthDixLayer("e6")
+e7 = EthDixLayer("e7")
+e8 = EthDixLayer("e8")
+e9 = EthDixLayer("e9")
+e10 = EthDixLayer("e10")
+e11 = EthDixLayer("e11")
+e12 = EthDixLayer("e12")
+e13 = EthDixLayer("e13")
+e14 = EthDixLayer("e14")
+e15 = EthDixLayer("e15")
+e16 = EthDixLayer("e16")
+e17 = EthDixLayer("e17")
+e18 = EthDixLayer("e18")
+e19 = EthDixLayer("e19")
+e20 = EthDixLayer("e20")
+e21 = EthDixLayer("e21")
+e22 = EthDixLayer("e22")
+e23 = EthDixLayer("e23")
+e24 = EthDixLayer("e24")
+e25 = EthDixLayer("e25")
+e26 = EthDixLayer("e26")
+e27 = EthDixLayer("e27")
+e28 = EthDixLayer("e28")
+e29 = EthDixLayer("e29")
+e30 = EthDixLayer("e30")
+e31 = EthDixLayer("e31")
+e32 = EthDixLayer("e32")
+e33 = EthDixLayer("e33")
+e34 = EthDixLayer("e34")
+e35 = EthDixLayer("e35")
+e36 = EthDixLayer("e36")
+e37 = EthDixLayer("e37")
+e38 = EthDixLayer("e38")
+e39 = EthDixLayer("e39")
+e40 = EthDixLayer("e40")
+e41 = EthDixLayer("e41")
+e42 = EthDixLayer("e42")
+e43 = EthDixLayer("e43")
+e44 = EthDixLayer("e44")
layers = [e1, e2, e3, e4, e5, e6, e7, e8, e9, e10,
e11, e12, e13, e14, e15, e16, e17, e18, e19, e20,
@@ -83,130 +77,129 @@ layers = [e1, e2, e3, e4, e5, e6, e7, e8, e9, e10,
e41, e42, e43, e44]
lisbon = Node("lisbon",
- difs = [n1, e1, e2],
- dif_registrations = {n1: [e1,e2]})
+ layers = [n1, e1, e2],
+ registrations = {n1: [e1,e2]})
madrid = Node("madrid",
- difs = [n1, e1, e6, e9, e11],
- dif_registrations = {n1 : [e1, e6, e9, e11]})
+ layers = [n1, e1, e6, e9, e11],
+ registrations = {n1 : [e1, e6, e9, e11]})
london = Node("london",
- difs = [n1, e2, e3, e4, e5],
- dif_registrations = {n1 : [e2, e3, e4, e5]})
+ layers = [n1, e2, e3, e4, e5],
+ registrations = {n1 : [e2, e3, e4, e5]})
dublin = Node("dublin",
- difs = [n1, e3],
- dif_registrations = {n1 : [e3]})
+ layers = [n1, e3],
+ registrations = {n1 : [e3]})
paris = Node("paris",
- difs = [n1, e4, e6, e7, e8],
- dif_registrations = {n1 : [e4, e6, e7, e8]})
+ layers = [n1, e4, e6, e7, e8],
+ registrations = {n1 : [e4, e6, e7, e8]})
brussels = Node("brussels",
- difs = [n1, e5, e12],
- dif_registrations = {n1 : [e5, e12]})
+ layers = [n1, e5, e12],
+ registrations = {n1 : [e5, e12]})
luxemburg = Node("luxemburg",
- difs = [n1, e7, e16],
- dif_registrations = {n1 : [e7, e16]})
+ layers = [n1, e7, e16],
+ registrations = {n1 : [e7, e16]})
bern = Node("bern",
- difs = [n1, e8, e9, e10, e15],
- dif_registrations = {n1 : [e8, e9, e10, e15]})
+ layers = [n1, e8, e9, e10, e15],
+ registrations = {n1 : [e8, e9, e10, e15]})
roma = Node("roma",
- difs = [n1, e10, e11, e13, e34, e28],
- dif_registrations = {n1 : [e10, e11, e13, e34, e28]})
+ layers = [n1, e10, e11, e13, e34, e28],
+ registrations = {n1 : [e10, e11, e13, e34, e28]})
amsterdam = Node("amsterdam",
- difs = [n1, e12, e14, e17, e18],
- dif_registrations = {n1 : [e12, e14, e17, e18]})
+ layers = [n1, e12, e14, e17, e18],
+ registrations = {n1 : [e12, e14, e17, e18]})
valleta = Node("valleta",
- difs = [n1, e13, e14],
- dif_registrations = {n1 : [e13, e14]})
+ layers = [n1, e13, e14],
+ registrations = {n1 : [e13, e14]})
berlin = Node("berlin",
- difs = [n1, e15, e16, e17, e30, e31],
- dif_registrations = {n1 : [e15, e16, e17, e30, e31]})
+ layers = [n1, e15, e16, e17, e30, e31],
+ registrations = {n1 : [e15, e16, e17, e30, e31]})
copenhagen = Node("copenhagen",
- difs = [n1, e18, e20, e22, e24, e19],
- dif_registrations = {n1 : [e18, e20, e22, e24, e19]})
+ layers = [n1, e18, e20, e22, e24, e19],
+ registrations = {n1 : [e18, e20, e22, e24, e19]})
oslo = Node("oslo",
- difs = [n1, e20, e21],
- dif_registrations = {n1 : [e20, e21]})
+ layers = [n1, e20, e21],
+ registrations = {n1 : [e20, e21]})
stockholm = Node("stockholm",
- difs = [n1, e21, e22],
- dif_registrations = {n1 : [e21, e22]})
+ layers = [n1, e21, e22],
+ registrations = {n1 : [e21, e22]})
tallin = Node("tallin",
- difs = [n1, e24, e25],
- dif_registrations = {n1 : [e24, e25]})
+ layers = [n1, e24, e25],
+ registrations = {n1 : [e24, e25]})
riga = Node("riga",
- difs = [n1, e25, e26],
- dif_registrations = {n1 : [e25, e26]})
+ layers = [n1, e25, e26],
+ registrations = {n1 : [e25, e26]})
vilnius = Node("vilnius",
- difs = [n1, e26, e27],
- dif_registrations = {n1 : [e26, e27]})
+ layers = [n1, e26, e27],
+ registrations = {n1 : [e26, e27]})
warsaw = Node("warsaw",
- difs = [n1, e27, e29],
- dif_registrations = {n1 : [e27, e29]})
+ layers = [n1, e27, e29],
+ registrations = {n1 : [e27, e29]})
praha = Node("praha",
- difs = [n1, e29, e30, e32],
- dif_registrations = {n1 : [e29, e30, e32]})
+ layers = [n1, e29, e30, e32],
+ registrations = {n1 : [e29, e30, e32]})
viena = Node("viena",
- difs = [n1, e32, e33, e35, e39, e28],
- dif_registrations = {n1 : [e32, e33, e35, e39, e28]})
+ layers = [n1, e32, e33, e35, e39, e28],
+ registrations = {n1 : [e32, e33, e35, e39, e28]})
budapest = Node("budapest",
- difs = [n1, e33, e37, e38, e43],
- dif_registrations = {n1 : [e33, e37, e38, e43]})
+ layers = [n1, e33, e37, e38, e43],
+ registrations = {n1 : [e33, e37, e38, e43]})
athens = Node("athens",
- difs = [n1, e39, e40, e44],
- dif_registrations = {n1 : [e39, e40, e44]})
+ layers = [n1, e39, e40, e44],
+ registrations = {n1 : [e39, e40, e44]})
ljubljana = Node("ljubljana",
- difs = [n1, e35, e36],
- dif_registrations = {n1 : [e35, e36]})
+ layers = [n1, e35, e36],
+ registrations = {n1 : [e35, e36]})
zagreb = Node("zagreb",
- difs = [n1, e36, e37],
- dif_registrations = {n1 : [e36, e37]})
+ layers = [n1, e36, e37],
+ registrations = {n1 : [e36, e37]})
sofia = Node("sofia",
- difs = [n1, e38, e40, e42, e23],
- dif_registrations = {n1 : [e38, e40, e42, e23]})
+ layers = [n1, e38, e40, e42, e23],
+ registrations = {n1 : [e38, e40, e42, e23]})
bucharest = Node("bucharest",
- difs = [n1, e42, e43, e41],
- dif_registrations = {n1 : [e42, e43, e41]})
+ layers = [n1, e42, e43, e41],
+ registrations = {n1 : [e42, e43, e41]})
nicosia = Node("nicosia",
- difs = [n1, e44, e34],
- dif_registrations = {n1 : [e44, e34]})
+ layers = [n1, e44, e34],
+ registrations = {n1 : [e44, e34]})
ankara = Node("ankara",
- difs = [n1, e23, e41],
- dif_registrations = {n1 : [e23, e41]})
+ layers = [n1, e23, e41],
+ registrations = {n1 : [e23, e41]})
moscow = Node("moscow",
- difs = [n1, e31, e19],
- dif_registrations = {n1 : [e31, e19]})
+ layers = [n1, e31, e19],
+ registrations = {n1 : [e31, e19]})
tb = jfed.Testbed(exp_name = 'geant8',
- cert_file = '/home/sander/cert.pem',
+ cert_file = '/path/to/cert.pem',
authority = 'wall1.ilabt.iminds.be',
-# authority = 'exogeni.net:umassvmsite',
- username = 'sander',
+ username = 'username',
exp_hours = '200')
nodes = [lisbon, madrid, london, paris, dublin,
@@ -217,7 +210,7 @@ nodes = [lisbon, madrid, london, paris, dublin,
bucharest, nicosia, ankara, moscow]
exp = our.Experiment(tb, nodes=nodes,
- git_repo='https://bitbucket.org/sandervrijders/ouroboros.git',
+ git_repo='https://codeberg.org/o7s/ouroboros',
git_branch='rand3')
@@ -241,7 +234,7 @@ with ExperimentManager(exp, swap_out_strategy=AUTO_SWAPOUT):
arrival_rate=0.01,
mean_duration=duration,
s_id='oping_' + node.name,
- difs=n1
+ layers=n1
)
sb.add_server_on_node(s, node)
@@ -294,9 +287,9 @@ with ExperimentManager(exp, swap_out_strategy=AUTO_SWAPOUT):
prefix = layer.name + '_' + str(i)
sb.schedule_export_lsdb_total(390, prefix + '_lsdb.csv', n1)
- sb.schedule_export_dif_bandwidth(410, prefix + '_1.csv', n1)
- sb.schedule_export_dif_bandwidth(510, prefix + '_2.csv', n1)
- sb.schedule_export_dif_bandwidth(610, prefix + '_3.csv', n1)
- sb.schedule_export_dif_bandwidth(710, prefix + '_4.csv', n1)
+ sb.schedule_export_layer_bandwidth(410, prefix + '_1.csv', n1)
+ sb.schedule_export_layer_bandwidth(510, prefix + '_2.csv', n1)
+ sb.schedule_export_layer_bandwidth(610, prefix + '_3.csv', n1)
+ sb.schedule_export_layer_bandwidth(710, prefix + '_4.csv', n1)
sb.start()