X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=examples%2Fccn_emu_live%2Fplanetlab.py;h=fc1656044f460ee6587a96b91b42fd0776d88803;hb=58a2b493f8df1072a1faa653c8abb6a3f9ba21fa;hp=033076ff2ad58862c1ffcbe201be06ed13c7c974;hpb=d16b306c7ee05bd2f068966bead8906526368162;p=nepi.git diff --git a/examples/ccn_emu_live/planetlab.py b/examples/ccn_emu_live/planetlab.py index 033076ff..fc165604 100644 --- a/examples/ccn_emu_live/planetlab.py +++ b/examples/ccn_emu_live/planetlab.py @@ -1,13 +1,11 @@ #!/usr/bin/env python - -############################################################################### # # NEPI, a framework to manage network experiments +# Copyright (C) 2013 INRIA # # This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation; # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -18,8 +16,8 @@ # along with this program. If not, see . # # Author: Alina Quereilhac -# -############################################################################### + +from __future__ import print_function from nepi.execution.ec import ExperimentController from nepi.execution.runner import ExperimentRunner @@ -31,21 +29,20 @@ import socket import os PL_NODES = dict({ - "0": "iraplab1.iralab.uni-karlsruhe.de", - "1": "planetlab1.informatik.uni-goettingen.de", - "2": "dfn-ple1.x-win.dfn.de", - "3": "mars.planetlab.haw-hamburg.de", - "4": "planetlab2.unineuchatel.ch", - "5": "planetlab-node3.it-sudparis.eu", - "6": "planetlab2.extern.kuleuven.be", - "7": "node2pl.planet-lab.telecom-lille1.eu", - "8": "planetvs2.informatik.uni-stuttgart.de", - "9": "planetlab1.informatik.uni-wuerzburg.de", - "10": "planet1.l3s.uni-hannover.de", - "11": "planetlab1.wiwi.hu-berlin.de", - "12": "pl2.uni-rostock.de", - "13": "planetlab1.u-strasbg.fr", - "14": "peeramidion.irisa.fr" + 0: "iraplab1.iralab.uni-karlsruhe.de", + 1: "planetvs2.informatik.uni-stuttgart.de", + 2: "dfn-ple1.x-win.dfn.de", + 3: "planetlab2.extern.kuleuven.be", + 4: "mars.planetlab.haw-hamburg.de", + 5: "planetlab-node3.it-sudparis.eu", + 6: "node2pl.planet-lab.telecom-lille1.eu", + 7: "planetlab1.informatik.uni-wuerzburg.de", + 8: "planet1.l3s.uni-hannover.de", + 9: "planetlab1.wiwi.hu-berlin.de", + 10: "pl2.uni-rostock.de", + 11: "planetlab1.u-strasbg.fr", + 12: "peeramidion.irisa.fr", + 13: "planetlab2.unineuchatel.ch", }) pl_slice = os.environ.get("PL_SLICE") @@ -77,7 +74,7 @@ def add_pl_host(ec, nid): hostname = PL_NODES[nid] # Add a planetlab host to the experiment description - host = ec.register_resource("PlanetlabNode") + host = ec.register_resource("planetlab::Node") ec.set(host, "hostname", hostname) ec.set(host, "username", pl_slice) ec.set(host, "identity", pl_ssh_key) @@ -101,7 +98,7 @@ def add_pl_ccnd(ec, nid): host = ec.netgraph.node_annotation(nid, "host") # Add a CCN daemon to the planetlab node - ccnd = ec.register_resource("LinuxCCND") + ccnd = ec.register_resource("linux::CCND") ec.set(ccnd, "debug", 7) ec.register_connection(ccnd, host) @@ -117,7 +114,7 @@ def add_pl_ccnr(ec, nid): ccnd = ec.netgraph.node_annotation(nid, "ccnd") # Add a CCN content repository to the planetlab node - ccnr = ec.register_resource("LinuxCCNR") + ccnr = ec.register_resource("linux::CCNR") ec.set(ccnr, "repoFile1", repofile) ec.register_connection(ccnr, ccnd) @@ -127,7 +124,7 @@ def add_pl_ccncat(ec, nid): ccnd = ec.netgraph.node_annotation(nid, "ccnd") # Add a CCN cat application to the planetlab node - ccncat = ec.register_resource("LinuxCCNCat") + ccncat = ec.register_resource("linux::CCNCat") ec.set(ccncat, "pipeline", pipeline) ec.set(ccncat, "contentName", content_name) ec.register_connection(ccncat, ccnd) @@ -138,7 +135,7 @@ def add_pl_fib_entry(ec, nid1, nid2): hostname2 = ec.netgraph.node_annotation(nid2, "hostname") # Add a FIB entry between one planetlab node and its peer - entry = ec.register_resource("LinuxFIBEntry") + entry = ec.register_resource("linux::FIBEntry") ec.set(entry, "host", hostname2) ec.register_connection(entry, ccnd1) @@ -169,16 +166,15 @@ def avg_interests(ec, run): ### Compute metric: Avg number of Interests seen per content name ### normalized by the number of nodes in the shortest path - content_name_count = len(content_names.values()) + content_name_count = len(content_names) nodes_in_shortest_path = len(shortest_path) - 1 metric = interest_count / (float(content_name_count) * float(nodes_in_shortest_path)) # TODO: DUMP RESULTS TO FILE # TODO: DUMP GRAPH DELAYS! - f = open("/tmp/metric", "w+") - f.write("%.2f\n" % metric) - f.close() - print " METRIC", metric + with open("/tmp/metric", "a+") as f: + f.write("%.2f\n" % metric) + print(" METRIC", metric) return metric @@ -209,10 +205,10 @@ if __name__ == '__main__': add_node_callback = add_pl_node, add_edge_callback = add_pl_edge) - print "Results stored at", ec.exp_dir + print("Results stored at", ec.exp_dir) #### Retrieve the content producing resource to wait for ot to finish - ccncat = ec.filter_resources("LinuxCCNCat") + ccncat = ec.filter_resources("linux::CCNCat") #### Run experiment until metric convergences rnr = ExperimentRunner()