diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/conf-examples/dc-vpns.conf | 114 | ||||
| -rw-r--r-- | tools/conf-examples/geant2-renumber.conf | 86 | ||||
| -rw-r--r-- | tools/conf-examples/insane-stacking.conf | 29 | ||||
| -rw-r--r-- | tools/conf-examples/isp-sec.conf | 189 | ||||
| -rw-r--r-- | tools/conf-examples/resilient-square.conf | 16 | ||||
| -rw-r--r-- | tools/conf-examples/secure-two-layers.conf | 25 | ||||
| -rw-r--r-- | tools/conf-examples/seven.conf | 34 | ||||
| -rw-r--r-- | tools/conf-examples/star.conf | 7 | ||||
| -rw-r--r-- | tools/conf-examples/triangle.conf | 9 | ||||
| -rw-r--r-- | tools/conf-examples/tutorial1.conf | 4 | ||||
| -rw-r--r-- | tools/conf-examples/tutorial2.conf | 6 | ||||
| -rw-r--r-- | tools/conf-examples/two-layers.conf | 17 | ||||
| -rwxr-xr-x | tools/democonf2rumba.py | 292 | ||||
| -rw-r--r-- | tools/scriptgenerator.py | 14 |
14 files changed, 7 insertions, 835 deletions
diff --git a/tools/conf-examples/dc-vpns.conf b/tools/conf-examples/dc-vpns.conf deleted file mode 100644 index 8bfde51..0000000 --- a/tools/conf-examples/dc-vpns.conf +++ /dev/null @@ -1,114 +0,0 @@ -eth 110 100Mbps tor1 spine1 -eth 120 100Mbps tor1 spine2 -eth 11 25Mbps s11 tor1 -eth 12 25Mbps s12 tor1 -eth 13 25Mbps s13 tor1 -eth 14 25Mbps s14 tor1 -eth 15 25Mbps s15 tor1 -eth 16 25Mbps s16 tor1 -eth 17 25Mbps s17 tor1 -eth 18 25Mbps s18 tor1 -eth 210 100Mbps tor2 spine1 -eth 220 100Mbps tor2 spine2 -eth 21 25Mbps s21 tor2 -eth 22 25Mbps s22 tor2 -eth 23 25Mbps s23 tor2 -eth 24 25Mbps s24 tor2 -eth 25 25Mbps s25 tor2 -eth 26 25Mbps s26 tor2 -eth 27 25Mbps s27 tor2 -eth 28 25Mbps s28 tor2 -eth 310 100Mbps tor3 spine1 -eth 320 100Mbps tor3 spine2 -eth 31 25Mbps s31 tor3 -eth 32 25Mbps s32 tor3 -eth 33 25Mbps s33 tor3 -eth 34 25Mbps s34 tor3 -eth 35 25Mbps s35 tor3 -eth 36 25Mbps s36 tor3 -eth 37 25Mbps s37 tor3 -eth 38 25Mbps s38 tor3 -eth 410 100Mbps tor4 spine1 -eth 420 100Mbps tor4 spine2 -eth 41 25Mbps s41 tor4 -eth 42 25Mbps s42 tor4 -eth 43 25Mbps s43 tor4 -eth 44 25Mbps s44 tor4 -eth 45 25Mbps s45 tor4 -eth 46 25Mbps s46 tor4 -eth 47 25Mbps s47 tor4 -eth 48 25Mbps s48 tor4 - -# DIF dcfabric -dif dcfabric tor1 110 120 -dif dcfabric tor2 210 220 -dif dcfabric tor3 310 320 -dif dcfabric tor4 410 420 -dif dcfabric spine1 110 210 310 410 -dif dcfabric spine2 120 220 320 420 - -# DIF VPN1 -dif vpn1 s11 11 -dif vpn1 s12 12 -dif vpn1 s13 13 -dif vpn1 s14 14 -dif vpn1 tor1 11 12 13 14 dcfabric -dif vpn1 s21 21 -dif vpn1 s22 22 -dif vpn1 s23 23 -dif vpn1 s24 24 -dif vpn1 tor2 21 22 23 24 dcfabric - -# DIF VPN2 -dif vpn2 s31 31 -dif vpn2 s32 32 -dif vpn2 s33 33 -dif vpn2 s34 34 -dif vpn2 tor3 31 32 33 34 dcfabric -dif vpn2 s41 41 -dif vpn2 s42 42 -dif vpn2 s43 43 -dif vpn2 s44 44 -dif vpn2 tor4 41 42 43 44 dcfabric - -# DIF VPN3 -dif vpn3 s15 15 -dif vpn3 s16 16 -dif vpn3 s17 17 -dif vpn3 s18 18 -dif vpn3 tor1 15 16 17 18 dcfabric -dif vpn3 s25 25 -dif vpn3 s26 26 -dif vpn3 s27 27 -dif vpn3 s28 28 -dif vpn3 tor2 25 26 27 28 dcfabric - -# DIF VPN4 -dif vpn4 s35 35 -dif vpn4 s36 36 -dif vpn4 s37 37 -dif vpn4 s38 38 -dif vpn4 tor3 35 36 37 38 dcfabric -dif vpn4 s45 45 -dif vpn4 s46 46 -dif vpn4 s47 47 -dif vpn4 s48 48 -dif vpn4 tor4 45 46 47 48 dcfabric - -#Policies - -#Multipath FABRIC -#policy dcfabric spine1,spine2 rmt.pff multipath -#policy dcfabric spine1,spine2 routing link-state routingAlgorithm=ECMPDijkstra -#policy dcfabric * rmt cas-ps q_max=1000 -#policy dcfabric * efcp.*.dtcp cas-ps - -#Application to DIF mappings -#appmap vpn1 traffic.generator.server 1 -#appmap vpn1 rina.apps.echotime.server 1 -#appmap vpn2 traffic.generator.server 1 -#appmap vpn2 rina.apps.echotime.server 1 -#appmap vpn3 traffic.generator.server 1 -#appmap vpn3 rina.apps.echotime.server 1 -#appmap vpn4 traffic.generator.server 1 -#appmap vpn4 rina.apps.echotime.server 1 diff --git a/tools/conf-examples/geant2-renumber.conf b/tools/conf-examples/geant2-renumber.conf deleted file mode 100644 index 07c014c..0000000 --- a/tools/conf-examples/geant2-renumber.conf +++ /dev/null @@ -1,86 +0,0 @@ -eth 2000 100Mbps lisbon madrid -eth 2001 100Mbps lisbon london -eth 2002 100Mbps london dublin -eth 2003 100Mbps london paris -eth 2004 100Mbps london brussels -eth 2005 100Mbps paris madrid -eth 2006 100Mbps paris luxemburg -eth 2007 100Mbps paris bern -eth 2008 100Mbps madrid bern -eth 2009 100Mbps bern roma -eth 2010 100Mbps roma madrid -eth 2011 100Mbps brussels amsterdam -eth 2012 100Mbps roma valleta -eth 2013 100Mbps amsterdam valleta -eth 2014 100Mbps bern berlin -eth 2015 100Mbps luxemburg berlin -eth 2016 100Mbps amsterdam berlin -eth 2017 100Mbps amsterdam copenhagen -eth 2018 100Mbps berlin copenhagen -eth 2019 100Mbps copenhagen oslo -eth 2020 100Mbps oslo stockholm -eth 2021 100Mbps stockholm copenhagen -eth 2023 100Mbps copenhagen tallin -eth 2024 100Mbps tallin riga -eth 2025 100Mbps riga vilnius -eth 2026 100Mbps vilnius warsaw -eth 2027 100Mbps warsaw berlin -eth 2028 100Mbps warsaw praha -eth 2029 100Mbps berlin praha -eth 2030 100Mbps berlin viena -eth 2031 100Mbps praha viena -eth 2032 100Mbps viena budapest -eth 2034 100Mbps viena ljubljana -eth 2035 100Mbps ljubljana zagreb -eth 2036 100Mbps zagreb budapest -eth 2037 100Mbps budapest sofia -eth 2038 100Mbps viena athens -eth 2039 100Mbps sofia athens -eth 2040 100Mbps athens roma -eth 2041 100Mbps sofia bucharest -eth 2042 100Mbps bucharest budapest -eth 2043 100Mbps athens nicosia -eth 2044 100Mbps roma nicosia -eth 2045 100Mbps sofia ankara -eth 2046 100Mbps bucharest ankara -eth 2047 100Mbps berlin moscow -eth 2048 100Mbps copenhagen moscow -eth 2049 100Mbps roma viena - -# DIF renumber -dif renumber lisbon 2000 2001 -dif renumber madrid 2000 2005 -dif renumber london 2001 2002 2003 2004 -dif renumber dublin 2002 -dif renumber paris 2003 2005 2006 2007 -dif renumber brussels 2004 2011 -dif renumber luxemburg 2006 2015 -dif renumber bern 2007 2008 2009 2014 -dif renumber roma 2009 2010 2012 2040 2044 2049 -dif renumber amsterdam 2011 2013 2016 2017 -dif renumber valleta 2012 2013 -dif renumber berlin 2014 2015 2016 2018 2027 2029 2030 2047 -dif renumber copenhagen 2017 2018 2019 2021 2023 2048 -dif renumber oslo 2019 2020 -dif renumber stockholm 2020 2021 -dif renumber tallin 2023 2024 -dif renumber riga 2024 2025 -dif renumber vilnius 2025 2026 -dif renumber warsaw 2026 2027 2028 -dif renumber praha 2028 2029 2031 -dif renumber viena 2030 2031 2032 2034 2038 -dif renumber budapest 2032 2036 2037 2042 -dif renumber athens 2038 2039 2040 2043 -dif renumber ljubljana 2034 2035 -dif renumber zagreb 2035 2036 -dif renumber sofia 2037 2039 2041 2045 -dif renumber bucharest 2041 2042 2046 -dif renumber nicosia 2043 2044 -dif renumber ankara 2045 2046 -dif renumber moscow 2047 2048 - -#Policies - -#address-change -policy renumber * namespace-manager address-change useNewTimeout=20001 deprecateOldTimeout=80001 changePeriod=120001 addressRange=100 -policy renumber * routing link-state objectMaximumAge=10000 waitUntilReadCDAP=5001 waitUntilError=5001 waitUntilPDUFTComputation=103 waitUntilFSODBPropagation=101 waitUntilAgeIncrement=997 waitUntilDeprecateAddress=20001 routingAlgorithm=Dijkstra diff --git a/tools/conf-examples/insane-stacking.conf b/tools/conf-examples/insane-stacking.conf deleted file mode 100644 index 8032fea..0000000 --- a/tools/conf-examples/insane-stacking.conf +++ /dev/null @@ -1,29 +0,0 @@ -eth 300 0Mbps a b - -# DIF n1 lays over shim DIF 300 -dif n1 a 300 -dif n1 b 300 - -# n2 lays over n1 -dif n2 a n1 -dif n2 b n1 - -# n3 lays over n2 -dif n3 a n2 -dif n3 b n2 - -# n4 lays over n3 -dif n4 a n3 -dif n4 b n3 - -# n5 lays over n4 -dif n5 a n4 -dif n5 b n4 - -# n6 lays over n5 -dif n6 a n5 -dif n6 b n5 - -# n7 lays over n6 -dif n7 a n6 -dif n7 b n6 diff --git a/tools/conf-examples/isp-sec.conf b/tools/conf-examples/isp-sec.conf deleted file mode 100644 index 33a35a6..0000000 --- a/tools/conf-examples/isp-sec.conf +++ /dev/null @@ -1,189 +0,0 @@ -eth 110 0Mbps cpe11 ar1 -eth 120 0Mbps cpe12 ar1 -eth 130 0Mbps cpe13 ar1 -eth 210 0Mbps cpe21 ar2 -eth 220 0Mbps cpe22 ar2 -eth 230 0Mbps cpe23 ar2 -eth 310 0Mbps cpe31 ar3 -eth 320 0Mbps cpe32 ar3 -eth 330 0Mbps cpe33 ar3 -eth 100 0Mbps ar1 manpe1 -eth 200 0Mbps ar2 manpe1 -eth 300 0Mbps ar3 manpe2 -eth 410 0Mbps manpe1 manpe2 -eth 411 0Mbps manpe1 manpe3 -eth 412 0Mbps manpe1 manpe4 -eth 420 0Mbps manpe2 manpe3 -eth 421 0Mbps manpe2 manpe4 -eth 430 0Mbps manpe3 manpe4 -eth 510 0Mbps manpe3 ser1 -eth 520 0Mbps manpe4 ser2 -eth 600 0Mbps ser1 core1 -eth 610 0Mbps ser1 core2 -eth 620 0Mbps ser2 core1 -eth 630 0Mbps ser2 core2 -eth 700 0Mbps core1 core2 -eth 710 0Mbps core1 core3 -eth 720 0Mbps core2 core4 -eth 730 0Mbps core3 core4 -eth 640 0Mbps core3 edge1 -eth 650 0Mbps core4 edge1 -eth 660 0Mbps core3 edge2 -eth 670 0Mbps core4 edge2 -eth 800 0Mbps edge1 isp2 -eth 810 0Mbps edge1 isp3 -eth 820 0Mbps edge2 isp4 -eth 830 0Mbps edge2 isp5 - -# DIF core -dif core ser1 600 610 -dif core ser2 620 630 -dif core core1 600 620 700 710 -dif core core2 610 630 700 720 -dif core core3 640 660 710 730 -dif core core4 650 670 720 730 -dif core edge1 640 650 -dif core edge2 660 670 - -# DIF access -dif access ar1 100 -dif access ar2 200 -dif access ar3 300 -dif access manpe1 100 200 410 411 412 -dif access manpe2 300 410 420 421 -dif access manpe3 411 420 430 510 -dif access manpe4 412 421 430 520 -dif access ser1 510 -dif access ser2 520 - -# DIF service -dif service ar1 access -dif service ar2 access -dif service ar3 access -dif service ser1 access core -dif service ser2 access core -dif service edge1 core -dif service edge2 core - -# DIF emall1 -dif emall1 cpe11 110 -dif emall1 cpe12 120 -dif emall1 cpe21 210 -dif emall1 cpe22 220 -dif emall1 cpe31 310 -dif emall1 ar1 110 120 service -dif emall1 ar2 210 220 service -dif emall1 ar3 310 service -dif emall1 edge1 service 800 -dif emall1 edge2 service 820 -dif emall1 isp2 800 -dif emall1 isp4 820 - -# DIF emall2 -dif emall2 cpe13 130 -dif emall2 cpe23 230 -dif emall2 cpe32 320 -dif emall2 cpe33 330 -dif emall2 ar1 130 service -dif emall2 ar2 230 service -dif emall2 ar3 320 330 service -dif emall2 edge1 service 810 -dif emall2 edge2 service 830 -dif emall2 isp3 810 -dif emall2 isp5 830 - -#policies -policy emall1 * security-manager.auth.default PSOC_authentication-ssh2 keyExchangeAlg=EDH keystore=/creds/ssh2 keystorePass=test -policy emall1 * security-manager.encrypt.default default encryptAlg=AES128 macAlg=SHA256 compressAlg=deflate -policy emall1 ar1,ar2,ar3,edge1,edge2 security-manager.auth.service PSOC_authentication-none -policy emall2 * security-manager.auth.default PSOC_authentication-ssh2 keyExchangeAlg=EDH keystore=/creds/ssh2 keystorePass=test -policy emall2 * security-manager.encrypt.default default encryptAlg=AES128 macAlg=SHA256 compressAlg=deflate -policy emall2 ar1,ar2,ar3,edge1,edge2 security-manager.auth.service PSOC_authentication-none - -#Enrollments -enroll access ar1 manpe1 100 -enroll access ar2 manpe1 200 -enroll access ar3 manpe2 300 -enroll access ser1 manpe3 510 -enroll access ser2 manpe4 520 -enroll access manpe1 manpe2 410 -enroll access manpe1 manpe3 411 -enroll access manpe1 manpe4 412 -enroll access manpe2 manpe3 420 -enroll access manpe2 manpe4 421 -enroll access manpe3 manpe4 430 - -enroll core core1 core2 700 -enroll core core1 core3 710 -enroll core core2 core4 720 -enroll core core3 core4 730 -enroll core ser1 core1 600 -enroll core ser1 core2 610 -enroll core ser2 core1 620 -enroll core ser2 core2 630 -enroll core edge1 core3 640 -enroll core edge1 core4 650 -enroll core edge2 core3 660 -enroll core edge2 core4 670 - -enroll service edge1 edge2 core -enroll service edge1 ser1 core -enroll service edge1 ser2 core -enroll service edge2 ser1 core -enroll service edge2 ser2 core -enroll service ser1 ser2 core -enroll service ar1 ser1 access -enroll service ar1 ser2 access -enroll service ar2 ser1 access -enroll service ar2 ser2 access -enroll service ar3 ser1 access -enroll service ar3 ser2 access - -enroll emall1 cpe11 ar1 110 -enroll emall1 cpe12 ar1 120 -enroll emall1 cpe21 ar2 210 -enroll emall1 cpe22 ar2 220 -enroll emall1 cpe31 ar3 310 -enroll emall1 ar1 edge1 service -enroll emall1 ar1 edge2 service -enroll emall1 ar2 edge1 service -enroll emall1 ar2 edge2 service -enroll emall1 ar3 edge1 service -enroll emall1 ar3 edge2 service -enroll emall1 edge1 edge2 service -enroll emall1 isp2 edge1 800 -enroll emall1 isp4 edge2 820 - -enroll emall2 cpe13 ar1 130 -enroll emall2 cpe23 ar2 230 -enroll emall2 cpe32 ar3 320 -enroll emall2 cpe33 ar3 330 -enroll emall2 ar1 edge1 service -enroll emall2 ar1 edge2 service -enroll emall2 ar2 edge1 service -enroll emall2 ar2 edge2 service -enroll emall2 ar3 edge1 service -enroll emall2 ar3 edge2 service -enroll emall2 edge1 edge2 service -enroll emall2 isp3 edge1 810 -enroll emall2 isp5 edge2 830 - -#Overlays -overlay ar1 overlays/ispsec/ar1 -overlay ar2 overlays/ispsec/ar2 -overlay ar3 overlays/ispsec/ar3 -overlay cpe11 overlays/ispsec/cpe11 -overlay cpe12 overlays/ispsec/cpe12 -overlay cpe13 overlays/ispsec/cpe13 -overlay cpe21 overlays/ispsec/cpe21 -overlay cpe22 overlays/ispsec/cpe22 -overlay cpe23 overlays/ispsec/cpe23 -overlay cpe31 overlays/ispsec/cpe31 -overlay cpe32 overlays/ispsec/cpe32 -overlay cpe33 overlays/ispsec/cpe33 -overlay edge1 overlays/ispsec/edge1 -overlay edge2 overlays/ispsec/edge2 -overlay isp2 overlays/ispsec/isp2 -overlay isp3 overlays/ispsec/isp3 -overlay isp4 overlays/ispsec/isp4 -overlay isp5 overlays/ispsec/isp5 diff --git a/tools/conf-examples/resilient-square.conf b/tools/conf-examples/resilient-square.conf deleted file mode 100644 index 592b6a5..0000000 --- a/tools/conf-examples/resilient-square.conf +++ /dev/null @@ -1,16 +0,0 @@ -# a, b and c and d are connected through p2p shim DIFs, in circle. -# Between a and c there is an additional diagonal link. -eth 300 100Mbps a b -eth 400 100Mbps b c -eth 500 100Mbps c d -eth 600 1Mbps d a -eth 700 100Mbps a c - -# DIF n1 spans over the p2p shim DIFs -dif n1 a 300 600 700 -dif n1 b 300 400 -dif n1 c 400 500 700 -dif n1 d 500 600 - -# Use LFA policy as PDU Forwarding Function -policy n1 * rmt.pff lfa diff --git a/tools/conf-examples/secure-two-layers.conf b/tools/conf-examples/secure-two-layers.conf deleted file mode 100644 index 54c1da6..0000000 --- a/tools/conf-examples/secure-two-layers.conf +++ /dev/null @@ -1,25 +0,0 @@ -eth 300 0Mbps a b -eth 400 0Mbps b c -eth 500 0Mbps c d - -# DIF n1 spans a,b and c and runs over the shims -dif n1 a 300 -dif n1 b 300 400 -dif n1 c 400 - -# DIF n2 spans c and d and runs over the shims -dif n2 c 500 -dif n2 d 500 - -# DIF n3 spans over n1 and n2 -dif n3 a n1 -dif n3 c n1 n2 -dif n3 d n2 - -policy n3 * security-manager.auth.default PSOC_authentication-ssh2 keyExchangeAlg=EDH keystore=/creds keystorePass=test -policy n3 * security-manager.encrypt.default default encryptAlg=AES128 macAlg=SHA256 compressAlg=deflate -policy n3 * security-manager.ttl.default default initialValue=50 -policy n3 * security-manager.errorcheck.default CRC32 -policy n3 * security-manager.auth.n1 PSOC_authentication-password password=kf05j.a1234.af0k -policy n3 * security-manager.ttl.n1 default initialValue=50 -policy n3 * security-manager.errorcheck.n1 CRC32 diff --git a/tools/conf-examples/seven.conf b/tools/conf-examples/seven.conf deleted file mode 100644 index b25f476..0000000 --- a/tools/conf-examples/seven.conf +++ /dev/null @@ -1,34 +0,0 @@ -# This configuration realizes the following seven-nodes topology -# -# MA ---- MB ---- MC --- MD --- ME -# | | -# MF MG -# - -# 300 is a shim-eth-vlan DIF, with nodes a and b -eth 300 0Mbps a b - -# 400 is a shim-eth-vlan DIF, with nodes b and c -eth 400 0Mbps b c - -# 500 is a shim-eth-vlan DIF, with nodes c and f -eth 500 0Mbps c f - -# 600 is a shim-eth-vlan DIF, with nodes c and d -eth 600 0Mbps c d - -# 700 is a shim-eth-vlan DIF, with nodes d and e -eth 700 0Mbps d e - -# 800 is a shim-eth-vlan DIF, with nodes e and g -eth 800 0Mbps e g - -# DIF n1 spans over the two shim DIFs -dif n1 a 300 -dif n1 b 300 400 -dif n1 c 400 500 600 -dif n1 d 600 700 -dif n1 e 700 800 -dif n1 f 500 -dif n1 g 800 - diff --git a/tools/conf-examples/star.conf b/tools/conf-examples/star.conf deleted file mode 100644 index 8a4f6ab..0000000 --- a/tools/conf-examples/star.conf +++ /dev/null @@ -1,7 +0,0 @@ -# a,b and c are in the same L2 domain -eth 300 0Mbps a b c - -# DIF n1 spans over the shim DIF -dif n1 a 300 -dif n1 b 300 -dif n1 c 300 diff --git a/tools/conf-examples/triangle.conf b/tools/conf-examples/triangle.conf deleted file mode 100644 index f89811c..0000000 --- a/tools/conf-examples/triangle.conf +++ /dev/null @@ -1,9 +0,0 @@ -# a, b and c are connected through p2p shim DIFs -eth 300 10Mbps a b -eth 400 20Mbps b c -eth 500 30Mbps a c - -# DIF n1 spans over the p2p shim DIFs -dif n1 a 300 500 -dif n1 b 300 400 -dif n1 c 400 500 diff --git a/tools/conf-examples/tutorial1.conf b/tools/conf-examples/tutorial1.conf deleted file mode 100644 index 8023687..0000000 --- a/tools/conf-examples/tutorial1.conf +++ /dev/null @@ -1,4 +0,0 @@ -eth 100 0Mbps system1 system2 - -dif Normal system1 100 -dif Normal system2 100 diff --git a/tools/conf-examples/tutorial2.conf b/tools/conf-examples/tutorial2.conf deleted file mode 100644 index b43fc17..0000000 --- a/tools/conf-examples/tutorial2.conf +++ /dev/null @@ -1,6 +0,0 @@ -eth 100 0Mbps system1 system2 -eth 101 0Mbps system2 system3 - -dif Normal system1 100 -dif Normal system2 100 101 -dif Normal system3 101 diff --git a/tools/conf-examples/two-layers.conf b/tools/conf-examples/two-layers.conf deleted file mode 100644 index dc1bab2..0000000 --- a/tools/conf-examples/two-layers.conf +++ /dev/null @@ -1,17 +0,0 @@ -eth 300 0Mbps a b -eth 400 0Mbps b c -eth 500 0Mbps c d - -# DIF n1 spans a,b and c and runs over the shims -dif n1 a 300 -dif n1 b 300 400 -dif n1 c 400 - -# DIF n2 spans c and d and runs over the shims -dif n2 c 500 -dif n2 d 500 - -# DIF n3 spans over n1 and n2 -dif n3 a n1 -dif n3 c n1 n2 -dif n3 d n2 diff --git a/tools/democonf2rumba.py b/tools/democonf2rumba.py deleted file mode 100755 index 795cf22..0000000 --- a/tools/democonf2rumba.py +++ /dev/null @@ -1,292 +0,0 @@ -#!/usr/bin/env python - -import argparse -import re - -import rumba.model as mod -import rumba.log as log - - -def make_experiment(filename, experiment_class, experiment_kwargs, - testbed_class, testbed_kwargs, verbosity): - """ - :type filename str - :param filename: path to the .conf file - :param experiment_class: subclass of mod.Experiment - :param experiment_kwargs: args dict for experiment constructor - (nodes will be overwritten) - :param testbed_class: subclass of mod.Testbed - :param testbed_kwargs: args dict for experiment constructor - (nodes will be overwritten) - """ - shims = {} - nodes = {} - difs = {} - - print('Reading file %s.' % (filename,)) - print('+++++++++++++++++++') - print() - - with open(filename, 'r') as conf: - - line_cnt = 0 - - while 1: - line = conf.readline() - if line == '': - break - line_cnt += 1 - - line = line.replace('\n', '').strip() - - if line.startswith('#') or line == "": - continue - - m = re.match(r'\s*eth\s+([\w-]+)\s+(\d+)([GMK])bps\s+(\w.*)$', line) - if m: - shim = m.group(1) - speed = int(m.group(2)) - speed_unit = m.group(3).lower() - vm_list = m.group(4).split() - - if shim in shims or shim in difs: - print('Error: Line %d: shim %s already defined' - % (line_cnt, shim)) - continue - - if speed_unit == 'K': - speed = speed // 1000 - if speed_unit == 'G': - speed = speed * 1000 - - shims[shim] = {'name': shim, - 'speed': speed, - 'type': 'eth'} - - for vm in vm_list: - nodes.setdefault(vm, {'name': vm, 'difs': [], - 'dif_registrations': {}, - 'registrations': {}}) - nodes[vm]['difs'].append(shim) - continue - - m = re.match(r'\s*dif\s+([\w-]+)\s+([\w-]+)\s+(\w.*)$', line) - if m: - dif = m.group(1) - vm = m.group(2) - dif_list = m.group(3).split() - - if dif in shims: - print('Error: Line %d: dif %s already defined as shim' - % (line_cnt, dif)) - continue - - difs.setdefault(dif, { - 'name': dif}) # Other dict contents might be policies. - - if vm in nodes and dif in nodes[vm]['dif_registrations']: - print('Error: Line %d: vm %s in dif %s already specified' - % (line_cnt, vm, dif)) - continue - - nodes.setdefault(vm, {'name': vm, 'difs': [], - 'dif_registrations': {}, - 'registrations': {}}) - nodes[vm]['difs'].append(dif) - nodes[vm]['dif_registrations'][dif] = dif_list - # It is not defined yet, per check above. - - continue - - # No match, spit a warning - print('Warning: Line %d unrecognized and ignored' % line_cnt) - - # File parsed - - parsed_difs = {} - - for shim_name, shim in shims.items(): - parsed_difs[shim_name] = (mod.ShimEthDIF( - shim_name, - link_quality=mod.LinkQuality(rate=shim['speed'])) - ) - - for dif_name, dif in difs.items(): - parsed_difs[dif_name] = (mod.NormalDIF(dif_name)) - - parsed_nodes = [] - for node, node_data in nodes.items(): - name = node_data['name'] - difs = [parsed_difs[x] for x in node_data['difs']] - dif_registrations = {parsed_difs[x]: [parsed_difs[y] for y in l] - for x, l in node_data['dif_registrations'] - .items()} - parsed_nodes.append(mod.Node(name, difs, dif_registrations)) - - log.set_logging_level(verbosity) - print() - print('++++++++++++++++++++') - print('Calling constructor of testbed %s with args %s.' - % (testbed_class, testbed_kwargs)) - print('++++++++++++++++++++') - print() - - testbed = testbed_class(**testbed_kwargs) - - experiment_kwargs['testbed'] = testbed - experiment_kwargs['nodes'] = parsed_nodes - - exp = experiment_class(**experiment_kwargs) - try: - exp.swap_in() - exp.bootstrap_prototype() - input("Press ENTER to quit") - finally: - exp.swap_out() - - -def setup_testbed_common_args(t_p): - - t_p.add_argument('-E', '--exp_name', metavar='EXP_NAME', type=str, - required=True, - help='Experiment name') - t_p.add_argument('-U', '--username', metavar='USERNAME', type=str, - required=True, - help='Testbed user name') - t_p.add_argument('-P', '--proj_name', metavar='PROJECT_NAME', type=str, - help='Project name') - t_p.add_argument('-W', '--password', metavar='PASSWORD', type=str, - help='Testbed password') - - -if __name__ == '__main__': - description = "Demonstrator config file to rumba script converter" - epilog = "2017 Marco Capitani <m.capitani@nextworks.it>" - - parser = argparse.ArgumentParser(description=description, - epilog=epilog) - - parser.add_argument('-P', '--prototype', type=str, required=True, - choices=['irati', 'ouroboros', 'rlite'], - help='The kind of prototype plugin to use to run' - ' the experiment.') - - parser.add_argument('-C', '--conf', metavar='CONFIG', type=str, - required=True, - help='Path to the config file to parse') - - parser.add_argument( - '--verbosity', metavar='VERBOSITY', type=str, - default='INFO', - choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], - help='Rumba output verbosity') - - subparsers = parser.add_subparsers(dest='testbed') - emulab_p = subparsers.add_parser('emulab', help='Use emulab testbed') - jfed_p = subparsers.add_parser('jfed', help='Use jfed testbed') - qemu_p = subparsers.add_parser('qemu', help='Use qemu testbed') - fake_p = subparsers.add_parser('fake', help='Use fake testbed') - - for t in [emulab_p, jfed_p, qemu_p, fake_p]: - setup_testbed_common_args(t) - - qemu_p.add_argument('-B', '--bzimage-path', metavar='BZIMAGE', type=str, - required=True, - help='path to the bzImage file to use') - qemu_p.add_argument('-I', '--initramfs-path', metavar='INITRAMFS', type=str, - required=True, - help='path to the initramfs file to use') - qemu_p.add_argument('-V', '--use_vhost', action='store_true', - default=False, help='Use vhost') - qemu_p.add_argument('-Q', '--qemu_logs_dir', metavar='QEMU_LOGS', type=str, - default=None, help='path to the folder for qemu logs') - qemu_p.add_argument('--public-key-path', metavar='PATH', type=str, - default=None, help='path to the user ssh public key.') - - emulab_p.add_argument('-R', '--url', metavar='URL', type=str, - default="wall2.ilabt.iminds.be", - help='Url') - emulab_p.add_argument('-I', '--image', metavar='IMG', type=str, - default="UBUNTU14-64-STD", - help='Ubuntu image') - - jfed_p.add_argument('-C', '--cert_file', metavar='CERT', type=str, - required=True, - help='Certificate file') - jfed_p.add_argument('-H', '--exp_hours', metavar='HOURS', type=str, - default="2", help='Experiment hours') - jfed_p.add_argument('-A', '--authority', metavar='AUTH', type=str, - default="wall2.ilabt.iminds.be", - help='Authority') - jfed_p.add_argument('-I', '--image', metavar='IMAGE', type=str, - default=None, - help='Image to be used') - jfed_p.add_argument('--image-custom', metavar='I_CUSTOM', type=bool, - default=False, - help='Is the image a custom one?') - jfed_p.add_argument('--image-owner', metavar='I_OWNER', type=str, - default=None, - help='Creator of the image') - jfed_p.add_argument('--use-physical-machines', metavar='USE_PM', type=bool, - default=None, - help='Try to allocate physical machines if True') - - args = parser.parse_args() - - if args.testbed == 'emulab': - import rumba.testbeds.emulab as emulab - test_class = emulab.Testbed - testbed_args = {a.dest: getattr(args, a.dest) - for a in emulab_p._actions - if a.dest != 'help' - and getattr(args, a.dest) is not None} - elif args.testbed == 'jfed': - import rumba.testbeds.jfed as jfed - test_class = jfed.Testbed - testbed_args = {a.dest: getattr(args, a.dest) - for a in jfed_p._actions - if a.dest != 'help' - and getattr(args, a.dest) is not None} - elif args.testbed == 'qemu': - import rumba.testbeds.qemu as qemu - test_class = qemu.Testbed - testbed_args = {a.dest: getattr(args, a.dest) - for a in qemu_p._actions - if a.dest != 'help' - and getattr(args, a.dest) is not None} - elif args.testbed == 'local': - import rumba.testbeds.local as local - test_class = local.Testbed - testbed_args = {a.dest: getattr(args, a.dest) - for a in fake_p._actions - if a.dest != 'help' - and getattr(args, a.dest) is not None} - else: - if args.testbed is None: - print('Testbed type must be specified!') - print(parser.format_help()) - exit(1) - raise ValueError('Unexpected testbed: %s.' % args.testbed) - - if args.prototype == 'irati': - import rumba.prototypes.irati as irati - exp_class = irati.Experiment - elif args.prototype == 'ouroboros': - import rumba.prototypes.ouroboros as ouroboros - exp_class = ouroboros.Experiment - elif args.prototype == 'rlite': - import rumba.prototypes.rlite as rlite - exp_class = rlite.Experiment - else: - raise ValueError('Unexpected prototype: %s.' % args.testbed) - - try: - make_experiment(args.conf, - experiment_class=exp_class, - experiment_kwargs={}, - testbed_class=test_class, - testbed_kwargs=testbed_args, - verbosity=args.verbosity) - - except KeyboardInterrupt: - print("Interrupted. Closing down.") diff --git a/tools/scriptgenerator.py b/tools/scriptgenerator.py index cc3e1ea..f986185 100644 --- a/tools/scriptgenerator.py +++ b/tools/scriptgenerator.py @@ -6,22 +6,22 @@ import rumba.log as log from rumba.utils import ExperimentManager, PAUSE_SWAPOUT client1 = Client( - "rinaperf", - options="-t perf -s 1000 -c 0", - c_id='rinaperf_^C' # To differentiate + "operf", + options="-s 1000 -d 0", + c_id='operf_flood' # To differentiate ) client2 = Client( - "rinaperf", - options="-t perf -s 1000 -D <duration>", + "operf", + options="-s 1000 -d <duration>", shutdown="", - c_id='rinaperf_-D' # To differentiate + c_id='operf_timed' # To differentiate ) server = Server( - "rinaperf", + "operf", options="-l", arrival_rate=0.5, mean_duration=5, |
