a first very rough step towards python3
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 8 Oct 2015 14:57:14 +0000 (16:57 +0200)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 8 Oct 2015 14:57:14 +0000 (16:57 +0200)
. gave it a blind run with 2to3
. use builtin ipadress module instead of ipaddr

189 files changed:
doc/sphinx/conf.py
examples/ccn_emu_live/dce.py
examples/ccn_emu_live/dce_4_nodes_linear.py
examples/ccn_emu_live/planetlab.py
examples/ccn_emu_live/planetlab_4_nodes_linear.py
examples/dce/custom_dlm_ping.py
examples/dce/custom_local_csma_ping.py
examples/dce/custom_local_p2p_ccn.py
examples/dce/custom_local_p2p_ping.py
examples/dce/custom_local_wifi_ping.py
examples/dce/wrapped_local_p2p_ccncat.py
examples/dce/wrapped_local_p2p_ccnpeek.py
examples/dce/wrapped_local_p2p_ping.py
examples/linux/ccn_simple_transfer.py
examples/linux/ccn_transfer_using_linuxapp.py
examples/linux/hello_world.py
examples/linux/netcat_file_transfer.py
examples/linux/ping.py
examples/linux/testing/ccncat_2_nodes.py
examples/linux/testing/ccncat_extended_ring_topo.py
examples/linux/testing/scalability.py
examples/linux/vlc_streaming.py
examples/netns/local_switch_ping.py
examples/ns3/local_csma_p2p_star_ping.py
examples/ns3/local_csma_ping.py
examples/ns3/local_mobile_wifi_ping.py
examples/ns3/local_p2p_ping.py
examples/ns3/local_wifi_ping.py
examples/ns3/multi_host/distributed.py
examples/ns3/multi_host/hybrid.py
examples/ns3/multi_host/parallel.py
examples/ns3/multi_host/topology.py
examples/ns3/remote_p2p_ping.py
examples/omf/iminds_omf6_ping.py
examples/omf/iminds_omf6_vlc.py
examples/omf/nitos_omf6_ping.py
examples/omf/nitos_omf6_vlc.py
examples/omf/nitos_testbed_bootstrap.py
examples/omf/testing/nepi_omf5_nitos_ccncat.py
examples/omf/testing/nepi_omf5_nitos_ccnring.py
examples/omf/testing/nepi_omf5_plexus_ccncat_linear.py
examples/omf/testing/nitos_omf5_ping.py
examples/openvswitch/ovs_ping.py
examples/openvswitch/ovs_ping_2_switches.py
examples/openvswitch/ovs_ping_3_switches.py
examples/planetlab/ccn_simple_transfer.py
examples/planetlab/ping.py
examples/planetlab/ping_with_filters.py
examples/planetlab/select_nodes.py
examples/planetlab/update_fedora_repo.py
setup.py
src/nepi/__init__.py
src/nepi/data/processing/ccn/parser.py
src/nepi/data/processing/ping/parser.py
src/nepi/execution/ec.py
src/nepi/execution/resource.py
src/nepi/execution/runner.py
src/nepi/execution/scheduler.py
src/nepi/resources/all/collector.py
src/nepi/resources/linux/application.py
src/nepi/resources/linux/ccn/ccncontent.py
src/nepi/resources/linux/ccn/ccnd.py
src/nepi/resources/linux/ccn/ccnr.py
src/nepi/resources/linux/ccn/fibentry.py
src/nepi/resources/linux/debfuncs.py
src/nepi/resources/linux/gretunnel.py
src/nepi/resources/linux/interface.py
src/nepi/resources/linux/mtr.py
src/nepi/resources/linux/netns/netnsclient.py
src/nepi/resources/linux/netns/netnsemulation.py
src/nepi/resources/linux/node.py
src/nepi/resources/linux/ns3/ccn/ns3ccnddceapplication.py
src/nepi/resources/linux/ns3/ccn/ns3ccnrdceapplication.py
src/nepi/resources/linux/ns3/ccn/ns3fibentrydceapplication.py
src/nepi/resources/linux/ns3/fdudptunnel.py
src/nepi/resources/linux/ns3/ns3client.py
src/nepi/resources/linux/ns3/ns3simulation.py
src/nepi/resources/linux/ns3/tuntapfdlink.py
src/nepi/resources/linux/ping.py
src/nepi/resources/linux/route.py
src/nepi/resources/linux/rpmfuncs.py
src/nepi/resources/linux/scripts/fd-udp-connect.py
src/nepi/resources/linux/scripts/linux-tap-create.py
src/nepi/resources/linux/scripts/linux-tap-delete.py
src/nepi/resources/linux/scripts/linux-udp-connect.py
src/nepi/resources/linux/scripts/tunchannel.py
src/nepi/resources/linux/tap.py
src/nepi/resources/linux/traceroute.py
src/nepi/resources/linux/tunnel.py
src/nepi/resources/linux/udptest.py
src/nepi/resources/netns/netnsapplication.py
src/nepi/resources/netns/netnsbase.py
src/nepi/resources/netns/netnsipv4address.py
src/nepi/resources/netns/netnsnode.py
src/nepi/resources/netns/netnsnodeinterface.py
src/nepi/resources/netns/netnsroute.py
src/nepi/resources/netns/netnsserver.py
src/nepi/resources/netns/netnsswitch.py
src/nepi/resources/netns/netnswrapper.py
src/nepi/resources/netns/netnswrapper_debug.py
src/nepi/resources/ns3/ns3application.py
src/nepi/resources/ns3/ns3arpl3protocol.py
src/nepi/resources/ns3/ns3base.py
src/nepi/resources/ns3/ns3channel.py
src/nepi/resources/ns3/ns3errormodel.py
src/nepi/resources/ns3/ns3errorratemodel.py
src/nepi/resources/ns3/ns3fdnetdevice.py
src/nepi/resources/ns3/ns3icmpv4l4protocol.py
src/nepi/resources/ns3/ns3ipv4l3protocol.py
src/nepi/resources/ns3/ns3netdevice.py
src/nepi/resources/ns3/ns3node.py
src/nepi/resources/ns3/ns3pipechanel.py
src/nepi/resources/ns3/ns3propagationdelaymodel.py
src/nepi/resources/ns3/ns3propagationlossmodel.py
src/nepi/resources/ns3/ns3queue.py
src/nepi/resources/ns3/ns3route.py
src/nepi/resources/ns3/ns3server.py
src/nepi/resources/ns3/ns3wifichannel.py
src/nepi/resources/ns3/ns3wifimac.py
src/nepi/resources/ns3/ns3wifiphy.py
src/nepi/resources/ns3/ns3wifiremotestationmanager.py
src/nepi/resources/ns3/ns3wrapper.py
src/nepi/resources/ns3/ns3wrapper_debug.py
src/nepi/resources/ns3/resource_manager_generator.py
src/nepi/resources/omf/application.py
src/nepi/resources/omf/channel.py
src/nepi/resources/omf/interface.py
src/nepi/resources/omf/messages_6.py
src/nepi/resources/omf/node.py
src/nepi/resources/omf/omf6_api.py
src/nepi/resources/omf/omf6_parser.py
src/nepi/resources/omf/wilabt_node.py
src/nepi/resources/planetlab/node.py
src/nepi/resources/planetlab/ns3/fdudptunnel.py
src/nepi/resources/planetlab/ns3/tuntapfdlink.py
src/nepi/resources/planetlab/openvswitch/ovs.py
src/nepi/resources/planetlab/openvswitch/ovsport.py
src/nepi/resources/planetlab/plcapi.py
src/nepi/resources/planetlab/scripts/pl-vif-create.py
src/nepi/resources/planetlab/scripts/pl-vif-down.py
src/nepi/resources/planetlab/sfa_node.py
src/nepi/resources/planetlab/tap.py
src/nepi/resources/planetlab/vroute.py
src/nepi/util/environ.py
src/nepi/util/execfuncs.py
src/nepi/util/manifoldapi.py
src/nepi/util/netgraph.py
src/nepi/util/parallel.py
src/nepi/util/parsers/xml_parser.py
src/nepi/util/plotter.py
src/nepi/util/sfaapi.py
src/nepi/util/sfarspec_proc.py
src/nepi/util/sshfuncs.py
src/nepi/util/statfuncs.py
test/execution/ec.py
test/execution/resource.py
test/execution/runner.py
test/execution/scheduler.py
test/lib/test_utils.py
test/resources/linux/application.py
test/resources/linux/ccn/ccnpeek.py
test/resources/linux/multirun.py
test/resources/linux/netns/netnsclient.py
test/resources/linux/netns/netnsemulation.py
test/resources/linux/node.py
test/resources/linux/ns3/cross_ns3_linux_tuntapfdlink_ping.py
test/resources/linux/ns3/ns3fdnetdevice.py
test/resources/linux/ns3/ns3simulation.py
test/resources/linux/ns3/serialization.py
test/resources/linux/serialization.py
test/resources/linux/udptunnel.py
test/resources/ns3/ns3wrapper.py
test/resources/omf/omf5_vlc_normal_case.py
test/resources/omf/omf5_vlc_wrong_critical.py
test/resources/omf/omf5_vlc_wrong_non_critical.py
test/resources/omf/omf6_vlc_normal_case.py
test/resources/omf/omf6_vlc_traces.py
test/resources/omf/omf6_vlc_wrong_critical.py
test/resources/omf/omf6_vlc_wrong_non_critical.py
test/resources/omf/set_hook.py
test/resources/omf/wilab_node.py
test/resources/planetlab/node.py
test/resources/planetlab/sfa_node.py
test/util/manifoldapi.py
test/util/parallel.py
test/util/plotter.py
test/util/serializer.py
test/util/sshfuncs.py
test/util/timefuncs.py

index 8019dd1..a8a816f 100644 (file)
@@ -40,8 +40,8 @@ source_suffix = '.rst'
 master_doc = 'index'
 
 # General information about the project.
-project = u'NEPI'
-copyright = u'2014, Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino'
+project = 'NEPI'
+copyright = '2014, Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
@@ -183,8 +183,8 @@ latex_elements = {
 # Grouping the document tree into LaTeX files. List of tuples
 # (source start file, target name, title, author, documentclass [howto/manual]).
 latex_documents = [
-  ('index', 'NEPI.tex', u'NEPI Documentation',
-   u'Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino', 'manual'),
+  ('index', 'NEPI.tex', 'NEPI Documentation',
+   'Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino', 'manual'),
 ]
 
 # The name of an image file (relative to this directory) to place at the top of
@@ -213,8 +213,8 @@ latex_documents = [
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    ('index', 'NEPI', u'NEPI Documentation',
-     [u'Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino'], 1)
+    ('index', 'NEPI', 'NEPI Documentation',
+     ['Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino'], 1)
 ]
 
 # If true, show URL addresses after external links.
@@ -227,8 +227,8 @@ man_pages = [
 # (source start file, target name, title, author,
 #  dir menu entry, description, category)
 texinfo_documents = [
-  ('index', 'NEPI', u'NEPI Documentation',
-   u'Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino', 
+  ('index', 'NEPI', 'NEPI Documentation',
+   'Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino', 
    'NEPI', 'The network experimentation programming interface',
    'Miscellaneous'),
 ]
index 79507b5..b996ea4 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 from nepi.execution.runner import ExperimentRunner
@@ -162,7 +162,7 @@ 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(list(content_names.values()))
     nodes_in_shortest_path = len(shortest_path) - 1
     metric = interest_count / (float(content_name_count) * float(nodes_in_shortest_path))
 
index b738798..3a7221d 100644 (file)
-#!/usr/bin/env python\r
-#\r
-#    NEPI, a framework to manage network experiments\r
-#    Copyright (C) 2013 INRIA\r
-#\r
-#    This program is free software: you can redistribute it and/or modify\r
-#    it under the terms of the GNU General Public License version 2 as\r
-#    published by the Free Software Foundation;\r
-#\r
-#    This program is distributed in the hope that it will be useful,\r
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-#    GNU General Public License for more details.\r
-#\r
-#    You should have received a copy of the GNU General Public License\r
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
-#\r
-# Author: Alina Quereilhac <alina.quereilhac@inria.fr>\r
-\r
-\r
-from nepi.execution.ec import ExperimentController \r
-from nepi.execution.runner import ExperimentRunner\r
-from nepi.util.netgraph import TopologyType\r
-import nepi.data.processing.ccn.parser as ccn_parser\r
-\r
-import networkx\r
-import socket\r
-import os\r
-import numpy\r
-from scipy import stats\r
-from matplotlib import pyplot\r
-import math\r
-import random\r
-\r
-def avg_interest_rtt(ec, run):\r
-    logs_dir = ec.run_dir\r
-    \r
-    # Parse downloaded CCND logs\r
-    (graph,\r
-      content_names,\r
-      interest_expiry_count,\r
-      interest_dupnonce_count,\r
-      interest_count,\r
-      content_count) = ccn_parser.process_content_history_logs(\r
-        logs_dir, ec.netgraph.topology)\r
-\r
-    # statistics on RTT\r
-    rtts = [content_names[content_name]["rtt"] \\r
-            for content_name in content_names.keys()]\r
-\r
-    # sample mean and standard deviation\r
-    sample = numpy.array(rtts)\r
-    n, min_max, mean, var, skew, kurt = stats.describe(sample)\r
-    std = math.sqrt(var)\r
-    ci = stats.t.interval(0.95, n-1, loc = mean, \r
-            scale = std/math.sqrt(n))\r
-\r
-    global metrics\r
-    metrics.append((mean, ci[0], ci[1]))\r
-    \r
-    return mean\r
-\r
-def normal_law(ec, run, sample):\r
-    x = numpy.array(sample)\r
-    n = len(sample)\r
-    std = x.std()\r
-    se = std / math.sqrt(n)\r
-    m = x.mean()\r
-    se95 = se * 2\r
-    \r
-    return m * 0.05 >= se95\r
-\r
-def post_process(ec, runs):\r
-    global metrics\r
-    \r
-    # plot convergence graph\r
-    y = numpy.array([float(m[0]) for m in metrics])\r
-    low = numpy.array([float(m[1]) for m in metrics])\r
-    high = numpy.array([float(m[2]) for m in metrics])\r
-    error = [y - low, high - y]\r
-    x = range(1,runs + 1)\r
-\r
-    # plot average RTT and confidence interval for each iteration\r
-    pyplot.errorbar(x, y, yerr = error, fmt='o')\r
-    pyplot.plot(x, y, 'r-')\r
-    pyplot.xlim([0.5, runs + 0.5])\r
-    pyplot.xticks(numpy.arange(1, len(y)+1, 1))\r
-    pyplot.xlabel('Iteration')\r
-    pyplot.ylabel('Average RTT')\r
-    pyplot.grid()\r
-    pyplot.savefig("plot.png")\r
-    pyplot.show()\r
-\r
-content_name = "ccnx:/test/bunny.ts"\r
-\r
-STOP_TIME = "5000s"\r
-\r
-repofile = os.path.join(\r
-        os.path.dirname(os.path.realpath(__file__)), \r
-        "repoFile1.0.8.2")\r
-\r
-def get_simulator(ec):\r
-    simulator = ec.filter_resources("linux::ns3::Simulation")\r
-\r
-    if not simulator:\r
-        node = ec.register_resource("linux::Node")\r
-        ec.set(node, "hostname", "localhost")\r
-\r
-        simu = ec.register_resource("linux::ns3::Simulation")\r
-        ec.register_connection(simu, node)\r
-        return simu\r
-\r
-    return simulator[0]\r
-\r
-def add_collector(ec, trace_name, subdir, newname = None):\r
-    collector = ec.register_resource("Collector")\r
-    ec.set(collector, "traceName", trace_name)\r
-    ec.set(collector, "subDir", subdir)\r
-    if newname:\r
-        ec.set(collector, "rename", newname)\r
-\r
-    return collector\r
-\r
-def add_dce_host(ec, nid):\r
-    simu = get_simulator(ec)\r
-    \r
-    host = ec.register_resource("ns3::Node")\r
-    ec.set(host, "enableStack", True)\r
-    ec.register_connection(host, simu)\r
-\r
-    # Annotate the graph\r
-    ec.netgraph.annotate_node(nid, "host", host)\r
-    \r
-def add_dce_ccnd(ec, nid):\r
-    # Retrieve annotation from netgraph\r
-    host = ec.netgraph.node_annotation(nid, "host")\r
-    \r
-    # Add dce ccnd to the dce node\r
-    ccnd = ec.register_resource("linux::ns3::dce::CCND")\r
-    ec.set (ccnd, "stackSize", 1<<20)\r
-    ec.set (ccnd, "debug", 7)\r
-    ec.set (ccnd, "capacity", 50000)\r
-    ec.set (ccnd, "StartTime", "1s")\r
-    ec.set (ccnd, "StopTime", STOP_TIME)\r
-    ec.register_connection(ccnd, host)\r
-\r
-    # Collector to retrieve ccnd log\r
-    collector = add_collector(ec, "stderr", str(nid), "log")\r
-    ec.register_connection(collector, ccnd)\r
-\r
-    # Annotate the graph\r
-    ec.netgraph.annotate_node(nid, "ccnd", ccnd)\r
-\r
-def add_dce_ccnr(ec, nid):\r
-    # Retrieve annotation from netgraph\r
-    host = ec.netgraph.node_annotation(nid, "host")\r
-    \r
-    # Add a CCN content repository to the dce node\r
-    ccnr = ec.register_resource("linux::ns3::dce::CCNR")\r
-    ec.set (ccnr, "repoFile1", repofile) \r
-    ec.set (ccnr, "stackSize", 1<<20)\r
-    ec.set (ccnr, "StartTime", "2s")\r
-    ec.set (ccnr, "StopTime", STOP_TIME)\r
-    ec.register_connection(ccnr, host)\r
-\r
-def add_dce_ccncat(ec, nid):\r
-    # Retrieve annotation from netgraph\r
-    host = ec.netgraph.node_annotation(nid, "host")\r
-   \r
-    # Add a ccncat application to the dce host\r
-    ccncat = ec.register_resource("linux::ns3::dce::CCNCat")\r
-    ec.set (ccncat, "contentName", content_name)\r
-    ec.set (ccncat, "stackSize", 1<<20)\r
-    ec.set (ccncat, "StartTime", "8s")\r
-    ec.set (ccncat, "StopTime", STOP_TIME)\r
-    ec.register_connection(ccncat, host)\r
-\r
-def add_dce_fib_entry(ec, nid1, nid2):\r
-    # Retrieve annotations from netgraph\r
-    host1 = ec.netgraph.node_annotation(nid1, "host")\r
-    net = ec.netgraph.edge_net_annotation(nid1, nid2)\r
-    ip2 = net[nid2]\r
-\r
-    # Add FIB entry between peer hosts\r
-    ccndc = ec.register_resource("linux::ns3::dce::FIBEntry")\r
-    ec.set (ccndc, "protocol", "udp") \r
-    ec.set (ccndc, "uri", "ccnx:/") \r
-    ec.set (ccndc, "host", ip2)\r
-    ec.set (ccndc, "stackSize", 1<<20)\r
-    ec.set (ccndc, "StartTime", "2s")\r
-    ec.set (ccndc, "StopTime", STOP_TIME)\r
-    ec.register_connection(ccndc, host1)\r
-\r
-def add_dce_net_iface(ec, nid1, nid2):\r
-    # Retrieve annotations from netgraph\r
-    host = ec.netgraph.node_annotation(nid1, "host")\r
-    net = ec.netgraph.edge_net_annotation(nid1, nid2)\r
-    ip1 = net[nid1]\r
-    prefix = net["prefix"]\r
-\r
-    dev = ec.register_resource("ns3::PointToPointNetDevice")\r
-    ec.set(dev,"DataRate", "5Mbps")\r
-    ec.set(dev, "ip", ip1)\r
-    ec.set(dev, "prefix", prefix)\r
-    ec.register_connection(host, dev)\r
-\r
-    queue = ec.register_resource("ns3::DropTailQueue")\r
-    ec.register_connection(dev, queue)\r
-\r
-    return dev\r
-\r
-def add_edge(ec, nid1, nid2):\r
-    ### Add network interfaces to hosts\r
-    p2p1 = add_dce_net_iface(ec, nid1, nid2)\r
-    p2p2 = add_dce_net_iface(ec, nid2, nid1)\r
-\r
-    # Create point to point link between interfaces\r
-    chan = ec.register_resource("ns3::PointToPointChannel")\r
-    ec.set(chan, "Delay", "0ms")\r
-\r
-    ec.register_connection(chan, p2p1)\r
-    ec.register_connection(chan, p2p2)\r
-\r
-    #### Add routing between CCN nodes\r
-    add_dce_fib_entry(ec, nid1, nid2)\r
-    add_dce_fib_entry(ec, nid2, nid1)\r
-\r
-def add_node(ec, nid):\r
-    ### Add CCN nodes (ec.netgraph holds the topology graph)\r
-    add_dce_host(ec, nid)\r
-    add_dce_ccnd(ec, nid)\r
-        \r
-    if nid == ec.netgraph.targets()[0]:\r
-        add_dce_ccnr(ec, nid)\r
-\r
-    if nid == ec.netgraph.sources()[0]:\r
-        add_dce_ccncat(ec, nid)\r
-\r
-def wait_guids(ec):\r
-    return ec.filter_resources("linux::ns3::dce::CCNCat")\r
-\r
-if __name__ == '__main__':\r
-\r
-    metrics = []\r
-\r
-    # topology translation to NEPI model\r
-    ec = ExperimentController("dce_4n_linear",\r
-        topo_type = TopologyType.LINEAR, \r
-        node_count = 4,\r
-        assign_st = True,\r
-        assign_ips = True,\r
-        add_node_callback = add_node,\r
-       add_edge_callback = add_edge)\r
-\r
-    #### Run experiment until metric convergence\r
-    rnr = ExperimentRunner()\r
-    runs = rnr.run(ec,\r
-            min_runs = 10,\r
-            max_runs = 100, \r
-            compute_metric_callback = avg_interest_rtt,\r
-            evaluate_convergence_callback = normal_law,\r
-            wait_guids = wait_guids(ec))\r
-   \r
-    ### post processing\r
-    post_process(ec, runs)\r
-\r
-\r
+#!/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 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
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Author: Alina Quereilhac <alina.quereilhac@inria.fr>
+
+
+from nepi.execution.ec import ExperimentController 
+from nepi.execution.runner import ExperimentRunner
+from nepi.util.netgraph import TopologyType
+import nepi.data.processing.ccn.parser as ccn_parser
+
+import networkx
+import socket
+import os
+import numpy
+from scipy import stats
+from matplotlib import pyplot
+import math
+import random
+
+def avg_interest_rtt(ec, run):
+    logs_dir = ec.run_dir
+    
+    # Parse downloaded CCND logs
+    (graph,
+      content_names,
+      interest_expiry_count,
+      interest_dupnonce_count,
+      interest_count,
+      content_count) = ccn_parser.process_content_history_logs(
+        logs_dir, ec.netgraph.topology)
+
+    # statistics on RTT
+    rtts = [content_names[content_name]["rtt"] \
+            for content_name in list(content_names.keys())]
+
+    # sample mean and standard deviation
+    sample = numpy.array(rtts)
+    n, min_max, mean, var, skew, kurt = stats.describe(sample)
+    std = math.sqrt(var)
+    ci = stats.t.interval(0.95, n-1, loc = mean, 
+            scale = std/math.sqrt(n))
+
+    global metrics
+    metrics.append((mean, ci[0], ci[1]))
+    
+    return mean
+
+def normal_law(ec, run, sample):
+    x = numpy.array(sample)
+    n = len(sample)
+    std = x.std()
+    se = std / math.sqrt(n)
+    m = x.mean()
+    se95 = se * 2
+    
+    return m * 0.05 >= se95
+
+def post_process(ec, runs):
+    global metrics
+    
+    # plot convergence graph
+    y = numpy.array([float(m[0]) for m in metrics])
+    low = numpy.array([float(m[1]) for m in metrics])
+    high = numpy.array([float(m[2]) for m in metrics])
+    error = [y - low, high - y]
+    x = list(range(1,runs + 1))
+
+    # plot average RTT and confidence interval for each iteration
+    pyplot.errorbar(x, y, yerr = error, fmt='o')
+    pyplot.plot(x, y, 'r-')
+    pyplot.xlim([0.5, runs + 0.5])
+    pyplot.xticks(numpy.arange(1, len(y)+1, 1))
+    pyplot.xlabel('Iteration')
+    pyplot.ylabel('Average RTT')
+    pyplot.grid()
+    pyplot.savefig("plot.png")
+    pyplot.show()
+
+content_name = "ccnx:/test/bunny.ts"
+
+STOP_TIME = "5000s"
+
+repofile = os.path.join(
+        os.path.dirname(os.path.realpath(__file__)), 
+        "repoFile1.0.8.2")
+
+def get_simulator(ec):
+    simulator = ec.filter_resources("linux::ns3::Simulation")
+
+    if not simulator:
+        node = ec.register_resource("linux::Node")
+        ec.set(node, "hostname", "localhost")
+
+        simu = ec.register_resource("linux::ns3::Simulation")
+        ec.register_connection(simu, node)
+        return simu
+
+    return simulator[0]
+
+def add_collector(ec, trace_name, subdir, newname = None):
+    collector = ec.register_resource("Collector")
+    ec.set(collector, "traceName", trace_name)
+    ec.set(collector, "subDir", subdir)
+    if newname:
+        ec.set(collector, "rename", newname)
+
+    return collector
+
+def add_dce_host(ec, nid):
+    simu = get_simulator(ec)
+    
+    host = ec.register_resource("ns3::Node")
+    ec.set(host, "enableStack", True)
+    ec.register_connection(host, simu)
+
+    # Annotate the graph
+    ec.netgraph.annotate_node(nid, "host", host)
+    
+def add_dce_ccnd(ec, nid):
+    # Retrieve annotation from netgraph
+    host = ec.netgraph.node_annotation(nid, "host")
+    
+    # Add dce ccnd to the dce node
+    ccnd = ec.register_resource("linux::ns3::dce::CCND")
+    ec.set (ccnd, "stackSize", 1<<20)
+    ec.set (ccnd, "debug", 7)
+    ec.set (ccnd, "capacity", 50000)
+    ec.set (ccnd, "StartTime", "1s")
+    ec.set (ccnd, "StopTime", STOP_TIME)
+    ec.register_connection(ccnd, host)
+
+    # Collector to retrieve ccnd log
+    collector = add_collector(ec, "stderr", str(nid), "log")
+    ec.register_connection(collector, ccnd)
+
+    # Annotate the graph
+    ec.netgraph.annotate_node(nid, "ccnd", ccnd)
+
+def add_dce_ccnr(ec, nid):
+    # Retrieve annotation from netgraph
+    host = ec.netgraph.node_annotation(nid, "host")
+    
+    # Add a CCN content repository to the dce node
+    ccnr = ec.register_resource("linux::ns3::dce::CCNR")
+    ec.set (ccnr, "repoFile1", repofile) 
+    ec.set (ccnr, "stackSize", 1<<20)
+    ec.set (ccnr, "StartTime", "2s")
+    ec.set (ccnr, "StopTime", STOP_TIME)
+    ec.register_connection(ccnr, host)
+
+def add_dce_ccncat(ec, nid):
+    # Retrieve annotation from netgraph
+    host = ec.netgraph.node_annotation(nid, "host")
+   
+    # Add a ccncat application to the dce host
+    ccncat = ec.register_resource("linux::ns3::dce::CCNCat")
+    ec.set (ccncat, "contentName", content_name)
+    ec.set (ccncat, "stackSize", 1<<20)
+    ec.set (ccncat, "StartTime", "8s")
+    ec.set (ccncat, "StopTime", STOP_TIME)
+    ec.register_connection(ccncat, host)
+
+def add_dce_fib_entry(ec, nid1, nid2):
+    # Retrieve annotations from netgraph
+    host1 = ec.netgraph.node_annotation(nid1, "host")
+    net = ec.netgraph.edge_net_annotation(nid1, nid2)
+    ip2 = net[nid2]
+
+    # Add FIB entry between peer hosts
+    ccndc = ec.register_resource("linux::ns3::dce::FIBEntry")
+    ec.set (ccndc, "protocol", "udp") 
+    ec.set (ccndc, "uri", "ccnx:/") 
+    ec.set (ccndc, "host", ip2)
+    ec.set (ccndc, "stackSize", 1<<20)
+    ec.set (ccndc, "StartTime", "2s")
+    ec.set (ccndc, "StopTime", STOP_TIME)
+    ec.register_connection(ccndc, host1)
+
+def add_dce_net_iface(ec, nid1, nid2):
+    # Retrieve annotations from netgraph
+    host = ec.netgraph.node_annotation(nid1, "host")
+    net = ec.netgraph.edge_net_annotation(nid1, nid2)
+    ip1 = net[nid1]
+    prefix = net["prefix"]
+
+    dev = ec.register_resource("ns3::PointToPointNetDevice")
+    ec.set(dev,"DataRate", "5Mbps")
+    ec.set(dev, "ip", ip1)
+    ec.set(dev, "prefix", prefix)
+    ec.register_connection(host, dev)
+
+    queue = ec.register_resource("ns3::DropTailQueue")
+    ec.register_connection(dev, queue)
+
+    return dev
+
+def add_edge(ec, nid1, nid2):
+    ### Add network interfaces to hosts
+    p2p1 = add_dce_net_iface(ec, nid1, nid2)
+    p2p2 = add_dce_net_iface(ec, nid2, nid1)
+
+    # Create point to point link between interfaces
+    chan = ec.register_resource("ns3::PointToPointChannel")
+    ec.set(chan, "Delay", "0ms")
+
+    ec.register_connection(chan, p2p1)
+    ec.register_connection(chan, p2p2)
+
+    #### Add routing between CCN nodes
+    add_dce_fib_entry(ec, nid1, nid2)
+    add_dce_fib_entry(ec, nid2, nid1)
+
+def add_node(ec, nid):
+    ### Add CCN nodes (ec.netgraph holds the topology graph)
+    add_dce_host(ec, nid)
+    add_dce_ccnd(ec, nid)
+        
+    if nid == ec.netgraph.targets()[0]:
+        add_dce_ccnr(ec, nid)
+
+    if nid == ec.netgraph.sources()[0]:
+        add_dce_ccncat(ec, nid)
+
+def wait_guids(ec):
+    return ec.filter_resources("linux::ns3::dce::CCNCat")
+
+if __name__ == '__main__':
+
+    metrics = []
+
+    # topology translation to NEPI model
+    ec = ExperimentController("dce_4n_linear",
+        topo_type = TopologyType.LINEAR, 
+        node_count = 4,
+        assign_st = True,
+        assign_ips = True,
+        add_node_callback = add_node,
+       add_edge_callback = add_edge)
+
+    #### Run experiment until metric convergence
+    rnr = ExperimentRunner()
+    runs = rnr.run(ec,
+            min_runs = 10,
+            max_runs = 100, 
+            compute_metric_callback = avg_interest_rtt,
+            evaluate_convergence_callback = normal_law,
+            wait_guids = wait_guids(ec))
+   
+    ### post processing
+    post_process(ec, runs)
+
+
index b2548f3..4c8a4a3 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 from nepi.execution.runner import ExperimentRunner
@@ -166,7 +166,7 @@ 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(list(content_names.values()))
     nodes_in_shortest_path = len(shortest_path) - 1
     metric = interest_count / (float(content_name_count) * float(nodes_in_shortest_path))
 
index b48f496..d2d9f4c 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 from nepi.execution.runner import ExperimentRunner
@@ -74,7 +74,7 @@ def avg_interest_rtt(ec, run):
 
     # statistics on RTT
     rtts = [content_names[content_name]["rtt"] \
-            for content_name in content_names.keys()]
+            for content_name in list(content_names.keys())]
 
     # sample mean and standard deviation
     sample = numpy.array(rtts)
@@ -108,7 +108,7 @@ def post_process(ec, runs):
     low = numpy.array([float(m[1]) for m in metrics])
     high = numpy.array([float(m[2]) for m in metrics])
     error = [y - low, high - y]
-    x = range(1,runs + 1)
+    x = list(range(1,runs + 1))
 
     # plot average RTT and confidence interval for each iteration
     pyplot.errorbar(x, y, yerr = error, fmt='o')
index 69f69e1..89900b2 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index 54085ab..fcdaca3 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index 243470f..d5e0b40 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index f99ac7b..8abac0a 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index c751b5d..ddcd22c 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index b85bdff..d602844 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index 0ba078c..e1dd118 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index cdcfd6b..92c9f65 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index 39ea8f0..13312d2 100644 (file)
@@ -31,7 +31,7 @@
 #     0 ------- network -------- 1
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 
index 0395a40..73dac5f 100644 (file)
@@ -40,7 +40,7 @@
 # $ cd <path-to-nepi>
 # python examples/linux/ccn_advanced_transfer.py -a <hostname1> -b <hostname2> -u <username> -i <ssh-key>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 from nepi.execution.resource import ResourceAction, ResourceState
@@ -118,7 +118,7 @@ def add_ccnd(ec, peers):
 
     # BASH command -> ' ccndstart ; ccndc add ccnx:/ udp  host ;  ccnr '
     command = "ccndstart && "
-    peers = map(lambda peer: "ccndc add ccnx:/ udp  %s" % peer, peers)
+    peers = ["ccndc add ccnx:/ udp  %s" % peer for peer in peers]
     command += " ; ".join(peers) + " && "
     command += " ccnr & "
 
index 2e026b5..2553650 100644 (file)
@@ -22,7 +22,7 @@
 # $ cd <path-to-nepi>
 # python examples/linux/hello_world.py -a <hostname> -u <username> -i <ssh-key>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index 3734af3..4f8c74c 100644 (file)
@@ -24,7 +24,7 @@
 # $ cd <path-to-nepi>
 # python examples/linux/netcat_file_transfer.py -a <hostname1> -b <hostname2> -u <username> -i <ssh-key>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 from nepi.execution.resource import ResourceAction, ResourceState
index 0200b54..60e0cd3 100644 (file)
@@ -22,7 +22,7 @@
 # $ cd <path-to-nepi>
 # python examples/linux/ping.py -a <hostname> -u <username> -i <ssh-key>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index 2dc39ab..cc47d82 100644 (file)
@@ -96,7 +96,7 @@ def add_ccnd(ec, os_type, peers):
 
     # BASH command -> ' ccndstart ; ccndc add ccnx:/ udp  host ;  ccnr '
     command = "ccndstart && "
-    peers = map(lambda peer: "ccndc add ccnx:/ udp  %s" % peer, peers)
+    peers = ["ccndc add ccnx:/ udp  %s" % peer for peer in peers]
     command += " ; ".join(peers) + " && "
     command += " ccnr & "
 
index 6a46abc..d16143a 100644 (file)
@@ -156,7 +156,7 @@ if __name__ == '__main__':
     ring_hosts = [host1, host2, host3, host4]
     ccnds = dict()
 
-    for i in xrange(len(ring_hosts)):
+    for i in range(len(ring_hosts)):
         host = ring_hosts[i]
         node = add_node(ec, host, pl_user, pl_ssh_key)
         ccnd = add_ccnd(ec, node)
@@ -213,7 +213,7 @@ if __name__ == '__main__':
 
     # Register a collector to automatically collect traces
     collector = add_collector(ec, "stderr")
-    for ccnd in ccnds.values():
+    for ccnd in list(ccnds.values()):
         ec.register_connection(collector, ccnd)
 
     # deploy all ResourceManagers
index 4c896c2..1c9033b 100644 (file)
@@ -148,7 +148,7 @@ if __name__ == '__main__':
 
     for host in hostnames:
         node = add_node(ec, host, pl_slice)
-        for i in xrange(20):
+        for i in range(20):
             app = add_app(ec)
             ec.register_connection(app, node)
             apps.append(app)
index 4b5d83d..a7e544e 100644 (file)
@@ -21,7 +21,7 @@
 # $ cd <path-to-nepi>
 # python examples/linux/vlc_streaming.py -a <hostname1> -b <hostname2> -u <username> -i <ssh-key>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 from nepi.execution.resource import ResourceState, ResourceAction 
index e69a7e8..7f37168 100644 (file)
@@ -21,7 +21,7 @@
 # This example must be executed as root: 
 # $ sudo PYTHONPATH=$PYTHONPATH:src python examples/netns/local_switch_ping.py
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index 5d7593f..f7e4590 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 """ 
 network topology:
index 97afd3f..a63e8ba 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index f51986b..8beefdb 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 """ 
 network topology:
index 1741cdd..ff93f16 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index 8c17d7f..4d038c5 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index c3aef65..5c7a28f 100644 (file)
@@ -37,7 +37,7 @@
 # PYTHONPATH=$PYTHONPATH:src python examples/ns3/multi_host/ditributed.py
 #
 
-from __future__ import print_function
+
 
 import os
 
index 630fec2..f67bf3b 100644 (file)
@@ -38,7 +38,7 @@
 # PYTHONPATH=$PYTHONPATH:src python examples/ns3/multi_host/hybrid.py
 #
 
-from __future__ import print_function
+
 
 import os
 
index fa53457..e9736df 100644 (file)
@@ -37,7 +37,7 @@
 # PYTHONPATH=$PYTHONPATH:src python examples/ns3/multi_host/parallel.py
 #
 
-from __future__ import print_function
+
 
 import os
 
index 70dbbbf..ed2faf4 100644 (file)
@@ -19,7 +19,7 @@
 #         Alina Quereilhac <alina.quereilhac@inria.fr>\r
 #\r
 \r
-import ipaddr\r
+import ipaddress\r
 from optparse import OptionParser\r
 import os\r
 from random import randint\r
@@ -229,10 +229,10 @@ def add_ns3_route(ec, ns3_node, network, prefixlen, nexthop):
 def build_ns3_topology(ec, simu, node_count, network, prefixlen, agent_ip):\r
     channel = add_ns3_wifi_channel(ec)\r
 \r
-    net = ipaddr.IPv4Network("%s/%s" % (network, prefixlen)) \r
-    itr = net.iterhosts()\r
+    net = ipaddress.IPv4Network("%s/%s" % (network, prefixlen)) \r
+    itr = net.hosts()\r
 \r
-    ap_ip = itr.next().exploded\r
+    ap_ip = itr.__next__().exploded\r
     ap = add_ns3_node(ec, simu, ap_ip, prefixlen, channel, ap_mode=True)\r
 \r
     agent = None\r
index 57bda49..cbbd0d7 100644 (file)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index d5e02c7..825d41a 100644 (file)
@@ -44,7 +44,7 @@
 #        - t3 (t2 + 2s) : Kill the application
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.resource import ResourceAction, ResourceState
 from nepi.execution.ec import ExperimentController
index b312abd..fedee24 100644 (file)
@@ -45,7 +45,7 @@
 #        - t3 (t2 + 2s) : Kill the application
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.resource import ResourceAction, ResourceState
 from nepi.execution.ec import ExperimentController
index 6deaf18..696e430 100644 (file)
@@ -45,7 +45,7 @@
 #        - t3 (t2 + 2s) : Kill the application
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 from nepi.execution.resource import ResourceAction, ResourceState
index eb615fe..be93616 100644 (file)
@@ -46,7 +46,7 @@
 #        - t3 (t2 + 2s) : Kill the application
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.resource import ResourceAction, ResourceState
 from nepi.execution.ec import ExperimentController
index 6d70818..b4905aa 100644 (file)
@@ -30,7 +30,7 @@
 # python examples/linux/nitos_testbed_bootstrap.py -H <omf.nitos.node0XX,omf.nitos.node0ZZ,..> -U <node-username> -i <ssh-key> -g <nitos-gateway> -u <nitos-slice>
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 from nepi.execution.resource import ResourceAction, ResourceState
index 5e36795..a7bf10b 100644 (file)
@@ -88,7 +88,7 @@ def add_ccnd(ec, peers, xmppServer, xmppUser, xmppPort = "5222", xmppPassword =
 CCNR_DIRECTORY="/root" CCNR_STATUS_PORT="8080"'
 
     # BASH command -> ' ccndstart ; ccndc add ccnx:/ udp host ; ccnr '
-    peers = map(lambda peer: "ccndc add ccnx:/ udp  %s" % peer, peers)
+    peers = ["ccndc add ccnx:/ udp  %s" % peer for peer in peers]
     #command += " ; ".join(peers) + " && "
     command = peers[0]
 
index 98a41a0..7b9e09b 100644 (file)
@@ -176,7 +176,7 @@ if __name__ == '__main__':
     nodes = dict()
 
     chann = add_channel(ec, channel, xmpp_slice, xmpp_host)
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
         node = add_node(ec,all_hosts[i], xmpp_slice, xmpp_host)
         iface = add_interface(ec, all_ip[i], xmpp_slice, xmpp_host)
         ec.register_connection(node, iface)
@@ -186,7 +186,7 @@ if __name__ == '__main__':
 # CCN setup for the node
     ccnds = dict()
     ccnrs = dict()
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
         ccndstart = add_app(ec, nodes[all_hosts[i]],  "#ccndstart", "ccndstart &", 
                               env, xmpp_slice, xmpp_host)
         ccnr = add_app(ec, nodes[all_hosts[i]],  "#ccnr", "ccnr &", 
@@ -226,7 +226,7 @@ if __name__ == '__main__':
     link = [l1u, l1d, l2u, l2d, l3u, l3d, l4u, l4d, l5u, l5d, b1u, b1d, b2u, b2d]
 
 # List of condition
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
          ec.register_condition(ccnrs[all_hosts[i]], ResourceAction.START, ccnds[all_hosts[i]], ResourceState.STARTED, "1s")
          ec.register_condition(link, ResourceAction.START, ccnrs[all_hosts[i]], ResourceState.STARTED, "1s")
 
@@ -255,7 +255,7 @@ if __name__ == '__main__':
 
 # Cleaning when the experiment stop
     ccndstops = []
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
         ccndstop = add_app(ec, nodes[all_hosts[i]], "#ccndstop", "ccndstop", env, xmpp_slice, xmpp_host)
         ccndstops.append(ccndstop)
 
@@ -263,7 +263,7 @@ if __name__ == '__main__':
 
 # Condition to stop and clean the experiment
     apps = []
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
         apps.append(ccnds[all_hosts[i]])
         apps.append(ccnrs[all_hosts[i]])
     apps += link
index 7e37435..2c2b411 100644 (file)
@@ -166,7 +166,7 @@ if __name__ == '__main__':
     nodes = dict()
 
     chann = add_channel(ec, channel, xmpp_slice, xmpp_host)
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
         node = add_node(ec,all_hosts[i], xmpp_slice, xmpp_host)
         iface = add_interface(ec, all_ip[i], xmpp_slice, xmpp_host)
         ec.register_connection(node, iface)
@@ -213,7 +213,7 @@ if __name__ == '__main__':
 # Do the iperf
     iperfserv = dict()
     iperfclient = dict()
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
         perfserv = add_app(ec, nodes[all_hosts[i]],  "#perfserv", "iperf -s > /opt/iperfserv.txt", 
                               env, xmpp_slice, xmpp_host)
         iperfclient[all_hosts[i]] = []
@@ -231,7 +231,7 @@ if __name__ == '__main__':
 
         iperfserv[all_hosts[i]] = perfserv
 
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
          #ec.register_condition(iperfserv[all_hosts[i]], ResourceAction.START, link, ResourceState.STARTED, "2s")
          for elt in iperfclient[all_hosts[i]]:
              ec.register_condition(elt, ResourceAction.START, iperfserv[all_hosts[i]], ResourceState.STARTED, "3s")
@@ -257,14 +257,14 @@ if __name__ == '__main__':
 ##        ccndstop = add_app(ec, nodes[all_hosts[i]], "#ccndstop", "ccndstop", env, xmpp_slice, xmpp_host)
 ##        ccndstops.append(ccndstop)
     perfkill = dict()
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
         kill = add_app(ec, nodes[all_hosts[i]], "#kill", "killall iperf", "", xmpp_slice, xmpp_host)
         perfkill[all_hosts[i]] = kill
 
 
 # Condition to stop and clean the experiment
     apps = []
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
 #        apps.append(ccnds[all_hosts[i]])
 #        apps.append(ccnrs[all_hosts[i]])
         apps.append(iperfserv[all_hosts[i]])
@@ -280,7 +280,7 @@ if __name__ == '__main__':
 #    ec.register_condition(ccndstops + [killall], ResourceAction.STOP, ccndstops, ResourceState.STARTED, "1s")
 
     killall = []
-    for i in xrange(len(all_hosts)):
+    for i in range(len(all_hosts)):
         killall.append(perfkill[all_hosts[i]])
 
     ec.register_condition(killall, ResourceAction.START, apps, ResourceState.STOPPED, "1s")
index 44d0ae9..8498d60 100644 (file)
@@ -42,7 +42,7 @@
 #
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 from nepi.execution.resource import ResourceAction, ResourceState
index 7f50846..5de45db 100644 (file)
@@ -32,7 +32,7 @@
 # $ PYTHONPATH=$PYTHONPATH:src/ python examples/openvswitch/ovs_ping.py -n "192.168.3.0/24" -s <slicename> -i /~/.ssh/id_rsa
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 
index a28bef2..6fc773b 100644 (file)
@@ -33,7 +33,7 @@
 # $ PYTHONPATH=$PYTHONPATH:src/ python examples/openvswitch/ovs_ping_2_switches.py -n "192.168.3.0/24" -C "1.1.1.1" -s <slicename> -i /~/.ssh/id_rsa
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 
index c97b3a7..ee22e1c 100644 (file)
@@ -32,7 +32,7 @@
 # $ PYTHONPATH=$PYTHONPATH:src/ python examples/openvswitch/ovs_ping_3_switches.py -n "192.168.3.0/24" -C "1.1.1.1" -s <slicename> -i /~/.ssh/id_rsa
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 
@@ -225,8 +225,8 @@ r2ip = dict({
     })
 
 # Ping from all resources to all other resources
-for r1, (n1, ip1) in r2ip.iteritems():
-    for r2, (n2, ip2) in r2ip.iteritems():
+for r1, (n1, ip1) in r2ip.items():
+    for r2, (n2, ip2) in r2ip.items():
         if r1 == r2:
             continue
 
@@ -236,10 +236,10 @@ for r1, (n1, ip1) in r2ip.iteritems():
 
 ec.deploy()
 
-ec.wait_finished(apps.values())
+ec.wait_finished(list(apps.values()))
 
 # collect results
-for key, app in apps.iteritems():
+for key, app in apps.items():
     stdout = ec.trace(app, "stdout")
     print("***************************", key, "************************")
     print(stdout)
index 64c7888..17d2221 100644 (file)
@@ -31,7 +31,7 @@
 #     0 ------- network -------- 1
 #
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 
index f35ea70..5f07bf0 100644 (file)
@@ -24,7 +24,7 @@
 # $ cd <path-to-nepi>
 # python examples/planetlab/ping.py -s <pl-slice> -u <pl-user> -p <pl-password> -k <pl-ssh-key>  
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 
index f21d282..f0e498f 100644 (file)
@@ -22,7 +22,7 @@
 # $ cd <path-to-nepi>
 # python examples/planetlab/ping_with_filters.py -s <pl-slice> -u <pl-user> -p <pl-password> -k <pl-ssh-key>  
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 from nepi.execution.resource import ResourceAction, ResourceState
index f856f52..a0aec7d 100644 (file)
@@ -22,7 +22,7 @@
 # $ cd <path-to-nepi>
 # python examples/planetlab/select_nodes.py -s <pl-slice> -u <pl-user> -p <pl-password> -k <pl-ssh-key> -c <country> -o <operating-system> -n <node-count> 
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController
 
@@ -85,7 +85,7 @@ ec = ExperimentController(exp_id="host_select")
 
 nodes = []
 
-for i in xrange(node_count):
+for i in range(node_count):
     node = add_node(ec, pl_slice, pl_ssh_key, pl_user, pl_password, country, os)
     nodes.append(node)
 
index cd2a9cd..6bd9986 100644 (file)
@@ -27,7 +27,7 @@
 # $ cd <path-to-nepi>
 # python examples/planetlab/update_fedora_repo.py -H <host1,host2,..> -s <pl-slice> -u <pl-user> -p <pl-password> -k <pl-ssh-key>  
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
@@ -57,7 +57,7 @@ parser.add_option("-k", "--pl-ssh-key", dest="pl_ssh_key",
 
 (options, args) = parser.parse_args()
 
-proceed = raw_input ("Executing this script will modify the fedora yum repositories in the selected PlanetLab hosts. Are you sure to continue? [y/N] ")
+proceed = input ("Executing this script will modify the fedora yum repositories in the selected PlanetLab hosts. Are you sure to continue? [y/N] ")
 if proceed.lower() not in ['yes', 'y']:
     os._exit(1)
 
@@ -67,7 +67,7 @@ pl_user = options.pl_user
 pl_password = options.pl_password
 hosts = options.hosts
 
-hosts = map(str.strip, hosts.split(","))
+hosts = list(map(str.strip, hosts.split(",")))
 apps = []
 
 ## Create the experiment controller
index ef584b0..6775bd6 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -54,7 +54,6 @@ setup(
         "nepi.resources.linux.ns3" : [ "dependencies/*.tar.gz" ]
     },
     install_requires = [
-        "ipaddr",
         "networkx",
         # refrain from mentioning these ones that are not exactly crucial
         # and that have additional, non-python, dependencies
index 18764d0..8e7ff2a 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 import logging
 import os
index 7d35d9e..582b8dd 100644 (file)
@@ -40,7 +40,7 @@
 #                        \ nid3.log
 #
 
-from __future__ import print_function
+
 
 import collections
 import functools
@@ -242,7 +242,7 @@ def annotate_cn_graph(logs_dir, graph, parse_ping_logs = False):
 
     if not found_files:
         msg = "No CCND output files were found to parse at %s " % logs_dir
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     if parse_ping_logs:
         ping_parser.annotate_cn_graph(logs_dir, graph)
@@ -281,7 +281,7 @@ def process_content_history(graph):
         fname = graph.node[nid]["history"]
         history = load_content_history(fname)
 
-        for content_name in history.keys():
+        for content_name in list(history.keys()):
             hist = history[content_name]
 
             for (timestamp, message_type, nid1, nid2, nonce, size, line) in hist:
@@ -334,13 +334,13 @@ def process_content_history(graph):
 
     # Compute the time elapsed between the time an interest is sent
     # in the consumer node and when the content is received back
-    for content_name in content_names.keys():
+    for content_name in list(content_names.keys()):
         # order content and interest messages by timestamp
         content_names[content_name]["content"] = sorted(
               content_names[content_name]["content"])
         
         for nonce, timestamps in content_names[content_name][
-                    "interest"].iteritems():
+                    "interest"].items():
               content_names[content_name]["interest"][nonce] = sorted(
                         timestamps)
       
index b8132e5..b2b9a94 100644 (file)
@@ -108,7 +108,7 @@ def annotate_cn_graph(logs_dir, graph):
 
     if not found_files:
         msg = "No PING output files were found to parse at %s " % logs_dir 
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     # Take as weight the most frequent value
     for nid1, nid2 in graph.edges():
index 021e06e..23dcf29 100644 (file)
@@ -538,7 +538,7 @@ class ExperimentController(object):
             
         """
         rms = []
-        for guid, rm in self._resources.iteritems():
+        for guid, rm in self._resources.items():
             if rm.get_rtype() == rtype: 
                 rms.append(rm)
         return rms
@@ -554,7 +554,7 @@ class ExperimentController(object):
             :rtype: list
 
         """
-        keys = self._resources.keys()
+        keys = list(self._resources.keys())
 
         return keys
 
@@ -568,7 +568,7 @@ class ExperimentController(object):
             
         """
         rms = []
-        for guid, rm in self._resources.iteritems():
+        for guid, rm in self._resources.items():
             if rm.get_rtype() == rtype: 
                 rms.append(rm.guid)
         return rms
@@ -973,7 +973,7 @@ class ExperimentController(object):
         if not guids:
             # If no guids list was passed, all 'NEW' RMs will be deployed
             guids = []
-            for guid, rm in self._resources.iteritems():
+            for guid, rm in self._resources.items():
                 if rm.state == ResourceState.NEW:
                     guids.append(guid)
                 
@@ -985,7 +985,7 @@ class ExperimentController(object):
         new_group = False
         if not group:
             new_group = True
-            group = self._group_id_generator.next()
+            group = next(self._group_id_generator)
 
         if group not in self._groups:
             self._groups[group] = []
@@ -1186,7 +1186,7 @@ class ExperimentController(object):
             try:
                 self._cond.acquire()
 
-                task = self._scheduler.next()
+                task = next(self._scheduler)
                 
                 if not task:
                     # No task to execute. Wait for a new task to be scheduled.
index 89a395d..4394130 100644 (file)
@@ -267,7 +267,7 @@ class ResourceManager(Logger):
         """ Returns a copy of the attributes
 
         """
-        return copy.deepcopy(cls._attributes.values())
+        return copy.deepcopy(list(cls._attributes.values()))
 
     @classmethod
     def get_attribute(cls, name):
@@ -281,7 +281,7 @@ class ResourceManager(Logger):
         """ Returns a copy of the traces
 
         """
-        return copy.deepcopy(cls._traces.values())
+        return copy.deepcopy(list(cls._traces.values()))
 
     @classmethod
     def get_help(cls):
@@ -765,7 +765,7 @@ class ResourceManager(Logger):
         if not isinstance(group, list):
             group = [group]
 
-        for act, conditions in self.conditions.iteritems():
+        for act, conditions in self.conditions.items():
             if action and act != action:
                 continue
 
@@ -838,7 +838,7 @@ class ResourceManager(Logger):
                 if not rm.get('critical'):
                     continue
                 msg = "Resource can not wait for FAILED RM %d. Setting Resource to FAILED"
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             # If the RM state is lower than the requested state we must
             # reschedule (e.g. if RM is READY but we required STARTED).
index 0ab8731..dd2f7da 100644 (file)
@@ -89,7 +89,7 @@ class ExperimentRunner(object):
 
         if (not max_runs or max_runs < 0) and not compute_metric_callback:
             msg = "Undefined STOP condition, set stop_callback or max_runs"
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if compute_metric_callback and not evaluate_convergence_callback:
             evaluate_convergence_callback = self.evaluate_normal_convergence
@@ -138,7 +138,7 @@ class ExperimentRunner(object):
 
         if len(metrics) == 0:
             msg = "0 samples collected"
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         x = numpy.array(metrics)
         n = len(metrics)
@@ -170,7 +170,7 @@ class ExperimentRunner(object):
         ec.release()
 
         if ec.state == ECState.FAILED:
-            raise RuntimeError, "Experiment failed"
+            raise RuntimeError("Experiment failed")
 
         return ec
 
index 6ebcfea..bb8dfbe 100644 (file)
@@ -75,7 +75,7 @@ class HeapScheduler(object):
         :type task: task
         """
         if task.id == None:
-            task.id = self._idgen.next()
+            task.id = next(self._idgen)
 
         entry = (task.timestamp, task.id, task)
         self._valid.add(task.id)
@@ -94,7 +94,7 @@ class HeapScheduler(object):
         except:
             pass
 
-    def next(self):
+    def __next__(self):
         """ Get the next task in the queue by timestamp and arrival order
         """
         while self._queue:
index ebcd335..aac46b3 100644 (file)
@@ -77,7 +77,7 @@ class Collector(ResourceManager):
             
             msg = "No traceName was specified"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         self._store_path = self.ec.run_dir
 
index e73c867..2dcde66 100644 (file)
@@ -200,7 +200,7 @@ class LinuxApplication(ResourceManager):
             if not node: 
                 msg = "Application %s guid %d NOT connected to Node" % (
                         self._rtype, self.guid)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._node = node[0]
 
@@ -398,7 +398,7 @@ class LinuxApplication(ResourceManager):
         if sources:
             self.info("Uploading sources ")
 
-            sources = map(str.strip, sources.split(";"))
+            sources = list(map(str.strip, sources.split(";")))
 
             # Separate sources that should be downloaded from 
             # the web, from sources that should be uploaded from
@@ -572,7 +572,7 @@ class LinuxApplication(ResourceManager):
 
         if self._proc.poll():
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def _run_in_background(self):
         command = self.get("command")
@@ -601,7 +601,7 @@ class LinuxApplication(ResourceManager):
         
         if proc.poll():
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
     
         # Wait for pid file to be generated
         pid, ppid = self.node.wait_pid(self.run_home)
@@ -618,7 +618,7 @@ class LinuxApplication(ResourceManager):
             if err:
                 msg = " Failed to start command '%s' " % command
                 self.error(msg, out, err)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
     
     def do_stop(self):
         """ Stops application execution
index 6a32e1e..da8c2ab 100644 (file)
@@ -117,7 +117,7 @@ class LinuxCCNContent(LinuxApplication):
         if proc.poll():
             msg = "Failed to execute command"
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_start(self):
         if self.state == ResourceState.READY:
@@ -128,7 +128,7 @@ class LinuxCCNContent(LinuxApplication):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     @property
     def _start_command(self):
index b930cb7..eb39737 100644 (file)
@@ -204,7 +204,7 @@ class LinuxCCND(LinuxApplication):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
         command = self.get('command') or ''
@@ -340,8 +340,8 @@ class LinuxCCND(LinuxApplication):
             })
 
         env = self.path 
-        env += " ".join(map(lambda k: "%s=%s" % (envs.get(k), str(self.get(k))) \
-            if self.get(k) else "", envs.keys()))
+        env += " ".join(["%s=%s" % (envs.get(k), str(self.get(k))) \
+            if self.get(k) else "" for k in list(envs.keys())])
         
         return env            
 
index a9b9836..316818d 100644 (file)
@@ -257,7 +257,7 @@ class LinuxCCNR(LinuxApplication):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     @property
     def _start_command(self):
@@ -295,8 +295,8 @@ class LinuxCCNR(LinuxApplication):
             })
 
         env = self.ccnd.path
-        env += " ".join(map(lambda k: "%s=%s" % (envs.get(k), self.get(k)) \
-            if self.get(k) else "", envs.keys()))
+        env += " ".join(["%s=%s" % (envs.get(k), self.get(k)) \
+            if self.get(k) else "" for k in list(envs.keys())])
        
         return env            
         
index 24b729d..8712708 100644 (file)
@@ -181,7 +181,7 @@ class LinuxFIBEntry(LinuxApplication):
         if proc.poll():
             msg = "Failed to execute command"
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
         
     def configure(self):
         if self.trace_enabled("ping") and not self.ping:
@@ -216,7 +216,7 @@ class LinuxFIBEntry(LinuxApplication):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
         command = self.get('command')
@@ -234,7 +234,7 @@ class LinuxFIBEntry(LinuxApplication):
             if err:
                 msg = " Failed to execute command '%s'" % command
                 self.error(msg, out, err)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
     @property
     def _start_command(self):
index ed507c8..9b5901c 100644 (file)
@@ -22,9 +22,8 @@ def install_packages_command(os, packages):
     if not isinstance(packages, list):
         packages = [packages]
 
-    cmd = " && ".join(map(lambda p: 
-            " { dpkg -s %(package)s || sudo -S apt-get -y install %(package)s ; } " % {
-                    'package': p}, packages))
+    cmd = " && ".join([" { dpkg -s %(package)s || sudo -S apt-get -y install %(package)s ; } " % {
+                    'package': p} for p in packages])
         
     #cmd = { dpkg -s vim || sudo -S apt-get -y install vim ; } && ..
     return cmd 
@@ -33,9 +32,8 @@ def remove_packages_command(os, packages):
     if not isinstance(packages, list):
         packages = [packages]
 
-    cmd = " && ".join(map(lambda p: 
-            " { dpkg -s %(package)s && sudo -S apt-get -y purge %(package)s ; } " % {
-                    'package': p}, packages))
+    cmd = " && ".join([" { dpkg -s %(package)s && sudo -S apt-get -y purge %(package)s ; } " % {
+                    'package': p} for p in packages])
         
     #cmd = { dpkg -s vim && sudo -S apt-get -y purge vim ; } && ..
     return cmd 
index 6ca021b..f422a63 100644 (file)
@@ -72,7 +72,7 @@ class LinuxGRETunnel(LinuxTunnel):
         if not m or int(m.groups()[0]) == 100:
              msg = " Error establishing GRE Tunnel"
              self.error(msg, out, err)
-             raise RuntimeError, msg
+             raise RuntimeError(msg)
 
     def terminate_connection(self, endpoint, remote_endpoint):
         pass
index 7e3d25e..04d7959 100644 (file)
@@ -117,7 +117,7 @@ class LinuxInterface(ResourceManager):
         if err and proc.poll():
             msg = " Error retrieving interface information "
             self.error(msg, out, err)
-            raise RuntimeError, "%s - %s - %s" % (msg, out, err)
+            raise RuntimeError("%s - %s - %s" % (msg, out, err))
         
         # Check if an interface is found matching the RM attributes
         ifaces = out.split("\n\n")
@@ -179,7 +179,7 @@ class LinuxInterface(ResourceManager):
         if not self.get("deviceName"):
             msg = "Unable to resolve interface "
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         super(LinuxInterface, self).do_discover()
 
@@ -209,7 +209,7 @@ class LinuxInterface(ResourceManager):
             if err and proc.poll():
                 msg = "Error configuring interface with command '%s'" % cmd
                 self.error(msg, out, err)
-                raise RuntimeError, "%s - %s - %s" % (msg, out, err)
+                raise RuntimeError("%s - %s - %s" % (msg, out, err))
 
             if ip6 and mask6:
                 cmd = "ifconfig %(devname)s inet6 add %(ip6)s/%(mask6)d" % ({
@@ -222,7 +222,7 @@ class LinuxInterface(ResourceManager):
             if err and proc.poll():
                 msg = "Error seting ipv6 for interface using command '%s' " % cmd
                 self.error(msg, out, err)
-                raise RuntimeError, "%s - %s - %s" % (msg, out, err)
+                raise RuntimeError("%s - %s - %s" % (msg, out, err))
 
         super(LinuxInterface, self).do_provision()
 
index c5895fc..6327128 100644 (file)
@@ -117,7 +117,7 @@ class LinuxMtr(LinuxApplication):
             else:
                 msg = " Failed to execute command '%s'" % command
                 self.error(msg, out, err)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
         else:
            super(LinuxMtr, self).do_start()
 
index ee7369b..1ad5405 100644 (file)
@@ -17,7 +17,7 @@
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
 import base64
-import cPickle
+import pickle
 import errno
 import os
 import socket
@@ -44,7 +44,7 @@ class LinuxNetNSClient(NetNSClient):
         msg = [msg_type, args, kwargs]
 
         def encode(item):
-            item = cPickle.dumps(item)
+            item = pickle.dumps(item)
             return base64.b64encode(item)
 
         encoded = "|".join(map(encode, msg))
@@ -78,7 +78,7 @@ class LinuxNetNSClient(NetNSClient):
                 self.emulation.error(msg, reply, err)
                 raise RuntimeError(msg)
                    
-        reply = cPickle.loads(base64.b64decode(reply))
+        reply = pickle.loads(base64.b64decode(reply))
 
         return reply
 
index ede07eb..e39831c 100644 (file)
@@ -184,7 +184,7 @@ class LinuxNetNSEmulation(LinuxApplication, NetNSEmulation):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
         """ Stops simulation execution
@@ -369,7 +369,7 @@ class LinuxNetNSEmulation(LinuxApplication, NetNSEmulation):
         """
         command = " [ -e %s ] && echo 'DONE' " % self.remote_socket
 
-        for i in xrange(200):
+        for i in range(200):
             (out, err), proc = self.node.execute(command, retry = 1, 
                     with_lock = True)
 
index 16b9b00..b440038 100644 (file)
@@ -297,7 +297,7 @@ class LinuxNode(ResourceManager):
         if not self.localhost and not self.get("username"):
             msg = "Can't resolve OS, insufficient data "
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         out = self.get_os()
 
@@ -355,7 +355,7 @@ class LinuxNode(ResourceManager):
             trace = traceback.format_exc()
             msg = "Deploy failed. Unresponsive node {} -- traceback {}".format(self.get("hostname"), trace)
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         self.find_home()
 
@@ -489,7 +489,7 @@ class LinuxNode(ResourceManager):
                     # adding the avoided pids filtered above (avoid_kill) to allow users keep process
                     # alive when using besides ssh connections  
                     kill_pids = set(pids_temp.items()) - set(pids.items())
-                    kill_pids = ' '.join(dict(kill_pids).keys())
+                    kill_pids = ' '.join(list(dict(kill_pids).keys()))
 
                     # removing pids from beside connections and its process
                     kill_pids = kill_pids.split(' ')
@@ -773,7 +773,7 @@ class LinuxNode(ResourceManager):
         # If dst files should not be overwritten, check that the files do not
         # exits already
         if isinstance(src, str):
-            src = map(str.strip, src.split(";"))
+            src = list(map(str.strip, src.split(";")))
     
         if overwrite == False:
             src = self.filter_existing_files(src, dst)
@@ -796,7 +796,7 @@ class LinuxNode(ResourceManager):
             
             msg = "{} out: {} err: {}".format(msg, out, err)
             if raise_on_error:
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
         return ((out, err), proc)
 
@@ -812,7 +812,7 @@ class LinuxNode(ResourceManager):
             self.error(msg, out, err)
 
             if raise_on_error:
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
         return ((out, err), proc)
 
@@ -825,7 +825,7 @@ class LinuxNode(ResourceManager):
         else:
             msg = "Error installing packages ( OS not known ) "
             self.error(msg, self.os)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return command
 
@@ -866,7 +866,7 @@ class LinuxNode(ResourceManager):
         else:
             msg = "Error removing packages ( OS not known ) "
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         run_home = run_home or home
 
@@ -903,7 +903,7 @@ class LinuxNode(ResourceManager):
         if isinstance(paths, str):
             paths = [paths]
 
-        cmd = " ; ".join(map(lambda path: "rm -rf {}".format(path), paths))
+        cmd = " ; ".join(["rm -rf {}".format(path) for path in paths])
 
         return self.execute(cmd, with_lock = True)
     
@@ -950,7 +950,7 @@ class LinuxNode(ResourceManager):
             msg = " Failed to run command '{}' ".format(command)
             self.error(msg, out, err)
             if raise_on_error:
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
         # Wait for pid file to be generated
         pid, ppid = self.wait_pid(
@@ -972,7 +972,7 @@ class LinuxNode(ResourceManager):
                 self.error(msg, eout, err)
 
                 if raise_on_error:
-                    raise RuntimeError, msg
+                    raise RuntimeError(msg)
 
         (out, oerr), proc = self.check_output(home, stdout)
         
@@ -1073,7 +1073,7 @@ class LinuxNode(ResourceManager):
         pid = ppid = None
         delay = 1.0
 
-        for i in xrange(2):
+        for i in range(2):
             pidtuple = self.getpid(home = home, pidfile = pidfile)
             
             if pidtuple:
@@ -1087,7 +1087,7 @@ class LinuxNode(ResourceManager):
             self.error(msg)
     
             if raise_on_error:
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
         return pid, ppid
 
@@ -1166,7 +1166,7 @@ class LinuxNode(ResourceManager):
 
         if not self._home_dir:
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def filter_existing_files(self, src, dst):
         """ Removes files that already exist in the Linux host from src list
@@ -1176,19 +1176,19 @@ class LinuxNode(ResourceManager):
                 if len(src) > 1 else {dst: src[0]}
 
         command = []
-        for d in dests.keys():
+        for d in list(dests.keys()):
             command.append(" [ -f {dst} ] && echo '{dst}' ".format(dst=d) )
 
         command = ";".join(command)
 
         (out, err), proc = self.execute(command, retry = 1, with_lock = True)
         
-        for d in dests.keys():
+        for d in list(dests.keys()):
             if out.find(d) > -1:
                 del dests[d]
 
         if not dests:
             return []
 
-        return dests.values()
+        return list(dests.values())
 
index caa8e5b..445f774 100644 (file)
@@ -197,8 +197,7 @@ class LinuxNS3DceCCND(LinuxNS3CCNDceApplication):
             "prefix" : "CCND_PREFIX",
             })
 
-        env = ";".join(map(lambda k: "%s=%s" % (envs.get(k), str(self.get(k))), 
-            [k for k in envs.keys() if self.get(k)]))
+        env = ";".join(["%s=%s" % (envs.get(k), str(self.get(k))) for k in [k for k in list(envs.keys()) if self.get(k)]])
 
         return env
 
index b5a9ee0..248edbd 100644 (file)
@@ -221,8 +221,7 @@ class LinuxNS3DceCCNR(LinuxNS3CCNDceApplication):
             "ccnsSyncScope": "CCNS_SYNC_SCOPE",
             })
 
-        env = ";".join(map(lambda k: "%s=%s" % (envs.get(k), str(self.get(k))), 
-            [k for k in envs.keys() if self.get(k)]))
+        env = ";".join(["%s=%s" % (envs.get(k), str(self.get(k))) for k in [k for k in list(envs.keys()) if self.get(k)]])
 
         return env
 
index 087ccda..edb4222 100644 (file)
@@ -81,8 +81,7 @@ class LinuxNS3DceFIBEntry(LinuxNS3CCNDceApplication):
             "home": "HOME",
             })
 
-        env = ";".join(map(lambda k: "%s=%s" % (envs.get(k), str(self.get(k))), 
-            [k for k in envs.keys() if self.get(k)]))
+        env = ";".join(["%s=%s" % (envs.get(k), str(self.get(k))) for k in [k for k in list(envs.keys()) if self.get(k)]])
 
         return env
 
index 16816ef..9cc20d0 100644 (file)
@@ -93,7 +93,7 @@ class LinuxNs3FdUdpTunnel(LinuxUdpTunnel):
             if not devices or len(devices) != 2: 
                 msg = "linux::ns3::TunTapFdLink must be connected to exactly one FdNetDevice"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._fd1 = devices[0]
             self._fd2 = devices[1]
@@ -112,7 +112,7 @@ class LinuxNs3FdUdpTunnel(LinuxUdpTunnel):
                     self._fd2node.get("hostname"):
                 msg = "linux::ns3::FdUdpTunnel requires endpoints on different hosts"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
         return [self._fd1, self._fd2]
 
@@ -263,7 +263,7 @@ class LinuxNs3FdUdpTunnel(LinuxUdpTunnel):
         node = self.endpoint_node(endpoint) 
         run_home = self.run_home(endpoint)
 
-        for i in xrange(20):
+        for i in range(20):
             (out, err), proc = node.check_output(run_home, filename)
 
             if out:
@@ -275,7 +275,7 @@ class LinuxNs3FdUdpTunnel(LinuxUdpTunnel):
         else:
             msg = "Couldn't retrieve %s" % filename
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return result
 
@@ -304,7 +304,7 @@ class LinuxNs3FdUdpTunnel(LinuxUdpTunnel):
         
         if proc.poll():
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
     
         # Wait for pid file to be generated
         pid, ppid = node.wait_pid(run_home)
@@ -317,7 +317,7 @@ class LinuxNs3FdUdpTunnel(LinuxUdpTunnel):
         if err:
             msg = " Failed to start command '%s' " % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         port = self.wait_local_port(endpoint)
 
index 4d91938..ed41bdb 100644 (file)
@@ -17,7 +17,7 @@
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
 import base64
-import cPickle
+import pickle
 import errno
 import os
 import socket
@@ -44,7 +44,7 @@ class LinuxNS3Client(NS3Client):
         msg = [msg_type, args, kwargs]
 
         def encode(item):
-            item = cPickle.dumps(item)
+            item = pickle.dumps(item)
             return base64.b64encode(item)
 
         encoded = "|".join(map(encode, msg))
@@ -79,7 +79,7 @@ class LinuxNS3Client(NS3Client):
                     self.simulation.error(msg, reply, err)
                     raise RuntimeError(msg)
                        
-        reply = cPickle.loads(base64.b64decode(reply))
+        reply = pickle.loads(base64.b64decode(reply))
 
         return reply
 
index f6be975..3ace437 100644 (file)
@@ -311,7 +311,7 @@ class LinuxNS3Simulation(LinuxApplication, NS3Simulation):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
         """ Stops simulation execution
@@ -723,7 +723,7 @@ class LinuxNS3Simulation(LinuxApplication, NS3Simulation):
         """
         command = " [ -e %s ] && echo 'DONE' " % self.remote_socket
 
-        for i in xrange(200):
+        for i in range(200):
             (out, err), proc = self.node.execute(command, retry = 1, 
                     with_lock = True)
 
index be6f982..3fac31f 100644 (file)
@@ -46,7 +46,7 @@ class LinuxTunTapFdLink(LinuxApplication):
             if not devices or len(devices) != 1: 
                 msg = "TunTapFdLink must be connected to exactly one FdNetDevice"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._fdnetdevice = devices[0]
         
@@ -69,7 +69,7 @@ class LinuxTunTapFdLink(LinuxApplication):
             if not devices or len(devices) != 1: 
                 msg = "TunTapLink must be connected to exactly one Tap or Tun"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._tap = devices[0]
         
@@ -106,7 +106,7 @@ class LinuxTunTapFdLink(LinuxApplication):
                 self.fdnode.get("hostname"):
             msg = "Tap and FdNetDevice are not in the same host"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         self.send_address = self.fdnetdevice.recv_fd()
         self.set("command", self._start_command)
@@ -139,7 +139,7 @@ class LinuxTunTapFdLink(LinuxApplication):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     @property
     def _start_command(self):
index c660e8e..f585b2e 100644 (file)
@@ -212,7 +212,7 @@ class LinuxPing(LinuxApplication):
             else:
                 msg = " Failed to execute command '%s'" % command
                 self.error(msg, out, err)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
         else:
            super(LinuxPing, self).do_start()
 
index 7c6d292..28f6160 100644 (file)
@@ -55,8 +55,8 @@ class LinuxRoute(LinuxApplication):
             elif tun: self._device = tun[0]
             elif interface: self._device = interface[0]
             else:
-                raise RuntimeError"linux::Routes must be connected to a "\
-                        "linux::TAP, linux::TUN, or linux::Interface"
+                raise RuntimeError("linux::Routes must be connected to a "\
+                        "linux::TAP, linux::TUN, or linux::Interface")
         return self._device
 
     @property
@@ -108,7 +108,7 @@ class LinuxRoute(LinuxApplication):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
         command = self.get('command') or ''
index 4d22bc3..ae70e75 100644 (file)
@@ -29,9 +29,8 @@ def install_packages_command(os, packages):
 
     cmd = install_rpmfusion_command(os)
     if cmd: cmd += " ; "
-    cmd += " && ".join(map(lambda p: 
-            " { rpm -q %(package)s || sudo -S yum -y install --nogpgcheck %(package)s ; } " % {
-                    'package': p}, packages))
+    cmd += " && ".join([" { rpm -q %(package)s || sudo -S yum -y install --nogpgcheck %(package)s ; } " % {
+                    'package': p} for p in packages])
     
     #cmd = { rpm -q rpmfusion-free-release || sudo -s rpm -i ... ; } && { rpm -q vim || sudo yum -y install vim ; } && ..
     return cmd 
@@ -40,9 +39,8 @@ def remove_packages_command(os, packages):
     if not isinstance(packages, list):
         packages = [packages]
 
-    cmd = " && ".join(map(lambda p: 
-            " { rpm -q %(package)s && sudo -S yum -y remove %(package)s ; } " % {
-                    'package': p}, packages))
+    cmd = " && ".join([" { rpm -q %(package)s && sudo -S yum -y remove %(package)s ; } " % {
+                    'package': p} for p in packages])
         
     #cmd = { rpm -q vim && sudo yum -y remove vim ; } && ..
     return cmd 
index 83bd845..9ad2e50 100644 (file)
@@ -129,7 +129,7 @@ if __name__ == '__main__':
     #       even if the file exists and had the port number,
     #       the read operation returns empty string!
     #       Maybe a race condition?
-    for i in xrange(10):
+    for i in range(10):
         f = open(remote_port_file, 'r')
         remote_port = f.read()
         f.close()
index bd14cee..f5874b3 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 import base64
 import fcntl
@@ -57,7 +57,7 @@ def recv_msg(conn):
     while '\n' not in chunk:
         try:
             chunk = conn.recv(1024)
-        except (OSError, socket.error), e:
+        except (OSError, socket.error) as e:
             if e[0] != errno.EINTR:
                 raise
             # Ignore eintr errors
@@ -226,7 +226,7 @@ if __name__ == '__main__':
         while not stop:
             try:
                 (msg, args) = recv_msg(conn)
-            except socket.timeout, e:
+            except socket.timeout as e:
                 # Ingore time-out
                 continue
 
index 78b69c3..60a0e1a 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 import base64
 import socket
index a4b662e..6f6d837 100644 (file)
@@ -154,7 +154,7 @@ if __name__ == '__main__':
     #       even if the file exists and had the port number,
     #       the read operation returns empty string!
     #       Maybe a race condition?
-    for i in xrange(10):
+    for i in range(10):
         f = open(remote_port_file, 'r')
         remote_port = f.read()
         f.close()
index 170bf9d..11c68af 100644 (file)
@@ -18,7 +18,7 @@
 #         Claudio Freire <claudio-daniel.freire@inria.fr>
 #
 
-from __future__ import print_function
+
 
 import select
 import sys
@@ -37,7 +37,7 @@ import ctypes
 import time
 
 def ipfmt(ip):
-    ipbytes = map(ord,ip.decode("hex"))
+    ipbytes = list(map(ord,ip.decode("hex")))
     return '.'.join(map(str,ipbytes))
 
 tagtype = {
@@ -182,7 +182,7 @@ def piWrap(buf, ether_mode, etherProto=etherProto):
         buf,
     ))
 
-_padmap = [ chr(padding) * padding for padding in xrange(127) ]
+_padmap = [ chr(padding) * padding for padding in range(127) ]
 del padding
 
 def encrypt(packet, crypter, len=len, padmap=_padmap):
@@ -202,7 +202,7 @@ def decrypt(packet, crypter, ord=ord):
         padding = ord(packet[-1])
         if not (0 < padding <= crypter.block_size):
             # wrong padding
-            raise RuntimeError, "Truncated packet %s"
+            raise RuntimeError("Truncated packet %s")
         packet = packet[:-padding]
     
     return packet
@@ -404,7 +404,7 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
         
         try:
             rdrdy, wrdy, errs = select(rset,wset,eset,1)
-        except selecterror, e:
+        except selecterror as e:
             if e.args[0] == errno.EINTR:
                 # just retry
                 continue
@@ -442,7 +442,7 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
             sent = 0
             try:
                 try:
-                    for x in xrange(maxbatch):
+                    for x in range(maxbatch):
                         packet = pullPacket(fwbuf)
 
                         if crypto_mode:
@@ -460,7 +460,7 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
                         
                         if not rnonblock or not fpacketReady(fwbuf):
                             break
-                except OSError,e:
+                except OSError as e:
                     # This except handles the entire While block on PURPOSE
                     # as an optimization (setting a try/except block is expensive)
                     # The only operation that can raise this exception is rwrite
@@ -485,7 +485,7 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
                 bwfree -= sent
         if tun in wrdy:
             try:
-                for x in xrange(maxtbatch):
+                for x in range(maxtbatch):
                     packet = pullPacket(bkbuf)
                     twrite(tunfd, packet)
                     #wt += 1
@@ -500,7 +500,7 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
                     if slowlocal:
                         # Give some time for the kernel to process the packets
                         time.sleep(0)
-            except OSError,e:
+            except OSError as e:
                 # This except handles the entire While block on PURPOSE
                 # as an optimization (setting a try/except block is expensive)
                 # The only operation that can raise this exception is os_write
@@ -513,7 +513,7 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
         # check incoming data packets
         if tun in rdrdy:
             try:
-                for x in xrange(maxbatch):
+                for x in range(maxbatch):
                     packet = tread(tunfd,2000) # tun.read blocks until it gets 2k!
                     if not packet:
                         continue
@@ -522,7 +522,7 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
                     
                     if not tnonblock or len(fwbuf) >= maxfwbuf:
                         break
-            except OSError,e:
+            except OSError as e:
                 # This except handles the entire While block on PURPOSE
                 # as an optimization (setting a try/except block is expensive)
                 # The only operation that can raise this exception is os_read
@@ -531,7 +531,7 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
         if remote in rdrdy:
             try:
                 try:
-                    for x in xrange(maxbatch):
+                    for x in range(maxbatch):
                         packet = rread(remote,2000)
                         
                         #rr += 1
@@ -543,7 +543,7 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
                         elif not packet:
                             if not udp and packet == "":
                                 # Connection broken, try to reconnect (or just die)
-                                raise RuntimeError, "Connection broken"
+                                raise RuntimeError("Connection broken")
                             else:
                                 continue
 
@@ -551,13 +551,13 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
                         
                         if not rnonblock or len(bkbuf) >= maxbkbuf:
                             break
-                except OSError,e:
+                except OSError as e:
                     # This except handles the entire While block on PURPOSE
                     # as an optimization (setting a try/except block is expensive)
                     # The only operation that can raise this exception is rread
                     if e.errno not in retrycodes:
                         raise
-            except Exception, e:
+            except Exception as e:
                 if reconnect is not None:
                     # in UDP mode, sometimes connected sockets can return a connection refused
                     # on read. Give the caller a chance to reconnect
@@ -583,11 +583,11 @@ def tun_fwd(tun, remote, with_pi, ether_mode, cipher_key, udp, TERMINATE, SUSPEN
 def udp_connect(TERMINATE, local_addr, local_port, peer_addr, peer_port):
     rsock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
     retrydelay = 1.0
-    for i in xrange(30):
+    for i in range(30):
         # TERMINATE is a array. An item can be added to TERMINATE, from
         # outside this function to force termination of the loop
         if TERMINATE:
-            raise OSError, "Killed"
+            raise OSError("Killed")
         try:
             rsock.bind((local_addr, local_port))
             break
@@ -618,9 +618,9 @@ def udp_handshake(TERMINATE, rsock):
             pass
     keepalive_thread = threading.Thread(target=keepalive)
     keepalive_thread.start()
-    for i in xrange(900):
+    for i in range(900):
         if TERMINATE:
-            raise OSError, "Killed"
+            raise OSError("Killed")
         try:
             heartbeat = rsock.recv(10)
             break
@@ -644,11 +644,11 @@ def tcp_connect(TERMINATE, stop, rsock, peer_addr, peer_port):
     # will be forever blocked in the connect, so we put a reasonable timeout.
     rsock.settimeout(10) 
     # We wait for 
-    for i in xrange(30):
+    for i in range(30):
         if stop:
             break
         if TERMINATE:
-            raise OSError, "Killed"
+            raise OSError("Killed")
         try:
             rsock.connect((peer_addr, peer_port))
             sock = rsock
@@ -674,11 +674,11 @@ def tcp_listen(TERMINATE, stop, lsock, local_addr, local_port):
     retrydelay = 1.0
     # We try to bind to the local virtual interface. 
     # It might not exist yet so we wait in a loop.
-    for i in xrange(30):
+    for i in range(30):
         if stop:
             break
         if TERMINATE:
-            raise OSError, "Killed"
+            raise OSError("Killed")
         try:
             lsock.bind((local_addr, local_port))
             break
@@ -695,9 +695,9 @@ def tcp_listen(TERMINATE, stop, lsock, local_addr, local_port):
     # The other side might not be ready yet, so we also wait in a loop for timeouts.
     timeout = 1
     lsock.listen(1)
-    for i in xrange(30):
+    for i in range(30):
         if TERMINATE:
-            raise OSError, "Killed"
+            raise OSError("Killed")
         rlist, wlist, xlist = select.select([lsock], [], [], timeout)
         if stop:
             break
@@ -751,11 +751,11 @@ def tcp_establish(TERMINATE, local_addr, local_port, peer_addr, peer_port):
   
     end = False
     sock = None
-    for i in xrange(0, 50):
+    for i in range(0, 50):
         if end:
             break
         if TERMINATE:
-            raise OSError, "Killed"
+            raise OSError("Killed")
         hand = struct.pack("!L", random.randint(0, 2**30))
         stop = []
         lresult = []
@@ -786,5 +786,5 @@ def tcp_establish(TERMINATE, local_addr, local_port, peer_addr, peer_port):
                 end = True
 
     if not sock:
-        raise OSError, "Error: tcp_establish could not establish connection."
+        raise OSError("Error: tcp_establish could not establish connection.")
     return sock
index 9aba916..d7bad1c 100644 (file)
@@ -107,7 +107,7 @@ class LinuxTap(LinuxApplication):
     def node(self):
         node = self.get_connected(LinuxNode.get_rtype())
         if node: return node[0]
-        raise RuntimeError, "linux::TAP/TUN devices must be connected to a linux::Node"
+        raise RuntimeError("linux::TAP/TUN devices must be connected to a linux::Node")
 
     @property
     def gre_enabled(self):
@@ -243,7 +243,7 @@ class LinuxTap(LinuxApplication):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
         command = self.get('command') or ''
@@ -315,7 +315,7 @@ class LinuxTap(LinuxApplication):
         
         if proc.poll() or err:
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
     
         # Wait for pid file to be generated
         pid, ppid = self.node.wait_pid(connection_run_home, 
@@ -331,7 +331,7 @@ class LinuxTap(LinuxApplication):
             if err:
                 msg = " Failed to start command '%s' " % command
                 self.error(msg, out, err)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
         
         return True
 
@@ -366,7 +366,7 @@ class LinuxTap(LinuxApplication):
         
         if proc.poll():
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
     
         # Wait for pid file to be generated
         self._pid, self._ppid = self.node.wait_pid(
@@ -384,7 +384,7 @@ class LinuxTap(LinuxApplication):
             if err:
                 msg = " Failed to start command '%s' " % command
                 self.error(msg, out, err)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
         return self.wait_file(connection_run_home, "local_port")
 
@@ -412,7 +412,7 @@ class LinuxTap(LinuxApplication):
             if proc.poll() and err:
                 msg = " Failed to Kill the Tap"
                 self.error(msg, out, err)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
     def check_status(self):
         return self.node.status(self._pid, self._ppid)
@@ -422,7 +422,7 @@ class LinuxTap(LinuxApplication):
         result = None
         delay = 1.0
 
-        for i in xrange(20):
+        for i in range(20):
             (out, err), proc = self.node.check_output(home, filename)
             if out:
                 result = out.strip()
@@ -433,7 +433,7 @@ class LinuxTap(LinuxApplication):
         else:
             msg = "Couldn't retrieve %s" % filename
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return result
 
index 595fa01..b9cdf99 100644 (file)
@@ -95,7 +95,7 @@ class LinuxTraceroute(LinuxApplication):
             else:
                 msg = " Failed to execute command '%s'" % command
                 self.error(msg, out, err)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
         else:
            super(LinuxTraceroute, self).do_start()
 
index 1566654..1bb587d 100644 (file)
@@ -129,7 +129,7 @@ class LinuxTunnel(LinuxApplication):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
         """ Stops application execution
index 2e86470..4ef2b2b 100644 (file)
@@ -254,7 +254,7 @@ class LinuxUdpTest(LinuxApplication):
             else:
                 msg = " Failed to execute command '%s'" % command
                 self.error(msg, out, err)
-                raise RuntimeError, err
+                raise RuntimeError(err)
         else:
             super(LinuxUdpTest, self).do_start()
  
index 691ee32..68d64ef 100644 (file)
@@ -47,7 +47,7 @@ class NetNSApplication(NetNSBase):
         if not node: 
             msg = "Route not connected to Node!!"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return node[0]
 
index dcf27cb..3fee62e 100644 (file)
@@ -57,7 +57,7 @@ class NetNSBase(ResourceManager):
         objects to be deployed before proceeding with the deployment
 
         """
-        raise RuntimeError, "No dependencies defined!"
+        raise RuntimeError("No dependencies defined!")
 
     def _instantiate_object(self):
         pass
@@ -99,7 +99,7 @@ class NetNSBase(ResourceManager):
         else:
             msg = " Failed "
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
         if self.state == ResourceState.STARTED:
index d59a6fd..353e4a7 100644 (file)
@@ -48,7 +48,7 @@ class NetNSIPv4Address(NetNSBase):
         if not interface: 
             msg = "IPv4Address not connected to Interface!!"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return interface[0]
 
index a0748c2..cb0e0ad 100644 (file)
@@ -35,7 +35,7 @@ class NetNSNode(NetNSBase):
 
         msg = "Node not connected to Emulation"
         self.error(msg)
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
  
     @property
     def _rms_to_wait(self):
index ab627fc..4c2795b 100644 (file)
@@ -44,7 +44,7 @@ class NetNSNodeInterface(NetNSInterface):
         if not node: 
             msg = "Route not connected to Node!!"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return node[0]
 
index 147d012..d304fa0 100644 (file)
@@ -46,7 +46,7 @@ class NetNSIPv4Route(NetNSBase):
         if not node: 
             msg = "Route not connected to Node!!"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return node[0]
 
index a7ddb4d..f87a107 100644 (file)
@@ -17,7 +17,7 @@
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
 import base64
-import cPickle
+import pickle
 import errno
 import logging
 import os
@@ -26,7 +26,7 @@ import sys
 
 from optparse import OptionParser, SUPPRESS_HELP
 
-from netnswrapper import NetNSWrapper
+from .netnswrapper import NetNSWrapper
 
 class NetNSWrapperMessage:
     CREATE = "CREATE"
@@ -89,7 +89,7 @@ def recv_msg(conn):
     while '\n' not in chunk:
         try:
             chunk = conn.recv(1024)
-        except (OSError, socket.error), e:
+        except (OSError, socket.error) as e:
             if e[0] != errno.EINTR:
                 raise
             # Ignore eintr errors
@@ -110,9 +110,9 @@ def recv_msg(conn):
 
     def decode(item):
         item = base64.b64decode(item).rstrip()
-        return cPickle.loads(item)
+        return pickle.loads(item)
 
-    decoded = map(decode, msg.split("|"))
+    decoded = list(map(decode, msg.split("|")))
 
     # decoded message
     dmsg_type = decoded.pop(0)
@@ -122,7 +122,7 @@ def recv_msg(conn):
     return (dmsg_type, dargs, dkwargs)
 
 def send_reply(conn, reply):
-    encoded = base64.b64encode(cPickle.dumps(reply))
+    encoded = base64.b64encode(pickle.dumps(reply))
     conn.send("%s\n" % encoded)
 
 def get_options():
@@ -175,7 +175,7 @@ def run_server(socket_name, level = logging.INFO,
 
         try:
             (msg_type, args, kwargs) = recv_msg(conn)
-        except socket.timeout, e:
+        except socket.timeout as e:
             # Ingore time-out
             continue
 
index 90b981c..1387f61 100644 (file)
@@ -48,7 +48,7 @@ class NetNSSwitch(NetNSBase):
         if not interface: 
             msg = "Switch not connected to any Interface!!"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return interface[0]
 
index 6c0968b..24da1a9 100644 (file)
@@ -33,7 +33,7 @@ class NetNSWrapper(object):
         self._logger.setLevel(loglevel)
 
         # Object to dump instructions to reproduce and debug experiment
-        from netnswrapper_debug import NetNSWrapperDebuger
+        from .netnswrapper_debug import NetNSWrapperDebuger
         self._debuger = NetNSWrapperDebuger(enabled = enable_dump)
 
     @property
@@ -113,7 +113,7 @@ class NetNSWrapper(object):
         # then keep track of the object a return the object
         # reference (newuuid)
         if not (result is None or type(result) in [
-                bool, float, long, str, int]):
+                bool, float, int, str, int]):
             self._objects[newuuid] = result
             result = newuuid
 
@@ -183,7 +183,7 @@ class NetNSWrapper(object):
     def replace_kwargs(self, kwargs):
         realkwargs = dict([(k, self.get_object(v) \
                 if str(v).startswith("uuid") else v) \
-                for k,v in kwargs.iteritems()])
+                for k,v in kwargs.items()])
  
         return realkwargs
 
index 17ae1f2..83a33cd 100644 (file)
@@ -147,13 +147,11 @@ wrapper = NS3Wrapper()
         return pprint.pformat(value)
 
     def format_args(self, args):
-        fargs = map(self.format_value, args)
+        fargs = list(map(self.format_value, args))
         return "[%s]" % ",".join(fargs)
 
     def format_kwargs(self, kwargs):
-        fkwargs = map(lambda (k,w): 
-               "%s: %s" % (self.format_value(k), self.format_value(w)), 
-            kwargs.iteritems())
+        fkwargs = ["%s: %s" % (self.format_value(k_w[0]), self.format_value(k_w[1])) for k_w in iter(kwargs.items())]
         
         return  "dict({%s})" % ",".join(fkwargs)
         
index aa17028..681e1a1 100644 (file)
@@ -36,7 +36,7 @@ class NS3BaseApplication(NS3Base):
             if not nodes: 
                 msg = "Application not connected to node"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._node = nodes[0]
 
index be086de..708b37c 100644 (file)
@@ -31,7 +31,7 @@ class NS3BaseArpL3Protocol(NS3Base):
         if not nodes: 
             msg = "ArpL3Protocol not connected to node"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return nodes[0]
 
index 714f40f..4794849 100644 (file)
@@ -81,7 +81,7 @@ class NS3Base(ResourceManager):
             return 
 
         kwargs = dict()
-        for attr in self._attrs.values():
+        for attr in list(self._attrs.values()):
             if not ( attr.has_flag(Flags.Construct) and attr.has_changed ):
                 continue
 
@@ -132,7 +132,7 @@ class NS3Base(ResourceManager):
         else:
             msg = "Failed"
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
         if self.state == ResourceState.STARTED:
index 70b03fc..b218e51 100644 (file)
@@ -35,7 +35,7 @@ class NS3BaseChannel(NS3Base):
         if not devices: 
             msg = "Channel not connected to devices"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return devices
 
index b9ef4dc..7068158 100644 (file)
@@ -31,7 +31,7 @@ class NS3BaseErrorModel(NS3Base):
         if not devices: 
             msg = "ErrorModel not connected to device"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return devices[0]
 
index 80bc43e..c7182d0 100644 (file)
@@ -35,7 +35,7 @@ class NS3BaseErrorRateModel(NS3Base):
         if not phys: 
             msg = "ErrorRateModel not connected to phy"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return phys[0]
 
index 4473980..8ba29df 100644 (file)
@@ -48,7 +48,7 @@ class NS3BaseFdNetDevice(NS3BaseNetDevice):
         if mode != "ns3::RealtimeSimulatorImpl":
             msg = "The simulation must run in real time!!"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
         
         super(NS3BaseFdNetDevice, self)._instantiate_object()
 
index f653e9c..ae39a5e 100644 (file)
@@ -31,7 +31,7 @@ class NS3BaseIcmpv4L4Protocol(NS3Base):
         if not nodes: 
             msg = "Icmp4L4Protocol not connected to node"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return nodes[0]
 
index 11a85ea..c82e9a1 100644 (file)
@@ -37,7 +37,7 @@ class NS3BaseIpv4L3Protocol(NS3Base):
         if not nodes: 
             msg = "Ipv4L3Protocol not connected to node"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return nodes[0]
 
index 3d74a72..f998085 100644 (file)
@@ -21,7 +21,7 @@ from nepi.execution.resource import clsinit_copy
 from nepi.execution.trace import Trace
 from nepi.resources.ns3.ns3base import NS3Base
 
-import ipaddr
+import ipaddress
 
 @clsinit_copy
 class NS3BaseNetDevice(NS3Base):
@@ -65,7 +65,7 @@ class NS3BaseNetDevice(NS3Base):
         if not nodes: 
             msg = "Device not connected to node"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return nodes[0]
 
@@ -77,7 +77,7 @@ class NS3BaseNetDevice(NS3Base):
         if not channels: 
             msg = "Device not connected to channel"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return channels[0]
 
@@ -89,7 +89,7 @@ class NS3BaseNetDevice(NS3Base):
         if not queue: 
             msg = "Device not connected to queue"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return queue[0]
 
@@ -150,7 +150,7 @@ class NS3BaseNetDevice(NS3Base):
         ip = self.get("ip")
         prefix = self.get("prefix")
 
-        i = ipaddr.IPAddress(ip)
+        i = ipaddress.ip_address(ip)
         if i.version == 4:
             # IPv4
             ipv4 = self.node.ipv4
index c158728..ca63c3c 100644 (file)
@@ -57,7 +57,7 @@ class NS3BaseNode(NS3Base):
             if not self._simulation:
                 msg = "Node not connected to simulation"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
         return self._simulation
          
@@ -100,7 +100,7 @@ class NS3BaseNode(NS3Base):
             if not devices: 
                 msg = "Node not connected to devices"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._devices = devices
 
index 2a85e69..40b3ab5 100644 (file)
@@ -40,7 +40,7 @@ class NS3BasePipeChannel(NS3Base):
             if not devices or len(devices) != 2: 
                 msg = "PipeChannel must be connected to exactly to two FdNetDevices"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._devices = devices
         
index 240094e..9f61915 100644 (file)
@@ -35,7 +35,7 @@ class NS3BasePropagationDelayModel(NS3Base):
         if not channels: 
             msg = "PropagationDelayModel not connected to channel"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return channels[0]
 
index f723e9c..9c6c3c7 100644 (file)
@@ -35,7 +35,7 @@ class NS3BasePropagationLossModel(NS3Base):
         if not channels: 
             msg = "PropagationLossModel not connected to channel"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return channels[0]
 
index c7edad2..1341e96 100644 (file)
@@ -31,7 +31,7 @@ class NS3BaseQueue(NS3Base):
         if not devices: 
             msg = "Queue not connected to device"
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return devices[0]
 
index db2c147..48a0358 100644 (file)
@@ -21,8 +21,6 @@ from nepi.execution.resource import clsinit_copy
 from nepi.execution.trace import Trace
 from nepi.resources.ns3.ns3base import NS3Base
 
-import ipaddr
-
 @clsinit_copy
 class NS3Route(NS3Base):
     _rtype = "ns3::Route"
@@ -53,7 +51,7 @@ class NS3Route(NS3Base):
         if not nodes: 
             msg = "Device not connected to node"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return nodes[0]
 
@@ -83,7 +81,7 @@ class NS3Route(NS3Base):
             msg = "Could not configure route %s/%s hop: %s" % (network, prefix, 
                     nexthop)
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def _connect_object(self):
         node = self.node
index e8a6f7d..0de1a87 100644 (file)
@@ -17,7 +17,7 @@
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
 import base64
-import cPickle
+import pickle
 import errno
 import logging
 import os
@@ -26,7 +26,7 @@ import sys
 
 from optparse import OptionParser, SUPPRESS_HELP
 
-from ns3wrapper import NS3Wrapper
+from .ns3wrapper import NS3Wrapper
 
 class NS3WrapperMessage:
     CREATE = "CREATE"
@@ -115,7 +115,7 @@ def recv_msg(conn):
     while '\n' not in chunk:
         try:
             chunk = conn.recv(1024)
-        except (OSError, socket.error), e:
+        except (OSError, socket.error) as e:
             if e[0] != errno.EINTR:
                 raise
             # Ignore eintr errors
@@ -136,9 +136,9 @@ def recv_msg(conn):
 
     def decode(item):
         item = base64.b64decode(item).rstrip()
-        return cPickle.loads(item)
+        return pickle.loads(item)
 
-    decoded = map(decode, msg.split("|"))
+    decoded = list(map(decode, msg.split("|")))
 
     # decoded message
     dmsg_type = decoded.pop(0)
@@ -148,7 +148,7 @@ def recv_msg(conn):
     return (dmsg_type, dargs, dkwargs)
 
 def send_reply(conn, reply):
-    encoded = base64.b64encode(cPickle.dumps(reply))
+    encoded = base64.b64encode(pickle.dumps(reply))
     conn.send("%s\n" % encoded)
 
 def get_options():
@@ -206,7 +206,7 @@ def run_server(socket_name, level = logging.INFO, ns_log = None,
 
         try:
             (msg_type, args, kwargs) = recv_msg(conn)
-        except socket.timeout, e:
+        except socket.timeout as e:
             # Ingore time-out
             close_socket(conn)
             continue
index 2645a5d..8bce654 100644 (file)
@@ -35,7 +35,7 @@ class NS3BaseWifiChannel(NS3Base):
         if not phys: 
             msg = "Channel not connected to phy"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return phys
 
index 373b7e0..04bd83a 100644 (file)
@@ -29,7 +29,7 @@ class NS3BaseWifiMac(NS3Base):
     def _register_attributes(cls):
         standard = Attribute("Standard", "Wireless standard",
                 default = "WIFI_PHY_STANDARD_80211a",
-                allowed = WIFI_STANDARDS.keys(),
+                allowed = list(WIFI_STANDARDS.keys()),
                 type = Types.Enumerate,
                 flags = Flags.Design)
 
@@ -47,7 +47,7 @@ class NS3BaseWifiMac(NS3Base):
         if not devices: 
             msg = "WifiMac not connected to device"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return devices[0]
 
index 22513aa..c1dfbee 100644 (file)
@@ -29,7 +29,7 @@ class NS3BaseWifiPhy(NS3Base):
     def _register_attributes(cls):
         standard = Attribute("Standard", "Wireless standard",
                 default = "WIFI_PHY_STANDARD_80211a",
-                allowed = WIFI_STANDARDS.keys(),
+                allowed = list(WIFI_STANDARDS.keys()),
                 type = Types.Enumerate,
                 flags = Flags.Design)
 
@@ -47,7 +47,7 @@ class NS3BaseWifiPhy(NS3Base):
         if not devices: 
             msg = "WifiPhy not connected to device"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return devices[0]
 
@@ -59,7 +59,7 @@ class NS3BaseWifiPhy(NS3Base):
         if not channels: 
             msg = "WifiPhy not connected to channel"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return channels[0]
 
index bdbe98a..94cfd2a 100644 (file)
@@ -36,7 +36,7 @@ class NS3BaseWifiRemoteStationManager(NS3Base):
         if not devices: 
             msg = "WifiRemoteStationManager not connected to device"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return devices[0]
 
index f6cc247..c275dcd 100644 (file)
@@ -130,7 +130,7 @@ class NS3Wrapper(object):
         self._allowed_types = None
 
         # Object to dump instructions to reproduce and debug experiment
-        from ns3wrapper_debug import NS3WrapperDebuger
+        from .ns3wrapper_debug import NS3WrapperDebuger
         self._debuger = NS3WrapperDebuger(enabled = enable_dump)
 
     @property
@@ -154,7 +154,7 @@ class NS3Wrapper(object):
             tid_count = type_id.GetRegisteredN()
             base = type_id.LookupByName("ns3::Object")
 
-            for i in xrange(tid_count):
+            for i in range(tid_count):
                 tid = type_id.GetRegistered(i)
                 
                 if tid.MustHideFromDocumentation() or \
@@ -213,7 +213,7 @@ class NS3Wrapper(object):
         factory = self.ns3.ObjectFactory()
         factory.SetTypeId(type_name)
 
-        for name, value in kwargs.iteritems():
+        for name, value in kwargs.items():
             ns3_value = self._attr_from_string_to_ns3_value(type_name, name, value)
             factory.Set(name, ns3_value)
 
@@ -327,7 +327,7 @@ class NS3Wrapper(object):
             # then keep track of the object a return the object
             # reference (newuuid)
             if not (result is None or type(result) in [
-                    bool, float, long, str, int]):
+                    bool, float, int, str, int]):
                 self._objects[newuuid] = result
                 result = newuuid
 
@@ -482,7 +482,7 @@ class NS3Wrapper(object):
                 condition.release()
 
         # contextId is defined as general context
-        contextId = long(0xffffffff)
+        contextId = int(0xffffffff)
 
         # delay 0 means that the event is expected to execute inmediately
         delay = self.ns3.Seconds(0)
@@ -575,11 +575,11 @@ class NS3Wrapper(object):
     def replace_kwargs(self, kwargs):
         realkwargs = dict([(k, self.get_object(v) \
                 if str(v).startswith("uuid") else v) \
-                for k,v in kwargs.iteritems()])
+                for k,v in kwargs.items()])
  
         realkwargs = dict([(k, self._singleton(v) \
                 if str(v).startswith(SINGLETON) else v )\
-                for k, v in realkwargs.iteritems()])
+                for k, v in realkwargs.items()])
 
         return realkwargs
 
@@ -645,10 +645,10 @@ class NS3Wrapper(object):
         # For all the interfaces registered with the ipv4 object, find
         # the one that matches the network of the nexthop
         nifaces = ipv4.GetNInterfaces()
-        for ifidx in xrange(nifaces):
+        for ifidx in range(nifaces):
             iface = ipv4.GetInterface(ifidx)
             naddress = iface.GetNAddresses()
-            for addridx in xrange(naddress):
+            for addridx in range(naddress):
                 ifaddr = iface.GetAddress(addridx)
                 ifmask = ifaddr.GetMask()
                 
@@ -668,7 +668,7 @@ class NS3Wrapper(object):
         newuuid = None
         if search:
             # search object
-            for ouuid, oobj in self._objects.iteritems():
+            for ouuid, oobj in self._objects.items():
                 if nobj == oobj:
                     newuuid = ouuid
                     break
index 7368448..75df9bc 100644 (file)
@@ -167,13 +167,11 @@ wrapper = NS3Wrapper()
         return pprint.pformat(value)
 
     def format_args(self, args):
-        fargs = map(self.format_value, args)
+        fargs = list(map(self.format_value, args))
         return "[%s]" % ",".join(fargs)
 
     def format_kwargs(self, kwargs):
-        fkwargs = map(lambda (k,w): 
-               "%s: %s" % (self.format_value(k), self.format_value(w)), 
-            kwargs.iteritems())
+        fkwargs = ["%s: %s" % (self.format_value(k_w[0]), self.format_value(k_w[1])) for k_w in iter(kwargs.items())]
         
         return  "dict({%s})" % ",".join(fkwargs)
         
index 9097906..766807b 100644 (file)
@@ -29,7 +29,7 @@
 #  PYTHONPATH=$PYTHONPATH:~/repos/nepi/src python src/nepi/resources/ns3/resource_manager_generator.py
 #
 
-from __future__ import print_function
+
 
 # Force the load of ns3 libraries
 from nepi.resources.ns3.ns3wrapper import load_ns3_module
@@ -96,7 +96,7 @@ def create_ns3_rms():
     base = type_id.LookupByName("ns3::Object")
 
     # Create a .py file using the ns-3 RM template for each ns-3 TypeId
-    for i in xrange(tid_count):
+    for i in range(tid_count):
         tid = type_id.GetRegistered(i)
         
         (base_class_import, base_class) = select_base_class(ns3, tid)
@@ -159,7 +159,7 @@ def template_attributes(ns3, tid):
     attributes = ""
 
     attr_count = tid.GetAttributeN()
-    for i in xrange(attr_count):
+    for i in range(attr_count):
         attr_info = tid.GetAttribute(i)
         if not attr_info.accessor.HasGetter():
             continue
@@ -195,7 +195,7 @@ def template_attributes(ns3, tid):
         elif isinstance(value, ns3.EnumValue):
             attr_type = "Types.Enumerate"
             allowed = checker.GetUnderlyingTypeInformation().split("|")
-            attr_allowed = "[%s]" % ",".join(map(lambda x: "\"%s\"" % x, allowed))
+            attr_allowed = "[%s]" % ",".join(["\"%s\"" % x for x in allowed])
         elif isinstance(value, ns3.DoubleValue):
             attr_type = "Types.Double"
             # TODO: range
@@ -224,7 +224,7 @@ def template_traces(ns3, tid):
     traces = ""
 
     trace_count = tid.GetTraceSourceN()
-    for i in xrange(trace_count):
+    for i in range(trace_count):
         trace_info = tid.GetTraceSource(i)
         trace_name = trace_info.name
         trace_help = trace_info.help.replace('"', '\\"').replace("'", "\\'")
index 8384024..14f78f3 100644 (file)
@@ -17,7 +17,7 @@
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 #         Julien Tribino <julien.tribino@inria.fr>
 
-from __future__ import print_function
+
 
 import os
 
@@ -202,7 +202,7 @@ class OMFApplication(OMFResource):
         if not self.get('xmppServer'):
             msg = "XmppServer is not initialzed. XMPP Connections impossible"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if not (self.get('xmppUser') or self.get('xmppPort') 
                    or self.get('xmppPassword')):
@@ -212,7 +212,7 @@ class OMFApplication(OMFResource):
         if not self.get('command') :
             msg = "Application's Command is not initialized"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if not self._omf_api :
             self._omf_api = OMFAPIFactory.get_api(self.get('version'), 
@@ -244,7 +244,7 @@ class OMFApplication(OMFResource):
             if self._create_cnt > confirmation_counter:
                 msg = "Couldn't retrieve the confirmation of the creation"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             uid = self.check_deploy(self.create_id)
             if not uid:
@@ -333,7 +333,7 @@ class OMFApplication(OMFResource):
             if self._start_cnt > confirmation_counter:
                 msg = "Couldn't retrieve the confirmation that the application started"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             res = self.check_start(self._topic_app)
             if not res:
index 1c14304..bac1119 100644 (file)
@@ -153,7 +153,7 @@ class OMFChannel(OMFResource):
         if not self.get('channel'):
             msg = "Channel's value is not initialized"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if self.get('version') == "6":
             self.frequency = self.get_frequency(self.get('channel'))
@@ -163,7 +163,7 @@ class OMFChannel(OMFResource):
         if not self.get('xmppServer'):
             msg = "XmppServer is not initialzed. XMPP Connections impossible"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if not (self.get('xmppUser') or self.get('xmppPort') 
                    or self.get('xmppPassword')):
index aa4d5bc..e776785 100644 (file)
@@ -228,7 +228,7 @@ class OMFWifiInterface(OMFResource):
         if not self.get('xmppServer'):
             msg = "XmppServer is not initialzed. XMPP Connections impossible"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if not (self.get('xmppUser') or self.get('xmppPort') 
                    or self.get('xmppPassword')):
@@ -243,13 +243,13 @@ class OMFWifiInterface(OMFResource):
         if not (self.get('name')):
             msg = "Interface's name is not initialized"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if not (self.get('mode') and self.get('essid') \
                  and self.get('hw_mode') and self.get('ip')):
             msg = "Interface's variable are not initialized"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if self.get('version') == "5":
             res = self.configure_on_omf5()        
@@ -285,7 +285,7 @@ class OMFWifiInterface(OMFResource):
         if self._create_cnt > confirmation_counter:
             msg = "Couldn't retrieve the confirmation of the creation"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         uid = self.check_deploy(self.create_id)
         if not uid:
index 5b8203c..49c9e9c 100644 (file)
@@ -114,17 +114,17 @@ class MessageHandler():
             else:
                 properties = self._attr_element(payload,"props","")
 
-            for prop in props.keys():
+            for prop in list(props.keys()):
                 if isinstance(props[prop],str):
                     self._attr_element(properties,prop,props[prop],type_key="type", type_value = "string")
                 elif isinstance(props[prop],dict):
                     key = self._attr_element(properties,prop,"",type_key="type", type_value = "hash")
-                    for comp in props[prop].keys():
+                    for comp in list(props[prop].keys()):
                         self._attr_element(key,comp,props[prop][comp],type_key="type", type_value = "string")
 
         if guards :
             guardians = self._attr_element(payload,"guard","")
-            for guard in guards.keys():
+            for guard in list(guards.keys()):
                 self._attr_element(guardians,guard,guards[guard],type_key="type", type_value = "string")
 
         return payload
@@ -149,12 +149,12 @@ class MessageHandler():
 
         if props :
             properties = self._attr_element(payload,"props","")
-            for prop in props.keys():
+            for prop in list(props.keys()):
                 self._attr_element(properties,prop,props[prop],type_key="type", type_value = "symbol")
            
         if guards :
             guardians = self._attr_element(payload,"guard","")
-            for guard in guards.keys():
+            for guard in list(guards.keys()):
                 self._attr_element(guardians,guard,guards[guard],type_key="type", type_value = "string")
 
         return payload
@@ -179,12 +179,12 @@ class MessageHandler():
 
         if props :
             properties = self._attr_element(payload,"props","")
-            for prop in props.keys():
+            for prop in list(props.keys()):
                 self._attr_element(properties,prop,props[prop])
 
         if guards :
             guardians = self._attr_element(payload,"guard","")
-            for guard in guards.keys():
+            for guard in list(guards.keys()):
                 self._attr_element(guardians,guard,guards[guard])
         return payload
 
@@ -240,12 +240,12 @@ class MessageHandler():
         if props :
             properties = self._id_element(payload,"props","xmlns:frcp",
                       "http://schema.mytestbed.net/omf/6.0/protocol")
-            for prop in props.keys():
+            for prop in list(props.keys()):
                 self._attr_element(properties,prop,props[prop])
 
         if guards :
             guardians = self._attr_element(payload,"guard","")
-            for guard in guards.keys():
+            for guard in list(guards.keys()):
                 self._attr_element(guardians,guard,guards[guard])
 
         return payload
index d51725e..b898f7e 100644 (file)
@@ -112,12 +112,12 @@ class OMFNode(OMFResource):
         if not self.get('xmppServer'):
             msg = "XmppServer is not initialzed. XMPP Connections impossible"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if not self.get('version'):
             msg = "Version of OMF is not indicated"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if not (self.get('xmppUser') or self.get('xmppPort') 
                    or self.get('xmppPassword')):
@@ -132,7 +132,7 @@ class OMFNode(OMFResource):
         if not self.get('hostname') :
             msg = "Hostname's value is not initialized"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if self.get('version') == "5":
             self._omf_api.enroll_host(self.get('hostname'))
index 35aa219..7a4f5b2 100644 (file)
@@ -114,7 +114,7 @@ class OMF6API(Logger):
 
     def check_ready(self, xmpp):
         delay = 1.0
-        for i in xrange(15):
+        for i in range(15):
             if xmpp.ready:
                 break
             else:
@@ -123,7 +123,7 @@ class OMF6API(Logger):
         else:
             msg = "XMPP Client is not ready after long time"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     @property
     def _nepi_topic(self):
index 1220e00..4ddd60e 100644 (file)
@@ -175,7 +175,7 @@ class OMF6Parser(Logger):
         event = self._check_for_tag(root, namespaces, "event")
 
         log = "STATUS -- "
-        for elt in props.keys():
+        for elt in list(props.keys()):
             ns, tag = elt.split('}')
             if tag == "it":
                 log = log + "membership : " + props[elt]+" -- "
index 41d4664..4513949 100644 (file)
@@ -393,7 +393,7 @@ class WilabtSfaNode(OMFNode):
         attribute hostname, it will over write the previous value.
         """
         hosts_hrn = self.sfaapi.get_resources_hrn()
-        for host, hrn  in hosts_hrn.iteritems():
+        for host, hrn  in hosts_hrn.items():
             if hrn == node:
                 host = host + '.wilab2.ilabt.iminds.be'
                 self.set("host", host)
@@ -407,7 +407,7 @@ class WilabtSfaNode(OMFNode):
         slice_nodes = self.sfaapi.get_slice_resources(slicename)['resource']
         if slice_nodes:
             if len(slice_nodes[0]['services']) != 0:
-                slice_nodes_hrn = self.sfaapi.get_resources_hrn(slice_nodes).values()
+                slice_nodes_hrn = list(self.sfaapi.get_resources_hrn(slice_nodes).values())
         else: slice_nodes_hrn = []
         nodes_inslice = list(set(hosts_hrn) & set(slice_nodes_hrn))
         return nodes_inslice
@@ -444,23 +444,23 @@ class WilabtSfaNode(OMFNode):
     def fail_discovery(self):
         msg = "Discovery failed. No candidates found for node"
         self.error(msg)
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def fail_node_not_alive(self, host=None):
         msg = "Node %s not alive" % host
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
     
     def fail_node_not_available(self, host):
         msg = "Some nodes not available for provisioning"
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def fail_not_enough_nodes(self):
         msg = "Not enough nodes available for provisioning"
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def fail_sfaapi(self):
         msg = "Failing while trying to instanciate the SFA API."
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def valid_connection(self, guid):
         # TODO: Validate!
index fe7f058..ea2b9b9 100644 (file)
@@ -428,7 +428,7 @@ class PlanetlabNode(LinuxNode):
         nodes_id = []
         filters = {}
 
-        for attr_name, attr_obj in self._attrs.iteritems():
+        for attr_name, attr_obj in self._attrs.items():
             attr_value = self.get(attr_name)
             
             if attr_value is not None and attr_obj.has_flag(Flags.Filter) and \
@@ -659,24 +659,24 @@ class PlanetlabNode(LinuxNode):
     def fail_discovery(self):
         msg = "Discovery failed. No candidates found for node"
         self.error(msg)
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def fail_node_not_alive(self, hostname=None):
         msg = "Node %s not alive" % hostname
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
     
     def fail_node_not_available(self, hostname):
         msg = "Node %s not available for provisioning" % hostname
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def fail_not_enough_nodes(self):
         msg = "Not enough nodes available for provisioning"
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def fail_plapi(self):
         msg = "Failing while trying to instanciate the PLC API.\nSet the" + \
             " attributes pluser and plpassword."
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def valid_connection(self, guid):
         # TODO: Validate!
index 173049c..3b9abae 100644 (file)
@@ -43,7 +43,7 @@ class PlanetlabNs3FdUdpTunnel(LinuxNs3FdUdpTunnel):
             if not devices or len(devices) != 2: 
                 msg = "Tunnel must be connected to exactly two FdNetDevices"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._fd1 = devices[0]
             self._fd2 = devices[1]
@@ -67,7 +67,7 @@ class PlanetlabNs3FdUdpTunnel(LinuxNs3FdUdpTunnel):
                     self._fd2node.get("hostname"):
                 msg = "Tunnel requires endpoints on different hosts"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
         return [self._fd1, self._fd2]
 
index 6909571..510a595 100644 (file)
@@ -42,7 +42,7 @@ class PlanetlabTunTapFdLink(LinuxTunTapFdLink):
             if not devices or len(devices) != 1: 
                 msg = "planetlab::ns3::TunTapFdLink must be connected to exactly one FdNetDevice"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._fdnetdevice = devices[0]
 
@@ -65,7 +65,7 @@ class PlanetlabTunTapFdLink(LinuxTunTapFdLink):
             if not devices or len(devices) != 1: 
                 msg = "planetlab::ns3::TunTapFdLink must be connected to exactly one PlanetlabTap"
                 self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._tap = devices[0]
         
index 7797465..a3cf2fa 100644 (file)
@@ -88,7 +88,7 @@ class PlanetlabOVSSwitch(LinuxApplication):
             if not nodes or len(nodes) != 1: 
                 msg = "PlanetlabOVSSwitch must be connected to exactly one PlanetlabNode"
                 #self.error(msg)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._node = nodes[0]
 
@@ -148,7 +148,7 @@ class PlanetlabOVSSwitch(LinuxApplication):
         except RuntimeError:
             msg = "Command sliver-ovs does not exist on the VM"         
             self.debug(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def servers_on(self):
         """ Start the openvswitch servers and check it
@@ -179,7 +179,7 @@ class PlanetlabOVSSwitch(LinuxApplication):
         except RuntimeError:
             msg = "Failed to start ovs-server on VM"            
             self.debug(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         command = "ps -A | grep ovsdb-server"
         shfile = os.path.join(self.app_home, "ovsdb_status.sh")
@@ -194,7 +194,7 @@ class PlanetlabOVSSwitch(LinuxApplication):
         except RuntimeError:
             msg = "ovsdb-server not running on VM"      
             self.debug(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
         
         self.info("Server OVS Started...")  
 
@@ -206,7 +206,7 @@ class PlanetlabOVSSwitch(LinuxApplication):
         if not (self.get("bridge_name") and self.get("virtual_ip_pref")):
             msg = "No assignment in one or both attributes"
             self.error(msg)
-            raise AttributeError, msg
+            raise AttributeError(msg)
 
         command = "sliver-ovs create-bridge '%s' '%s'" % (
                           self.get("bridge_name"), 
@@ -224,7 +224,7 @@ class PlanetlabOVSSwitch(LinuxApplication):
         except RuntimeError:
             msg = "No such pltap netdev\novs-appctl: ovs-vswitchd: server returned an error"
             self.debug(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         self.info(" Bridge %s Created and Assigned to %s" %\
             (self.get("bridge_name"), self.get("virtual_ip_pref")) )
@@ -259,7 +259,7 @@ class PlanetlabOVSSwitch(LinuxApplication):
         except RuntimeError:
             msg = "SSH connection in the method assign_controller"
             self.debug(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         self.info("Controller assigned to the bridge %s" % self.get("bridge_name"))
            
@@ -279,7 +279,7 @@ class PlanetlabOVSSwitch(LinuxApplication):
         except RuntimeError:
             msg = "Error when checking the status of the OpenVswitch"
             self.debug(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_release(self):
         """ Delete the bridge and close the server.  
index 6ec1a12..9db4885 100644 (file)
@@ -116,12 +116,12 @@ class PlanetlabOVSPort(LinuxApplication):
         if not self.get('port_name'):
             msg = "The port name is not assigned"
             self.error(msg)
-            raise AttributeError, msg
+            raise AttributeError(msg)
 
         if not self.ovsswitch:
             msg = "The OVSwitch RM is not running"
             self.error(msg)
-            raise AttributeError, msg
+            raise AttributeError(msg)
 
         command = "sliver-ovs create-port %s %s" % (
                 self.ovsswitch.get('bridge_name'),
@@ -139,7 +139,7 @@ class PlanetlabOVSPort(LinuxApplication):
         except RuntimeError:
             msg = "Could not create ovs-port"           
             self.debug(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         self.info("Created port %s on switch %s" % (
             self.get('port_name'),
@@ -167,7 +167,7 @@ class PlanetlabOVSPort(LinuxApplication):
         if err != "":
             msg = "Error retrieving the local endpoint of the port"
             self.error(msg)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         if out:
             self._port_number = out.strip()
index 683a4d4..23a898f 100644 (file)
@@ -22,11 +22,11 @@ import socket
 import os
 import time
 import threading
-import xmlrpclib
+import xmlrpc.client
 
 def _retry(fn):
     def rv(*p, **kw):
-        for x in xrange(5):
+        for x in range(5):
             try:
                 return fn(*p, **kw)
             except (socket.error, IOError, OSError):
@@ -156,15 +156,15 @@ class PLCAPI(object):
         self._url = urlpattern % {'hostname':hostname}
 
         if (proxy is not None):
-            import urllib2
-            class HTTPSProxyTransport(xmlrpclib.Transport):
+            import urllib.request, urllib.error, urllib.parse
+            class HTTPSProxyTransport(xmlrpc.client.Transport):
                 def __init__(self, proxy, use_datetime=0):
-                    opener = urllib2.build_opener(urllib2.ProxyHandler({"https" : proxy}))
-                    xmlrpclib.Transport.__init__(self, use_datetime)
+                    opener = urllib.request.build_opener(urllib.request.ProxyHandler({"https" : proxy}))
+                    xmlrpc.client.Transport.__init__(self, use_datetime)
                     self.opener = opener
 
                 def request(self, host, handler, request_body, verbose=0):
-                    req = urllib2.Request('https://%s%s' % (host, handler), request_body)
+                    req = urllib.request.Request('https://%s%s' % (host, handler), request_body)
                     req.add_header('User-agent', self.user_agent)
                     self.verbose = verbose
                     return self.parse_response(self.opener.open(req))
@@ -182,7 +182,7 @@ class PLCAPI(object):
     @property
     def api(self):
         # Cannot reuse same proxy in all threads, py2.7 is not threadsafe
-        return xmlrpclib.ServerProxy(
+        return xmlrpc.client.ServerProxy(
             self._url ,
             transport = self._proxy_transport(),
             allow_none = True)
@@ -212,7 +212,7 @@ class PLCAPI(object):
         try:
             # test authorization
             network_types = _retry(self.mcapi.GetNetworkTypes)(self.auth)
-        except (xmlrpclib.ProtocolError, xmlrpclib.Fault),e:
+        except (xmlrpc.client.ProtocolError, xmlrpc.client.Fault) as e:
             warnings.warn(str(e))
         
         return True
@@ -283,8 +283,8 @@ class PLCAPI(object):
                 * nodefamily : string, the nodefamily this node should be based upon
                 * plain : boolean, use plain bootstrapfs image if set (for tests)  
         """
-        if not isinstance(node, (str, int, long)):
-            raise ValueError, "Node must be either a non-unicode string or an int"
+        if not isinstance(node, (str, int)):
+            raise ValueError("Node must be either a non-unicode string or an int")
         return _retry(self.mcapi.GetNodeFlavour)(self.auth, node)
     
     def get_nodes(self, node_id_or_name = None, fields = None, **kw):
@@ -343,7 +343,7 @@ class PLCAPI(object):
                                     filters = filters, peer=None, **kw)
                          )
                     else:
-                        peer_filter = map(name_to_id, peer)
+                        peer_filter = list(map(name_to_id, peer))
 
                 elif peer is None or peer == self._local_peer:
                     peer_filter = None
@@ -432,7 +432,7 @@ class PLCAPI(object):
         return _retry(self.mcapi.DeleteSliceFromNodes)(self.auth, slice_id_or_name, node_id_or_hostname)
 
     def start_multicall(self):
-        self.threadlocal.mc = xmlrpclib.MultiCall(self.mcapi)
+        self.threadlocal.mc = xmlrpc.client.MultiCall(self.mcapi)
     
     def finish_multicall(self):
         mc = self.threadlocal.mc
index 1c19e3e..3b02e0c 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 import base64
 import errno
@@ -40,7 +40,7 @@ def recv_msg(conn):
     while '\n' not in chunk:
         try:
             chunk = conn.recv(1024)
-        except (OSError, socket.error), e:
+        except (OSError, socket.error) as e:
             if e[0] != errno.EINTR:
                 raise
             # Ignore eintr errors
@@ -164,7 +164,7 @@ if __name__ == '__main__':
         while not stop:
             try:
                 (msg, args) = recv_msg(conn)
-            except socket.timeout, e:
+            except socket.timeout as e:
                 # Ingore time-out
                 continue
 
index f766a37..be12575 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 import base64
 import socket
index 81783cd..9ca3181 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Lucia Guevgeozian <lucia.guevgeozian_odizzio@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.attribute import Attribute, Flags, Types
 from nepi.execution.resource import ResourceManager, clsinit_copy, \
@@ -260,7 +260,7 @@ class PlanetlabSfaNode(LinuxNode):
             super(PlanetlabSfaNode, self).do_discover()
 
         else:
-            hosts_hrn = nodes.values()
+            hosts_hrn = list(nodes.values())
             nodes_inslice = self._check_if_in_slice(hosts_hrn)
             nodes_not_inslice = list(set(hosts_hrn) - set(nodes_inslice))
             host_hrn = None
@@ -532,7 +532,7 @@ class PlanetlabSfaNode(LinuxNode):
             if not self._blacklisted(host_hrn):
                 if not self._reserved(host_hrn):
                     print(self.sfaapi._reserved ,self.guid)
-                    for hostname, hrn in nodes.iteritems():
+                    for hostname, hrn in nodes.items():
                         if host_hrn == hrn:
                             print('hostname' ,hostname)
                             ping_ok = self._do_ping(hostname)
@@ -584,7 +584,7 @@ class PlanetlabSfaNode(LinuxNode):
         attribute hostname, it will over write the previous value.
         """
         hosts_hrn = self.sfaapi.get_resources_hrn()
-        for hostname, hrn  in hosts_hrn.iteritems():
+        for hostname, hrn  in hosts_hrn.items():
             if hrn == node:
                 self.set("hostname", hostname)
 
@@ -597,7 +597,7 @@ class PlanetlabSfaNode(LinuxNode):
         slicename = 'ple.' + slicename
         slice_nodes = self.sfaapi.get_slice_resources(slicename)['resource']
         if slice_nodes:
-            slice_nodes_hrn = self.sfaapi.get_resources_hrn(slice_nodes).values()
+            slice_nodes_hrn = list(self.sfaapi.get_resources_hrn(slice_nodes).values())
         else: slice_nodes_hrn = []
         nodes_inslice = list(set(hosts_hrn) & set(slice_nodes_hrn))
         return nodes_inslice
@@ -648,24 +648,24 @@ class PlanetlabSfaNode(LinuxNode):
     def fail_discovery(self):
         msg = "Discovery failed. No candidates found for node"
         self.error(msg)
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def fail_node_not_alive(self, hostname=None):
         msg = "Node %s not alive" % hostname
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
     
     def fail_node_not_available(self, hostname):
         msg = "Node %s not available for provisioning" % hostname
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def fail_not_enough_nodes(self):
         msg = "Not enough nodes available for provisioning"
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def fail_sfaapi(self):
         msg = "Failing while trying to instanciate the SFA API.\nSet the" + \
             " attributes sfauser and sfaPrivateKey."
-        raise RuntimeError, msg
+        raise RuntimeError(msg)
 
     def valid_connection(self, guid):
         # TODO: Validate!
index 73c5df7..5b1dc1e 100644 (file)
@@ -50,7 +50,7 @@ class PlanetlabTap(LinuxTap):
     def node(self):
         node = self.get_connected(PlanetlabNode.get_rtype())
         if node: return node[0]
-        raise RuntimeError, "TAP/TUN devices must be connected to Node"
+        raise RuntimeError("TAP/TUN devices must be connected to Node")
 
     def upload_sources(self):
         scripts = []
@@ -133,14 +133,14 @@ class PlanetlabTap(LinuxTap):
         if not exec_run_home:
             exec_run_home = self.run_home
 
-        for i in xrange(20):
+        for i in range(20):
             (out, err), proc = self.node.check_output(self.run_home, "vif_name")
 
             if proc.poll() > 0:
                 (out, err), proc = self.node.check_errors(exec_run_home)
                 
                 if err.strip():
-                    raise RuntimeError, err
+                    raise RuntimeError(err)
 
             if out:
                 vif_name = out.strip()
@@ -151,7 +151,7 @@ class PlanetlabTap(LinuxTap):
         else:
             msg = "Couldn't retrieve vif_name"
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         return vif_name
 
index 4e5df43..ea4fbbb 100644 (file)
@@ -124,7 +124,7 @@ class PlanetlabVroute(LinuxApplication):
         else:
             msg = " Failed to execute command '%s'" % command
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def do_stop(self):
 
index 5949507..101ad19 100644 (file)
@@ -62,7 +62,7 @@ def find_bin(name, extra_path = None):
             try:
                 os.stat(d + "/" + name)
                 return d + "/" + name
-            except OSError, e:
+            except OSError as e:
                 if e.errno != os.errno.ENOENT:
                     raise
     return None
@@ -88,7 +88,7 @@ def find_bin(name, extra_path = None):
             try:
                 os.stat(d + "/" + name)
                 return d + "/" + name
-            except OSError, e:
+            except OSError as e:
                 if e.errno != os.errno.ENOENT:
                     raise
     return None
@@ -164,7 +164,7 @@ def gen_sshd_config(filename, port, server_key, auth_keys):
 def gen_auth_keys(pubkey, output, environ):
     #opts = ['from="127.0.0.1/32"'] # fails in stupid yans setup
     opts = []
-    for k, v in environ.items():
+    for k, v in list(environ.items()):
         opts.append('environment="%s=%s"' % (k, v))
 
     lines = file(pubkey).readlines()
index 1753119..1cc4e05 100644 (file)
@@ -31,7 +31,7 @@ def lexec(command,
     """
     if env:
         export = ''
-        for envkey, envval in env.iteritems():
+        for envkey, envval in env.items():
             export += '%s=%s ' % (envkey, envval)
         command = "%s %s" % (export, command)
 
@@ -155,7 +155,7 @@ def lspawn(command, pidfile,
     (out,err), proc = lexec(cmd)
     
     if proc.wait():
-        raise RuntimeError, "Failed to set up application on host %s: %s %s" % (host, out,err,)
+        raise RuntimeError("Failed to set up application on host %s: %s %s" % (host, out,err,))
 
     return ((out,err), proc)
 
@@ -179,7 +179,7 @@ def lgetpid(pidfile):
     
     if out:
         try:
-            return map(int,out.strip().split(' ',1))
+            return list(map(int,out.strip().split(' ',1)))
         except:
             # Ignore, many ways to fail that don't matter that much
             return None
index 9630127..43acf58 100644 (file)
@@ -16,9 +16,9 @@
 #
 # Author: Lucia Guevgeozian Odizzio <lucia.guevgeozian_odizzio@inria.fr>
 
-from __future__ import print_function
 
-import xmlrpclib
+
+import xmlrpc.client
 import hashlib
 import threading
 
@@ -38,7 +38,7 @@ class MANIFOLDAPI(object):
 
     @property
     def api(self):
-        return xmlrpclib.Server(self._url, allow_none = True)
+        return xmlrpc.client.Server(self._url, allow_none = True)
 
     def get_session_key(self):
         """
@@ -52,7 +52,7 @@ class MANIFOLDAPI(object):
 
         if not session['value']:
             msg = "Can not authenticate in Manifold API"
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
         session_key = session['value'][0]['session']
         return dict(AuthMethod='session', session=session_key)
@@ -72,7 +72,7 @@ class MANIFOLDAPI(object):
             filters = self._map_attr_to_resource_filters(filters)
 
             qfilters = list()
-            for filtername, filtervalue in filters.iteritems():
+            for filtername, filtervalue in filters.items():
                 newfilter = [filtername, "==", filtervalue]
                 qfilters.append(newfilter)
             
@@ -202,7 +202,7 @@ class MANIFOLDAPI(object):
         }
 
         mapped_filters = dict()
-        for filtername, filtervalue in filters.iteritems():
+        for filtername, filtervalue in filters.items():
             if attr_to_filter[filtername]:
                 new_filtername = attr_to_filter[filtername]
                 mapped_filters[new_filtername] = filtervalue
index 744a95b..0b790b3 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-import ipaddr
+import ipaddress
 import networkx
 import math
 import random
@@ -155,9 +155,9 @@ class NetGraph(object):
             nodesinbranch = (node_count - 1)/ BRANCHES
             c = 1
 
-            for i in xrange(BRANCHES):
+            for i in range(BRANCHES):
                 prev = 0
-                for n in xrange(1, nodesinbranch + 1):
+                for n in range(1, nodesinbranch + 1):
                     graph.add_node(c)
                     graph.add_edge(prev, c)
                     prev = c
@@ -188,7 +188,7 @@ class NetGraph(object):
     def annotate_node(self, nid, name, value):
         if not isinstance(value, str) and not isinstance(value, int) and \
                 not isinstance(value, float) and not isinstance(value, bool):
-            raise RuntimeError, "Non-serializable annotation"
+            raise RuntimeError("Non-serializable annotation")
 
         self.topology.node[nid][name] = value
     
@@ -196,7 +196,7 @@ class NetGraph(object):
         return self.topology.node[nid].get(name)
 
     def node_annotations(self, nid):
-        return self.topology.node[nid].keys()
+        return list(self.topology.node[nid].keys())
     
     def del_node_annotation(self, nid, name):
         del self.topology.node[nid][name]
@@ -204,7 +204,7 @@ class NetGraph(object):
     def annotate_edge(self, nid1, nid2, name, value):
         if not isinstance(value, str) and not isinstance(value, int) and \
                 not isinstance(value, float) and not isinstance(value, bool):
-            raise RuntimeError, "Non-serializable annotation"
+            raise RuntimeError("Non-serializable annotation")
 
         self.topology.edge[nid1][nid2][name] = value
    
@@ -224,7 +224,7 @@ class NetGraph(object):
         return self.topology.edge[nid1][nid2].get(name)
  
     def edge_annotations(self, nid1, nid2):
-        return self.topology.edge[nid1][nid2].keys()
+        return list(self.topology.edge[nid1][nid2].keys())
     
     def del_edge_annotation(self, nid1, nid2, name):
         del self.topology.edge[nid1][nid2][name]
@@ -250,13 +250,13 @@ class NetGraph(object):
         # Assign IP addresses to host
         netblock = "%s/%d" % (network, prefix)
         if version == 4:
-            net = ipaddr.IPv4Network(netblock)
+            net = ipaddress.ip_network(netblock)
             new_prefix = 30
         elif version == 6:
-            net = ipaddr.IPv6Network(netblock)
+            net = ipaddress.ip_network(netblock)
             new_prefix = 30
         else:
-            raise RuntimeError, "Invalid IP version %d" % version
+            raise RuntimeError("Invalid IP version %d" % version)
         
         ## Clear all previusly assigned IPs
         for nid in self.topology.nodes():
@@ -269,15 +269,15 @@ class NetGraph(object):
             #### Compute subnets for each link
             
             # get a subnet of base_add with prefix /30
-            subnet = sub_itr.next()
+            subnet = next(sub_itr)
             mask = subnet.netmask.exploded
             network = subnet.network.exploded
             prefixlen = subnet.prefixlen
 
             # get host addresses in that subnet
             i = subnet.iterhosts()
-            addr1 = i.next()
-            addr2 = i.next()
+            addr1 = next(i)
+            addr2 = next(i)
 
             ip1 = addr1.exploded
             ip2 = addr2.exploded
@@ -333,7 +333,7 @@ class NetGraph(object):
             source = leaves.pop(random.randint(0, len(leaves) - 1))
         else:
             # options must not be already sources or targets
-            options = [ k for k,v in self.topology.degree().iteritems() \
+            options = [ k for k,v in self.topology.degree().items() \
                     if (not kwargs.get("is_leaf") or v == 1)  \
                         and not self.topology.node[k].get("source") \
                         and not self.topology.node[k].get("target")]
index 3b6e281..b106fa2 100644 (file)
@@ -19,7 +19,7 @@
 #
 
 import threading
-import Queue
+import queue
 import traceback
 import sys
 import os
@@ -64,12 +64,12 @@ class ParallelRun(object):
         self.maxqueue = maxqueue
         self.maxthreads = maxthreads
         
-        self.queue = Queue.Queue(self.maxqueue or 0)
+        self.queue = queue.Queue(self.maxqueue or 0)
         
         self.delayed_exceptions = []
         
         if results:
-            self.rvqueue = Queue.Queue()
+            self.rvqueue = queue.Queue()
         else:
             self.rvqueue = None
     
@@ -99,7 +99,7 @@ class ParallelRun(object):
         self.workers = []
 
         # initialize workers
-        for x in xrange(maxthreads):
+        for x in range(maxthreads):
             worker = WorkerThread()
             worker.attach(self.queue, self.rvqueue, self.delayed_exceptions)
             worker.setDaemon(True)
@@ -114,7 +114,7 @@ class ParallelRun(object):
             try:
                 self.queue.get(block = False)
                 self.queue.task_done()
-            except Queue.Empty:
+            except queue.Empty:
                 break
   
     def destroy(self):
@@ -147,17 +147,17 @@ class ParallelRun(object):
         if self.delayed_exceptions:
             typ,val,loc = self.delayed_exceptions[0]
             del self.delayed_exceptions[:]
-            raise typ,val,loc
+            raise typ(val).with_traceback(loc)
         
     def __iter__(self):
         if self.rvqueue is not None:
             while True:
                 try:
                     yield self.rvqueue.get_nowait()
-                except Queue.Empty:
+                except queue.Empty:
                     self.queue.join()
                     try:
                         yield self.rvqueue.get_nowait()
-                    except Queue.Empty:
+                    except queue.Empty:
                         raise StopIteration
             
index 18b7a7d..7a23736 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.util.netgraph import NetGraph, TopologyType 
 from nepi.util.timefuncs import stformat, tsformat
@@ -37,14 +37,14 @@ def xmlencode(s):
         rv = s.decode("latin1")
     if isinstance(s, datetime.datetime):
         rv = tsformat(s)
-    elif not isinstance(s, unicode):
-        rv = unicode(s)
+    elif not isinstance(s, str):
+        rv = str(s)
     else:
         rv = s
-    return rv.replace(u'\x00',u'&#0000;')
+    return rv.replace('\x00','&#0000;')
 
 def xmldecode(s, cast = str):
-    ret = s.replace(u'&#0000',u'\x00').encode("ascii")
+    ret = s.replace('&#0000','\x00').encode("ascii")
     ret = cast(ret)
     if s == "None":
         return None
@@ -102,7 +102,7 @@ class ECXMLParser(object):
         rmsnode = doc.createElement("rms")
         ecnode.appendChild(rmsnode)
 
-        for guid, rm in ec._resources.iteritems():
+        for guid, rm in ec._resources.items():
             self._rm_to_xml(doc, rmsnode, ec, guid, rm)
 
         return doc
@@ -198,7 +198,7 @@ class ECXMLParser(object):
         anode = doc.createElement("attributes")
         attributes = False
 
-        for attr in rm._attrs.values():
+        for attr in list(rm._attrs.values()):
             if attr.has_changed:
                 attributes = True
                 aanode = doc.createElement("attribute")
@@ -225,7 +225,7 @@ class ECXMLParser(object):
         cnnode = doc.createElement("conditions")
         conditions = False
 
-        for action, conds in rm._conditions.iteritems():
+        for action, conds in rm._conditions.items():
             conditions = True
             for (group, state, time) in conds:
                 ccnnode = doc.createElement("condition")
@@ -241,7 +241,7 @@ class ECXMLParser(object):
         tnode = doc.createElement("traces")
         traces = False
 
-        for trace in rm._trcs.values():
+        for trace in list(rm._trcs.values()):
             if trace.enabled:
                 traces = True
                 ttnode = doc.createElement("trace")
index 3cec972..f480ab3 100644 (file)
@@ -56,7 +56,7 @@ class ECPlotter(object):
             networkx.draw(graph, pos = pos, node_color="white", 
                     node_size = 500, with_labels=True)
            
-            label = "\n".join(map(lambda v: "%s: %s" % (v[0], v[1]), labels.iteritems()))
+            label = "\n".join(["%s: %s" % (v[0], v[1]) for v in iter(labels.items())])
             plt.annotate(label, xy=(0.05, 0.95), xycoords='axes fraction')
            
             fpath += ".png"
@@ -84,7 +84,7 @@ class ECPlotter(object):
         labels = dict()
         connections = set()
 
-        for guid, rm in ec._resources.iteritems():
+        for guid, rm in ec._resources.items():
             label = rm.get_rtype()
 
             graph.add_node(guid,
index 3dcc7e6..345e9f1 100644 (file)
@@ -211,7 +211,7 @@ class SFAAPI(object):
             else: slice_resources = []
             if slice_resources:
                 slice_resources_hrn = self.get_resources_hrn(slice_resources)
-                for s_hrn_key, s_hrn_value in slice_resources_hrn.iteritems():
+                for s_hrn_key, s_hrn_value in slice_resources_hrn.items():
                     s_parts = s_hrn_value.split('.')
                     s_hrn = '.'.join(s_parts[:2]) + '.' + '\\.'.join(s_parts[2:])
                     resources_hrn_new.append(s_hrn)
@@ -303,7 +303,7 @@ class SFAAPI(object):
         slice_res = self.get_slice_resources(slicename)['resource']
         if slice_res:
             if len(slice_res[0]['services']) != 0:
-                slice_res_hrn = self.get_resources_hrn(slice_res).values()
+                slice_res_hrn = list(self.get_resources_hrn(slice_res).values())
                 if self._compare_lists(slice_res_hrn, resources_hrn):
                     return True
                 else: return len(slice_res_hrn)
index e013e1a..c9da060 100644 (file)
@@ -46,7 +46,7 @@ class SfaRSpecProcessing(object):
             return objcopy
         # We thus suppose we have a child of dict
         objcopy = {}
-        for k, v in obj.items():
+        for k, v in list(obj.items()):
             objcopy[k] = self.make_dict_rec(v)
         return objcopy
 
@@ -66,19 +66,19 @@ class SfaRSpecProcessing(object):
         
         try:
             nodes = rspec.version.get_nodes()
-        except Exception, e:
+        except Exception as e:
             self._log.warn("Could not retrieve nodes in RSpec: %s" % e)
         try:
             leases = rspec.version.get_leases()
-        except Exception, e:
+        except Exception as e:
             self._log.warn("Could not retrieve leases in RSpec: %s" % e)
         try:
             links = rspec.version.get_links()
-        except Exception, e:
+        except Exception as e:
             self._log.warn("Could not retrieve links in RSpec: %s" % e)
         try:
             channels = rspec.version.get_channels()
-        except Exception, e:
+        except Exception as e:
             self._log.warn("Could not retrieve channels in RSpec: %s" % e)
   
         resources = [] 
@@ -197,7 +197,7 @@ class SfaRSpecProcessing(object):
             elif resource_type == 'channel':
                 channels.append(resource)
             else:
-                raise Exception, "Not supported type of resource" 
+                raise Exception("Not supported type of resource") 
         
         rspec.version.add_nodes(nodes, rspec_content_type="request")
         #rspec.version.add_leases(leases)
index 176afd3..a6aeb14 100644 (file)
@@ -203,15 +203,15 @@ def eintr_retry(func):
     @functools.wraps(func)
     def rv(*p, **kw):
         retry = kw.pop("_retry", False)
-        for i in xrange(0 if retry else 4):
+        for i in range(0 if retry else 4):
             try:
                 return func(*p, **kw)
-            except (select.error, socket.error), args:
+            except (select.error, socket.error) as args:
                 if args[0] == errno.EINTR:
                     continue
                 else:
                     raise 
-            except OSError, e:
+            except OSError as e:
                 if e.errno == errno.EINTR:
                     continue
                 else:
@@ -337,7 +337,7 @@ def rcopy(source, dest,
     elif isinstance(source, str) and ':' in source:
         remspec, path = source.split(':',1)
     else:
-        raise ValueError, "Both endpoints cannot be local"
+        raise ValueError("Both endpoints cannot be local")
     user,host = remspec.rsplit('@',1)
     
     # plain scp
@@ -498,7 +498,7 @@ def rspawn(command, pidfile,
         )
     
     if proc.wait():
-        raise RuntimeError, "Failed to set up application on host %s: %s %s" % (host, out,err,)
+        raise RuntimeError("Failed to set up application on host %s: %s %s" % (host, out,err,))
 
     return ((out, err), proc)
 
@@ -549,7 +549,7 @@ def rgetpid(pidfile,
     
     if out:
         try:
-            return map(int,out.strip().split(' ',1))
+            return list(map(int,out.strip().split(' ',1)))
         except:
             # Ignore, many ways to fail that don't matter that much
             return None
@@ -692,7 +692,7 @@ def _retry_rexec(args,
         tmp_known_hosts = None,
         blocking = True):
 
-    for x in xrange(retry):
+    for x in range(retry):
         # display command actually invoked when debug is turned on
         message = " ".join( [ "'{}'".format(arg) for arg in args ] )
         log("sshfuncs: invoking {}".format(message), logging.DEBUG)
@@ -744,7 +744,7 @@ def _retry_rexec(args,
                     time.sleep(t)
                     continue
             break
-        except RuntimeError, e:
+        except RuntimeError as e:
             msg = " rexec EXCEPTION - TIMEOUT -> %s \n %s" % ( e.args, log_msg )
             log(msg, logging.DEBUG, out, err)
 
@@ -810,7 +810,7 @@ def _communicate(proc, input, timeout=None, err_on_timeout=True):
 
         try:
             rlist, wlist, xlist = select.select(read_set, write_set, [], select_timeout)
-        except select.error,e:
+        except select.error as e:
             if e[0] != 4:
                 raise
             else:
@@ -864,7 +864,7 @@ def _communicate(proc, input, timeout=None, err_on_timeout=True):
 
     if killed and err_on_timeout:
         errcode = proc.poll()
-        raise RuntimeError("Operation timed out", errcode, stdout, stderr)
+        raise RuntimeError("Operation timed out", errcode, stdout, stderr)
     else:
         if killed:
             proc.poll()
index f6a8b54..b500664 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 import math
 import numpy
index 40d66c0..ff7a8fa 100755 (executable)
@@ -41,7 +41,7 @@ class ExecuteControllersTestCase(unittest.TestCase):
 
             time.sleep(1)
 
-        self.assertEquals('hola!', task.result)
+        self.assertEqual('hola!', task.result)
 
         ec.shutdown()
 
@@ -74,7 +74,7 @@ class ExecuteControllersTestCase(unittest.TestCase):
             # When this task is executed and the error raise,
             # the FailureManager should set its failure level to 
             # TASK_FAILURE
-            raise RuntimeError, "NOT A REAL ERROR. JUST TESTING!"
+            raise RuntimeError("NOT A REAL ERROR. JUST TESTING!")
 
         ec = ExperimentController()
 
@@ -87,7 +87,7 @@ class ExecuteControllersTestCase(unittest.TestCase):
 
             time.sleep(1)
 
-        self.assertEquals(task.status, TaskStatus.ERROR)
+        self.assertEqual(task.status, TaskStatus.ERROR)
 
 if __name__ == '__main__':
     unittest.main()
index 188dbaf..6a4fd8c 100755 (executable)
@@ -130,7 +130,7 @@ class ErrorApplication(ResourceManager):
             self.ec.schedule("0.5s", self.deploy)
         else:
             time.sleep(random.random() * 2)
-            raise RuntimeError, "NOT A REAL ERROR. JUST TESTING"
+            raise RuntimeError("NOT A REAL ERROR. JUST TESTING")
 
 class ResourceFactoryTestCase(unittest.TestCase):
     def test_add_resource_factory(self):
@@ -141,16 +141,16 @@ class ResourceFactoryTestCase(unittest.TestCase):
         ResourceFactory.register_type(AnotherResource)
 
         # Take into account default 'Critical' attribute
-        self.assertEquals(MyResource.get_rtype(), "MyResource")
-        self.assertEquals(len(MyResource._attributes), 3)
+        self.assertEqual(MyResource.get_rtype(), "MyResource")
+        self.assertEqual(len(MyResource._attributes), 3)
 
-        self.assertEquals(ResourceManager.get_rtype(), "Resource")
-        self.assertEquals(len(ResourceManager._attributes), 2)
+        self.assertEqual(ResourceManager.get_rtype(), "Resource")
+        self.assertEqual(len(ResourceManager._attributes), 2)
 
-        self.assertEquals(AnotherResource.get_rtype(), "AnotherResource")
-        self.assertEquals(len(AnotherResource._attributes), 2)
+        self.assertEqual(AnotherResource.get_rtype(), "AnotherResource")
+        self.assertEqual(len(AnotherResource._attributes), 2)
 
-        self.assertEquals(len(ResourceFactory.resource_types()), 2)
+        self.assertEqual(len(ResourceFactory.resource_types()), 2)
         
         # restore factory state for other tests
         from nepi.execution.resource import populate_factory
@@ -175,7 +175,7 @@ class ResourceManagerTestCase(unittest.TestCase):
         for (group, state, time) in conditions:
             waiting_for.extend(group)
 
-        self.assertEquals(waiting_for, [1, 3, 5, 7, 10, 8])
+        self.assertEqual(waiting_for, [1, 3, 5, 7, 10, 8])
 
         group = [1, 2, 3, 4, 6]
         rm.unregister_condition(group)
@@ -185,7 +185,7 @@ class ResourceManagerTestCase(unittest.TestCase):
         for (group, state, time) in conditions:
             waiting_for.extend(group)
 
-        self.assertEquals(waiting_for, [5, 7, 10, 8])
+        self.assertEqual(waiting_for, [5, 7, 10, 8])
 
     def test_deploy_in_order(self):
         """
@@ -269,7 +269,7 @@ class ResourceManagerTestCase(unittest.TestCase):
         node = ec.register_resource("Node")
 
         apps = list()
-        for i in xrange(1000):
+        for i in range(1000):
             app = ec.register_resource("Application")
             ec.register_connection(app, node)
             apps.append(app)
@@ -306,7 +306,7 @@ class ResourceManagerTestCase(unittest.TestCase):
 
         ec.shutdown()
 
-        self.assertEquals(ec._fm._failure_level, FailureLevel.RM_FAILURE)
+        self.assertEqual(ec._fm._failure_level, FailureLevel.RM_FAILURE)
 
     def test_critical(self):
         from nepi.execution.resource import ResourceFactory
@@ -327,7 +327,7 @@ class ResourceManagerTestCase(unittest.TestCase):
         ec.register_connection(eapp, node)
         apps.append(eapp)
 
-        for i in xrange(10):
+        for i in range(10):
             app = ec.register_resource("Application")
             ec.register_connection(app, node)
             apps.append(app)
@@ -337,17 +337,17 @@ class ResourceManagerTestCase(unittest.TestCase):
         ec.wait_finished(apps)
         
         state = ec.state(eapp)
-        self.assertEquals(state, ResourceState.FAILED)
+        self.assertEqual(state, ResourceState.FAILED)
       
         apps.remove(eapp)
 
         for app in apps:
             state = ec.state(app)
-            self.assertEquals(state, ResourceState.STOPPED)
+            self.assertEqual(state, ResourceState.STOPPED)
         
         ec.shutdown()
 
-        self.assertEquals(ec._fm._failure_level, FailureLevel.OK)
+        self.assertEqual(ec._fm._failure_level, FailureLevel.OK)
 
     def test_start_with_condition(self):
         from nepi.execution.resource import ResourceFactory
index 155e9b9..e6f43be 100755 (executable)
@@ -101,7 +101,7 @@ class RunnerTestCase(unittest.TestCase):
         apps = list()
         ifaces = list()
 
-        for i in xrange(node_count):
+        for i in range(node_count):
             node = ec.register_resource("dummy::Node")
             nodes.append(node)
             
@@ -109,7 +109,7 @@ class RunnerTestCase(unittest.TestCase):
             ec.register_connection(node, iface)
             ifaces.append(iface)
 
-            for i in xrange(app_count):
+            for i in range(app_count):
                 app = ec.register_resource("dummy::Application")
                 ec.register_connection(node, app)
                 apps.append(app)
@@ -123,7 +123,7 @@ class RunnerTestCase(unittest.TestCase):
         runs = rnr.run(ec, min_runs = 5, max_runs = 10, wait_guids = apps, 
                 wait_time = 0)
 
-        self.assertEquals(runs, 10)
+        self.assertEqual(runs, 10)
 
     def test_runner_convergence(self):
         node_count = 4
@@ -136,7 +136,7 @@ class RunnerTestCase(unittest.TestCase):
         apps = list()
         ifaces = list()
 
-        for i in xrange(node_count):
+        for i in range(node_count):
             node = ec.register_resource("dummy::Node")
             nodes.append(node)
             
@@ -144,7 +144,7 @@ class RunnerTestCase(unittest.TestCase):
             ec.register_connection(node, iface)
             ifaces.append(iface)
 
-            for i in xrange(app_count):
+            for i in range(app_count):
                 app = ec.register_resource("dummy::Application")
                 ec.register_connection(node, app)
                 apps.append(app)
@@ -167,7 +167,7 @@ class RunnerTestCase(unittest.TestCase):
                 wait_guids = apps, 
                 wait_time = 0)
 
-        self.assertEquals(runs, 10)
+        self.assertEqual(runs, 10)
                        
 if __name__ == '__main__':
     unittest.main()
index 033a750..c1c592c 100755 (executable)
@@ -49,14 +49,14 @@ class SchedulerTestCase(unittest.TestCase):
         scheduler.schedule(tsk1)
 
         # Make sure tasks are retrieved in teh correct order
-        tsk = scheduler.next()
-        self.assertEquals(tsk.callback(), 1)
+        tsk = next(scheduler)
+        self.assertEqual(tsk.callback(), 1)
         
-        tsk = scheduler.next()
-        self.assertEquals(tsk.callback(), 2)
+        tsk = next(scheduler)
+        self.assertEqual(tsk.callback(), 2)
         
-        tsk = scheduler.next()
-        self.assertEquals(tsk.callback(), 3)
+        tsk = next(scheduler)
+        self.assertEqual(tsk.callback(), 3)
 
 
 if __name__ == '__main__':
index c6a08d3..beea118 100644 (file)
@@ -16,7 +16,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.resources.linux.node import LinuxNode
 
@@ -76,7 +76,7 @@ def skipIfAnyNotAlive(func):
         argss = list(args)
         argss.pop(0)
 
-        for i in xrange(len(argss)/2):
+        for i in range(len(argss)/2):
             username = argss[i*2]
             hostname = argss[i*2+1]
             node, ec = create_node(hostname, username)
@@ -95,7 +95,7 @@ def skipIfAnyNotAliveWithIdentity(func):
     def wrapped(*args, **kwargs):
         argss = list(args)
         argss.pop(0)
-        for i in xrange(len(argss)/3):
+        for i in range(len(argss)/3):
             username = argss[i*3]
             hostname = argss[i*3+1]
             identity = argss[i*3+2]
index 4bda4f9..cdd6fe7 100755 (executable)
@@ -93,15 +93,15 @@ class LinuxApplicationTestCase(unittest.TestCase):
 
         stdout = ec.trace(app, "stdout")
         size = ec.trace(app, "stdout", attr = TraceAttr.SIZE)
-        self.assertEquals(len(stdout), size)
+        self.assertEqual(len(stdout), size)
         
         block = ec.trace(app, "stdout", attr = TraceAttr.STREAM, block = 5, offset = 1)
-        self.assertEquals(block, stdout[5:10])
+        self.assertEqual(block, stdout[5:10])
 
         path = ec.trace(app, "stdout", attr = TraceAttr.PATH)
         rm = ec.get_resource(app)
         p = os.path.join(rm.run_home, "stdout")
-        self.assertEquals(path, p)
+        self.assertEqual(path, p)
 
         ec.shutdown()
 
@@ -140,7 +140,7 @@ main (void)
         ec.wait_finished(app)
 
         out = ec.trace(app, 'stdout')
-        self.assertEquals(out, "Hello, world!\n")
+        self.assertEqual(out, "Hello, world!\n")
 
         ec.shutdown()
 
@@ -156,7 +156,7 @@ main (void)
         ec.set(node, "cleanProcesses", True)
 
         apps = list()
-        for i in xrange(50):
+        for i in range(50):
             app = ec.register_resource("linux::Application")
             cmd = "ping -c5 %s" % self.target 
             ec.set(app, "command", cmd)
@@ -176,15 +176,15 @@ main (void)
         for app in apps:
             stdout = ec.trace(app, 'stdout')
             size = ec.trace(app, 'stdout', attr = TraceAttr.SIZE)
-            self.assertEquals(len(stdout), size)
+            self.assertEqual(len(stdout), size)
             
             block = ec.trace(app, 'stdout', attr = TraceAttr.STREAM, block = 5, offset = 1)
-            self.assertEquals(block, stdout[5:10])
+            self.assertEqual(block, stdout[5:10])
 
             path = ec.trace(app, 'stdout', attr = TraceAttr.PATH)
             rm = ec.get_resource(app)
             p = os.path.join(rm.run_home, 'stdout')
-            self.assertEquals(path, p)
+            self.assertEqual(path, p)
 
         ec.shutdown()
 
index 22acdbb..0384f3b 100755 (executable)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.resource import ResourceState, ResourceAction 
 from nepi.execution.ec import ExperimentController 
index bb82107..2d4568a 100755 (executable)
@@ -91,9 +91,9 @@ class LinuxMultiRunTestCase(unittest.TestCase):
             if os.path.isdir(path):
                 dircount += 1
                 logs = glob.glob(os.path.join(path, "*.stdout"))
-                self.assertEquals(len(logs), 1)
+                self.assertEqual(len(logs), 1)
         
-        self.assertEquals(runs, dircount)
+        self.assertEqual(runs, dircount)
 
         shutil.rmtree(dirpath)
 
index 13823c9..bcaf44e 100755 (executable)
@@ -20,7 +20,7 @@
 # Test based on netns test/test_core.py file test_run_ping_routing test
 #
 
-from __future__ import print_function
+
 
 from nepi.resources.netns.netnsserver import run_server
 from nepi.resources.linux.netns.netnsclient import LinuxNetNSClient
index 48186b8..5657774 100755 (executable)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 from nepi.execution.trace import TraceAttr
index 11b66bb..23c6f59 100755 (executable)
@@ -98,7 +98,7 @@ class LinuxNodeTestCase(unittest.TestCase):
  
         # get the pid of the process
         ecode = node.exitcode(app_home)
-        self.assertEquals(ecode, ExitCode.OK)
+        self.assertEqual(ecode, ExitCode.OK)
 
     @skipIfNotAlive
     def t_exitcode_kill(self, host, user):
@@ -125,17 +125,17 @@ class LinuxNodeTestCase(unittest.TestCase):
 
         # The process is still running, so no retfile has been created yet
         ecode = node.exitcode(app_home)
-        self.assertEquals(ecode, ExitCode.FILENOTFOUND)
+        self.assertEqual(ecode, ExitCode.FILENOTFOUND)
         
         (out, err), proc = node.check_errors(app_home)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
         
         # Now kill the app
         pid, ppid = node.getpid(app_home)
         node.kill(pid, ppid)
          
         (out, err), proc = node.check_errors(app_home)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
 
     @skipIfNotAlive
     def t_exitcode_error(self, host, user):
@@ -160,7 +160,7 @@ class LinuxNodeTestCase(unittest.TestCase):
         ecode = node.exitcode(app_home)
 
         # bash erro 127 - command not found
-        self.assertEquals(ecode, 127)
+        self.assertEqual(ecode, 127)
  
         (out, err), proc = node.check_errors(app_home)
 
@@ -172,16 +172,16 @@ class LinuxNodeTestCase(unittest.TestCase):
 
         node.find_home()
         (out, err), proc = node.mkdir(node.node_home, clean = True)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
 
         (out, err), proc = node.install_packages("gcc", node.node_home)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
 
         (out, err), proc = node.remove_packages("gcc", node.node_home)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
 
         (out, err), proc = node.rmdir(node.exp_home)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
 
     @skipIfNotAlive
     def t_clean(self, host, user):
@@ -194,24 +194,24 @@ class LinuxNodeTestCase(unittest.TestCase):
         command1 = " [ -d %s ] && echo 'Found'" % node.lib_dir
         (out, err), proc = node.execute(command1)
     
-        self.assertEquals(out.strip(), "Found")
+        self.assertEqual(out.strip(), "Found")
 
         command2 = " [ -d %s ] && echo 'Found'" % node.node_home
         (out, err), proc = node.execute(command2)
     
-        self.assertEquals(out.strip(), "Found")
+        self.assertEqual(out.strip(), "Found")
 
         node.clean_experiment()
         
         (out, err), proc = node.execute(command2)
 
-        self.assertEquals(out.strip(), "")
+        self.assertEqual(out.strip(), "")
 
         node.clean_home()
         
         (out, err), proc = node.execute(command1)
 
-        self.assertEquals(out.strip(), "")
+        self.assertEqual(out.strip(), "")
 
     @skipIfNotAlive
     def t_xterm(self, host, user):
@@ -219,16 +219,16 @@ class LinuxNodeTestCase(unittest.TestCase):
 
         node.find_home()
         (out, err), proc = node.mkdir(node.node_home, clean = True)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
         
         node.install_packages("xterm", node.node_home)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
 
         (out, err), proc = node.execute("xterm", forward_x11 = True)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
 
         (out, err), proc = node.remove_packages("xterm", node.node_home)
-        self.assertEquals(err, "")
+        self.assertEqual(err, "")
 
     @skipIfNotAlive
     def t_compile(self, host, user):
@@ -262,7 +262,7 @@ main (void)
         command = "%s/hello" % app_home 
         (out, err), proc = node.execute(command)
 
-        self.assertEquals(out, "Hello, world!\n")
+        self.assertEqual(out, "Hello, world!\n")
 
         # execute the program and get the output from a file
         command = "%(home)s/hello > %(home)s/hello.out" % {
@@ -283,7 +283,7 @@ main (void)
         out = f.read()
         f.close()
         
-        self.assertEquals(out, "Hello, world!\n")
+        self.assertEqual(out, "Hello, world!\n")
 
     @skipIfNotAlive
     def t_copy_files(self, host, user):
index ac03fde..ccaaf51 100755 (executable)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 from nepi.execution.resource import ResourceState, ResourceAction
index 6723629..12f3b61 100755 (executable)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 from nepi.execution.trace import TraceAttr
index 5f7ce29..621bfb7 100755 (executable)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 from nepi.execution.trace import TraceAttr
@@ -474,16 +474,16 @@ class LinuxNS3SimulationTest(unittest.TestCase):
                 output = ec.trace(guid, trace)
 
                 size = ec.trace(guid, trace, attr = TraceAttr.SIZE)
-                self.assertEquals(size, len(output))
+                self.assertEqual(size, len(output))
                 self.assertTrue(size > 100)
                 
                 block = ec.trace(guid, trace, attr = TraceAttr.STREAM, block = 5, offset = 1)
-                self.assertEquals(block, output[5:10])
+                self.assertEqual(block, output[5:10])
 
                 trace_path = ec.trace(guid, trace, attr = TraceAttr.PATH)
                 rm = ec.get_resource(guid)
                 path = os.path.join(rm_simu.run_home, rm._trace_filename.get(trace))
-                self.assertEquals(trace_path, path)
+                self.assertEqual(trace_path, path)
 
         ec.shutdown()
 
index 2eea5b6..eb310d7 100755 (executable)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 from nepi.execution.trace import TraceAttr
@@ -205,7 +205,7 @@ class LinuxNS3SimulationSerializationTest(unittest.TestCase):
 
         ec2.wait_finished([ping])
         
-        self.assertEquals(len(ec.resources), len(ec2.resources))
+        self.assertEqual(len(ec.resources), len(ec2.resources))
         
         stdout = ec2.trace(simu, "stdout")
  
@@ -345,7 +345,7 @@ class LinuxNS3SimulationSerializationTest(unittest.TestCase):
 
         ec2.wait_finished([ping])
         
-        self.assertEquals(len(ec.resources), len(ec2.resources))
+        self.assertEqual(len(ec.resources), len(ec2.resources))
         
         stdout = ec2.trace(simu, "stdout")
  
@@ -442,7 +442,7 @@ class LinuxNS3SimulationSerializationTest(unittest.TestCase):
         # Give time to flush the streams
         time.sleep(5) 
        
-        self.assertEquals(len(ec.resources), len(ec2.resources))
+        self.assertEqual(len(ec.resources), len(ec2.resources))
  
         expected = "udp-perf --duration=10 --nodes=2"
         cmdline = ec2.trace(udp_perf, "cmdline")
index adadf14..71651a3 100755 (executable)
@@ -88,7 +88,7 @@ class LinuxSerializationTestCase(unittest.TestCase):
         ec2.deploy()
         ec2.wait_finished(apps)
         
-        self.assertEquals(len(ec.resources), len(ec2.resources))
+        self.assertEqual(len(ec.resources), len(ec2.resources))
         
         self.assertTrue(ec2.state(node) == ResourceState.STARTED)
         self.assertTrue(ec2.state(server) == ResourceState.STOPPED)
index 2963f90..25d619e 100755 (executable)
@@ -17,7 +17,7 @@
 #
 # Author: Alina Quereilhac <alina.quereilhac@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.ec import ExperimentController 
 
index b9998cf..c6bff04 100755 (executable)
 #
 #  node n0 sends IGMP traffic to node n3
 
-from __future__ import print_function
+
 
 from nepi.resources.ns3.ns3wrapper import NS3Wrapper
 
-import StringIO
+import io
 import subprocess
 import sys
 import time
@@ -214,7 +214,7 @@ class NS3WrapperTest(unittest.TestCase):
                 stderr = subprocess.PIPE, shell = True)
         (out, err) = p.communicate()
 
-        self.assertEquals(int(out), 8)
+        self.assertEqual(int(out), 8)
 
         p = subprocess.Popen("rm /tmp/csma-ping-*",  shell = True)
         p.communicate()
index 763b026..4a45716 100755 (executable)
@@ -35,17 +35,17 @@ import unittest
 class OMFResourceFactoryTestCase(unittest.TestCase):
     def test_creation_phase(self):
 
-        self.assertEquals(OMFNode.get_rtype(), "omf::Node")
-        self.assertEquals(len(OMFNode._attributes), 8)
+        self.assertEqual(OMFNode.get_rtype(), "omf::Node")
+        self.assertEqual(len(OMFNode._attributes), 8)
 
-        self.assertEquals(OMFWifiInterface.get_rtype(), "omf::WifiInterface")
-        self.assertEquals(len(OMFWifiInterface._attributes), 12)
+        self.assertEqual(OMFWifiInterface.get_rtype(), "omf::WifiInterface")
+        self.assertEqual(len(OMFWifiInterface._attributes), 12)
 
-        self.assertEquals(OMFChannel.get_rtype(), "omf::Channel")
-        self.assertEquals(len(OMFChannel._attributes), 8)
+        self.assertEqual(OMFChannel.get_rtype(), "omf::Channel")
+        self.assertEqual(len(OMFChannel._attributes), 8)
 
-        self.assertEquals(OMFApplication.get_rtype(), "omf::Application")
-        self.assertEquals(len(OMFApplication._attributes), 14)
+        self.assertEqual(OMFApplication.get_rtype(), "omf::Application")
+        self.assertEqual(len(OMFApplication._attributes), 14)
 
 class OMFEachTestCase(unittest.TestCase):
     def setUp(self):
@@ -113,50 +113,50 @@ class OMFEachTestCase(unittest.TestCase):
         self.ec.shutdown()
 
     def test_creation_and_configuration_node(self):
-        self.assertEquals(self.ec.get(self.node1, 'hostname'), 'omf.plexus.wlab17')
-        self.assertEquals(self.ec.get(self.node1, 'xmppUser'), 'nepi')
-        self.assertEquals(self.ec.get(self.node1, 'xmppServer'), 'xmpp-plexus.onelab.eu')
-        self.assertEquals(self.ec.get(self.node1, 'xmppPort'), '5222')
-        self.assertEquals(self.ec.get(self.node1, 'xmppPassword'), '1234')
-        self.assertEquals(self.ec.get(self.node1, 'version'), '5')
+        self.assertEqual(self.ec.get(self.node1, 'hostname'), 'omf.plexus.wlab17')
+        self.assertEqual(self.ec.get(self.node1, 'xmppUser'), 'nepi')
+        self.assertEqual(self.ec.get(self.node1, 'xmppServer'), 'xmpp-plexus.onelab.eu')
+        self.assertEqual(self.ec.get(self.node1, 'xmppPort'), '5222')
+        self.assertEqual(self.ec.get(self.node1, 'xmppPassword'), '1234')
+        self.assertEqual(self.ec.get(self.node1, 'version'), '5')
 
 
     def test_creation_and_configuration_interface(self):
-        self.assertEquals(self.ec.get(self.iface1, 'name'), 'wlan0')
-        self.assertEquals(self.ec.get(self.iface1, 'mode'), 'adhoc')
-        self.assertEquals(self.ec.get(self.iface1, 'hw_mode'), 'g')
-        self.assertEquals(self.ec.get(self.iface1, 'essid'), 'vlcexp')
-        self.assertEquals(self.ec.get(self.iface1, 'ip'), '10.0.0.17/24')
-        self.assertEquals(self.ec.get(self.iface1, 'version'), '5')
+        self.assertEqual(self.ec.get(self.iface1, 'name'), 'wlan0')
+        self.assertEqual(self.ec.get(self.iface1, 'mode'), 'adhoc')
+        self.assertEqual(self.ec.get(self.iface1, 'hw_mode'), 'g')
+        self.assertEqual(self.ec.get(self.iface1, 'essid'), 'vlcexp')
+        self.assertEqual(self.ec.get(self.iface1, 'ip'), '10.0.0.17/24')
+        self.assertEqual(self.ec.get(self.iface1, 'version'), '5')
 
     def test_creation_and_configuration_channel(self):
-        self.assertEquals(self.ec.get(self.channel, 'channel'), '6')
-        self.assertEquals(self.ec.get(self.channel, 'xmppUser'), 'nepi')
-        self.assertEquals(self.ec.get(self.channel, 'xmppServer'), 'xmpp-plexus.onelab.eu')
-        self.assertEquals(self.ec.get(self.channel, 'xmppPort'), '5222')
-        self.assertEquals(self.ec.get(self.channel, 'xmppPassword'), '1234')
-        self.assertEquals(self.ec.get(self.channel, 'version'), '5')
+        self.assertEqual(self.ec.get(self.channel, 'channel'), '6')
+        self.assertEqual(self.ec.get(self.channel, 'xmppUser'), 'nepi')
+        self.assertEqual(self.ec.get(self.channel, 'xmppServer'), 'xmpp-plexus.onelab.eu')
+        self.assertEqual(self.ec.get(self.channel, 'xmppPort'), '5222')
+        self.assertEqual(self.ec.get(self.channel, 'xmppPassword'), '1234')
+        self.assertEqual(self.ec.get(self.channel, 'version'), '5')
 
 
     def test_creation_and_configuration_application(self):
-        self.assertEquals(self.ec.get(self.app1, 'appid'), 'Vlc#1')
-        self.assertEquals(self.ec.get(self.app1, 'command'), "/opt/vlc-1.1.13/cvlc /opt/10-by-p0d.avi --sout '#rtp{dst=10.0.0.37,port=1234,mux=ts}'")
-        self.assertEquals(self.ec.get(self.app1, 'env'), 'DISPLAY=localhost:10.0 XAUTHORITY=/root/.Xauthority')
-        self.assertEquals(self.ec.get(self.app1, 'version'), '5')
+        self.assertEqual(self.ec.get(self.app1, 'appid'), 'Vlc#1')
+        self.assertEqual(self.ec.get(self.app1, 'command'), "/opt/vlc-1.1.13/cvlc /opt/10-by-p0d.avi --sout '#rtp{dst=10.0.0.37,port=1234,mux=ts}'")
+        self.assertEqual(self.ec.get(self.app1, 'env'), 'DISPLAY=localhost:10.0 XAUTHORITY=/root/.Xauthority')
+        self.assertEqual(self.ec.get(self.app1, 'version'), '5')
 
     def test_connection(self):
-        self.assertEquals(len(self.ec.get_resource(self.node1).connections), 6)
-        self.assertEquals(len(self.ec.get_resource(self.iface1).connections), 2)
-        self.assertEquals(len(self.ec.get_resource(self.channel).connections), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app1).connections), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app2).connections), 1)
+        self.assertEqual(len(self.ec.get_resource(self.node1).connections), 6)
+        self.assertEqual(len(self.ec.get_resource(self.iface1).connections), 2)
+        self.assertEqual(len(self.ec.get_resource(self.channel).connections), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app1).connections), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app2).connections), 1)
 
     def test_condition(self):
-        self.assertEquals(len(self.ec.get_resource(self.app1).conditions[ResourceAction.STOP]), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app2).conditions[ResourceAction.START]), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app3).conditions[ResourceAction.START]), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app4).conditions[ResourceAction.STOP]), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app5).conditions[ResourceAction.START]), 2)
+        self.assertEqual(len(self.ec.get_resource(self.app1).conditions[ResourceAction.STOP]), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app2).conditions[ResourceAction.START]), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app3).conditions[ResourceAction.START]), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app4).conditions[ResourceAction.STOP]), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app5).conditions[ResourceAction.START]), 2)
 
 class OMFVLCNormalCase(unittest.TestCase):
     def test_deploy(self):
@@ -236,31 +236,31 @@ class OMFVLCNormalCase(unittest.TestCase):
 
         ec.wait_finished([self.app1, self.app2, self.app3,self.app4, self.app5])
 
-        self.assertEquals(round(tdiffsec(ec.get_resource(self.app2).start_time, ec.get_resource(self.app1).start_time),0), 3.0)
-        self.assertEquals(round(tdiffsec(ec.get_resource(self.app3).start_time, ec.get_resource(self.app2).start_time),0), 2.0)
-        self.assertEquals(round(tdiffsec(ec.get_resource(self.app4).start_time, ec.get_resource(self.app3).start_time),0), 3.0)
-        self.assertEquals(round(tdiffsec(ec.get_resource(self.app5).start_time, ec.get_resource(self.app3).start_time),0), 20.0)
-        self.assertEquals(round(tdiffsec(ec.get_resource(self.app5).start_time, ec.get_resource(self.app1).start_time),0), 25.0)
-
-        self.assertEquals(ec.get_resource(self.node1).state, ResourceState.STARTED)
-        self.assertEquals(ec.get_resource(self.iface1).state, ResourceState.STARTED)
-        self.assertEquals(ec.get_resource(self.channel).state, ResourceState.STARTED)
-        self.assertEquals(ec.get_resource(self.app1).state, ResourceState.STOPPED)
-        self.assertEquals(ec.get_resource(self.app2).state, ResourceState.STOPPED)
-        self.assertEquals(ec.get_resource(self.app3).state, ResourceState.STOPPED)
-        self.assertEquals(ec.get_resource(self.app4).state, ResourceState.STOPPED)
-        self.assertEquals(ec.get_resource(self.app5).state, ResourceState.STOPPED)
+        self.assertEqual(round(tdiffsec(ec.get_resource(self.app2).start_time, ec.get_resource(self.app1).start_time),0), 3.0)
+        self.assertEqual(round(tdiffsec(ec.get_resource(self.app3).start_time, ec.get_resource(self.app2).start_time),0), 2.0)
+        self.assertEqual(round(tdiffsec(ec.get_resource(self.app4).start_time, ec.get_resource(self.app3).start_time),0), 3.0)
+        self.assertEqual(round(tdiffsec(ec.get_resource(self.app5).start_time, ec.get_resource(self.app3).start_time),0), 20.0)
+        self.assertEqual(round(tdiffsec(ec.get_resource(self.app5).start_time, ec.get_resource(self.app1).start_time),0), 25.0)
+
+        self.assertEqual(ec.get_resource(self.node1).state, ResourceState.STARTED)
+        self.assertEqual(ec.get_resource(self.iface1).state, ResourceState.STARTED)
+        self.assertEqual(ec.get_resource(self.channel).state, ResourceState.STARTED)
+        self.assertEqual(ec.get_resource(self.app1).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.app2).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.app3).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.app4).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.app5).state, ResourceState.STOPPED)
 
         ec.shutdown()
 
-        self.assertEquals(ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app2).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app3).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app4).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app5).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app3).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app4).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app5).state, ResourceState.RELEASED)
 
 
 if __name__ == '__main__':
index 10b2d23..17960b6 100755 (executable)
@@ -95,16 +95,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_hostname(self):
 
@@ -141,16 +141,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_iface(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -182,16 +182,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_ip(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -227,16 +227,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_channel(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -267,16 +267,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_app(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -318,17 +318,17 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2])
 
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
 
     def test_deploy_wo_app_path(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -371,17 +371,17 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2])
 
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
 
 
 if __name__ == '__main__':
index fee1727..34209b2 100755 (executable)
@@ -96,17 +96,17 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_with_node_and_iface_nc(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -140,17 +140,17 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_with_node_iface_channel_nc(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -182,18 +182,18 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_with_app_nc(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -237,18 +237,18 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2])
 
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.STOPPED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.STOPPED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
 
     def test_deploy_with_all_nc_and_app_critical(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -281,17 +281,17 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2])
 
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
 
 
 class OMFVLCWrongCaseWithNonCriticalDep(unittest.TestCase):
@@ -375,19 +375,19 @@ class OMFVLCWrongCaseWithNonCriticalDep(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2, self.app3])
 
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
 
     def test_deploy_with_app_nc_and_critical_right(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -439,20 +439,20 @@ class OMFVLCWrongCaseWithNonCriticalDep(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2, self.app3])
 
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.STOPPED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.STOPPED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
 
 
     def test_deploy_with_many_app_nc_and_critical(self):
@@ -529,26 +529,26 @@ class OMFVLCWrongCaseWithNonCriticalDep(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2, self.app3, self.app4, self.app5, self.app6])
 
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
-        self.assertEquals(self.ec.get_resource(self.app5).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.app6).state, ResourceState.STOPPED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
+        self.assertEqual(self.ec.get_resource(self.app5).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app6).state, ResourceState.STOPPED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app4).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app5).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app6).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app4).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app5).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app6).state, ResourceState.RELEASED)
 
 
 if __name__ == '__main__':
index 42d09b5..849770f 100755 (executable)
@@ -35,17 +35,17 @@ import unittest
 class OMFResourceFactoryTestCase(unittest.TestCase):
     def test_creation_phase(self):
 
-        self.assertEquals(OMFNode.get_rtype(), "omf::Node")
-        self.assertEquals(len(OMFNode._attributes), 8)
+        self.assertEqual(OMFNode.get_rtype(), "omf::Node")
+        self.assertEqual(len(OMFNode._attributes), 8)
 
-        self.assertEquals(OMFWifiInterface.get_rtype(), "omf::WifiInterface")
-        self.assertEquals(len(OMFWifiInterface._attributes), 12)
+        self.assertEqual(OMFWifiInterface.get_rtype(), "omf::WifiInterface")
+        self.assertEqual(len(OMFWifiInterface._attributes), 12)
 
-        self.assertEquals(OMFChannel.get_rtype(), "omf::Channel")
-        self.assertEquals(len(OMFChannel._attributes), 8)
+        self.assertEqual(OMFChannel.get_rtype(), "omf::Channel")
+        self.assertEqual(len(OMFChannel._attributes), 8)
 
-        self.assertEquals(OMFApplication.get_rtype(), "omf::Application")
-        self.assertEquals(len(OMFApplication._attributes), 14)
+        self.assertEqual(OMFApplication.get_rtype(), "omf::Application")
+        self.assertEqual(len(OMFApplication._attributes), 14)
 
 class OMFEachTestCase(unittest.TestCase):
     def setUp(self):
@@ -105,50 +105,50 @@ class OMFEachTestCase(unittest.TestCase):
         self.ec.shutdown()
 
     def test_creation_and_configuration_node(self):
-        self.assertEquals(self.ec.get(self.node1, 'hostname'), 'wlab12')
-        self.assertEquals(self.ec.get(self.node1, 'xmppUser'), 'nepi')
-        self.assertEquals(self.ec.get(self.node1, 'xmppServer'), 'xmpp-plexus.onelab.eu')
-        self.assertEquals(self.ec.get(self.node1, 'xmppPort'), '5222')
-        self.assertEquals(self.ec.get(self.node1, 'xmppPassword'), '1234')
-        self.assertEquals(self.ec.get(self.node1, 'version'), '6')
+        self.assertEqual(self.ec.get(self.node1, 'hostname'), 'wlab12')
+        self.assertEqual(self.ec.get(self.node1, 'xmppUser'), 'nepi')
+        self.assertEqual(self.ec.get(self.node1, 'xmppServer'), 'xmpp-plexus.onelab.eu')
+        self.assertEqual(self.ec.get(self.node1, 'xmppPort'), '5222')
+        self.assertEqual(self.ec.get(self.node1, 'xmppPassword'), '1234')
+        self.assertEqual(self.ec.get(self.node1, 'version'), '6')
 
 
     def test_creation_and_configuration_interface(self):
-        self.assertEquals(self.ec.get(self.iface1, 'name'), 'wlan0')
-        self.assertEquals(self.ec.get(self.iface1, 'mode'), 'adhoc')
-        self.assertEquals(self.ec.get(self.iface1, 'hw_mode'), 'g')
-        self.assertEquals(self.ec.get(self.iface1, 'essid'), 'vlcexp')
-        self.assertEquals(self.ec.get(self.iface1, 'ip'), '10.0.0.17/24')
-        self.assertEquals(self.ec.get(self.iface1, 'version'), '6')
+        self.assertEqual(self.ec.get(self.iface1, 'name'), 'wlan0')
+        self.assertEqual(self.ec.get(self.iface1, 'mode'), 'adhoc')
+        self.assertEqual(self.ec.get(self.iface1, 'hw_mode'), 'g')
+        self.assertEqual(self.ec.get(self.iface1, 'essid'), 'vlcexp')
+        self.assertEqual(self.ec.get(self.iface1, 'ip'), '10.0.0.17/24')
+        self.assertEqual(self.ec.get(self.iface1, 'version'), '6')
 
     def test_creation_and_configuration_channel(self):
-        self.assertEquals(self.ec.get(self.channel, 'channel'), '6')
-        self.assertEquals(self.ec.get(self.channel, 'xmppUser'), 'nepi')
-        self.assertEquals(self.ec.get(self.channel, 'xmppServer'), 'xmpp-plexus.onelab.eu')
-        self.assertEquals(self.ec.get(self.channel, 'xmppPort'), '5222')
-        self.assertEquals(self.ec.get(self.channel, 'xmppPassword'), '1234')
-        self.assertEquals(self.ec.get(self.channel, 'version'), '6')
+        self.assertEqual(self.ec.get(self.channel, 'channel'), '6')
+        self.assertEqual(self.ec.get(self.channel, 'xmppUser'), 'nepi')
+        self.assertEqual(self.ec.get(self.channel, 'xmppServer'), 'xmpp-plexus.onelab.eu')
+        self.assertEqual(self.ec.get(self.channel, 'xmppPort'), '5222')
+        self.assertEqual(self.ec.get(self.channel, 'xmppPassword'), '1234')
+        self.assertEqual(self.ec.get(self.channel, 'version'), '6')
 
 
     def test_creation_and_configuration_application(self):
-        self.assertEquals(self.ec.get(self.app1, 'appid'), 'Vlc#1')
-        self.assertEquals(self.ec.get(self.app1, 'command'), "/opt/vlc-1.1.13/cvlc /opt/10-by-p0d.avi --sout '#rtp{dst=10.0.0.37,port=1234,mux=ts}'")
-        self.assertEquals(self.ec.get(self.app1, 'env'), 'DISPLAY=localhost:10.0 XAUTHORITY=/root/.Xauthority')
-        self.assertEquals(self.ec.get(self.app1, 'version'), '6')
+        self.assertEqual(self.ec.get(self.app1, 'appid'), 'Vlc#1')
+        self.assertEqual(self.ec.get(self.app1, 'command'), "/opt/vlc-1.1.13/cvlc /opt/10-by-p0d.avi --sout '#rtp{dst=10.0.0.37,port=1234,mux=ts}'")
+        self.assertEqual(self.ec.get(self.app1, 'env'), 'DISPLAY=localhost:10.0 XAUTHORITY=/root/.Xauthority')
+        self.assertEqual(self.ec.get(self.app1, 'version'), '6')
 
     def test_connection(self):
-        self.assertEquals(len(self.ec.get_resource(self.node1).connections), 6)
-        self.assertEquals(len(self.ec.get_resource(self.iface1).connections), 2)
-        self.assertEquals(len(self.ec.get_resource(self.channel).connections), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app1).connections), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app2).connections), 1)
+        self.assertEqual(len(self.ec.get_resource(self.node1).connections), 6)
+        self.assertEqual(len(self.ec.get_resource(self.iface1).connections), 2)
+        self.assertEqual(len(self.ec.get_resource(self.channel).connections), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app1).connections), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app2).connections), 1)
 
     def test_condition(self):
-        self.assertEquals(len(self.ec.get_resource(self.app1).conditions[ResourceAction.STOP]), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app2).conditions[ResourceAction.START]), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app3).conditions[ResourceAction.START]), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app4).conditions[ResourceAction.STOP]), 1)
-        self.assertEquals(len(self.ec.get_resource(self.app5).conditions[ResourceAction.START]), 2)
+        self.assertEqual(len(self.ec.get_resource(self.app1).conditions[ResourceAction.STOP]), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app2).conditions[ResourceAction.START]), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app3).conditions[ResourceAction.START]), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app4).conditions[ResourceAction.STOP]), 1)
+        self.assertEqual(len(self.ec.get_resource(self.app5).conditions[ResourceAction.START]), 2)
 
 class OMFVLCNormalCase(unittest.TestCase):
     def test_deploy(self):
@@ -226,25 +226,25 @@ class OMFVLCNormalCase(unittest.TestCase):
         self.assertGreaterEqual(round(tdiffsec(ec.get_resource(self.app5).start_time, ec.get_resource(self.app3).start_time),0), 2.0)
         self.assertGreaterEqual(round(tdiffsec(ec.get_resource(self.app5).start_time, ec.get_resource(self.app1).start_time),0), 25.0)
 
-        self.assertEquals(ec.get_resource(self.node1).state, ResourceState.STARTED)
-        self.assertEquals(ec.get_resource(self.iface1).state, ResourceState.STARTED)
-        self.assertEquals(ec.get_resource(self.channel).state, ResourceState.STARTED)
-        self.assertEquals(ec.get_resource(self.app1).state, ResourceState.STOPPED)
-        self.assertEquals(ec.get_resource(self.app2).state, ResourceState.STOPPED)
-        self.assertEquals(ec.get_resource(self.app3).state, ResourceState.STOPPED)
-        self.assertEquals(ec.get_resource(self.app4).state, ResourceState.STOPPED)
-        self.assertEquals(ec.get_resource(self.app5).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.node1).state, ResourceState.STARTED)
+        self.assertEqual(ec.get_resource(self.iface1).state, ResourceState.STARTED)
+        self.assertEqual(ec.get_resource(self.channel).state, ResourceState.STARTED)
+        self.assertEqual(ec.get_resource(self.app1).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.app2).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.app3).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.app4).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.app5).state, ResourceState.STOPPED)
 
         ec.shutdown()
 
-        self.assertEquals(ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app2).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app3).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app4).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app5).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app3).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app4).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app5).state, ResourceState.RELEASED)
 
 
 if __name__ == '__main__':
index 2c34599..863d192 100755 (executable)
@@ -85,21 +85,21 @@ class OMFPingNormalCase(unittest.TestCase):
             f.write(stderr_1)
             f.close()
 
-        self.assertEquals(ec.get_resource(self.node1).state, ResourceState.STARTED)
-        self.assertEquals(ec.get_resource(self.iface1).state, ResourceState.STARTED)
-        self.assertEquals(ec.get_resource(self.channel).state, ResourceState.STARTED)
-        self.assertEquals(ec.get_resource(self.app1).state, ResourceState.STOPPED)
+        self.assertEqual(ec.get_resource(self.node1).state, ResourceState.STARTED)
+        self.assertEqual(ec.get_resource(self.iface1).state, ResourceState.STARTED)
+        self.assertEqual(ec.get_resource(self.channel).state, ResourceState.STARTED)
+        self.assertEqual(ec.get_resource(self.app1).state, ResourceState.STOPPED)
 
         ec.shutdown()
 
-        self.assertEquals(ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
         t = open("app1_out.txt", "r")
         l = t.readlines()
-        self.assertEquals(l[0], "PING 10.0.0.17 (10.0.0.17) 56(84) bytes of data.\n")
+        self.assertEqual(l[0], "PING 10.0.0.17 (10.0.0.17) 56(84) bytes of data.\n")
         self.assertIn("5 packets transmitted, 5 received, 0% packet loss, time", l[-2])
         self.assertIn("rtt min/avg/max/mdev = ", l[-1])
         
index 2f36e06..5f155e5 100755 (executable)
@@ -85,16 +85,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_hostname(self):
 
@@ -124,16 +124,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_iface(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -158,16 +158,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_channel(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -195,16 +195,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_ip(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -233,16 +233,16 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_wo_app(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -276,17 +276,17 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2])
 
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
 
     def test_deploy_wo_app_path(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -321,17 +321,17 @@ class OMFVLCWrongCaseAllCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2])
 
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
 
 
 if __name__ == '__main__':
index 6bb271f..c0b9f5d 100755 (executable)
@@ -87,17 +87,17 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_with_node_and_iface_nc(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -124,17 +124,17 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_with_node_iface_channel_nc(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -163,17 +163,17 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1])
 
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
 
     def test_deploy_with_app_nc(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -209,18 +209,18 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2])
 
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.STOPPED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.STOPPED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
 
     def test_deploy_with_all_nc_and_app_critical(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -249,17 +249,17 @@ class OMFVLCWrongCaseWithNonCritical(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2])
 
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
 
 
 class OMFVLCWrongCaseWithNonCriticalDep(unittest.TestCase):
@@ -331,19 +331,19 @@ class OMFVLCWrongCaseWithNonCriticalDep(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2, self.app3])
 
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.FAILED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
 
     def test_deploy_with_app_nc_and_critical_right(self):
         self.node2 = self.ec.register_resource("omf::Node")
@@ -386,19 +386,19 @@ class OMFVLCWrongCaseWithNonCriticalDep(unittest.TestCase):
 
         self.ec.wait_finished([self.app1, self.app2, self.app3])
 
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
         #self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
 
 
     def test_deploy_with_many_app_nc_and_critical(self):
@@ -464,24 +464,24 @@ class OMFVLCWrongCaseWithNonCriticalDep(unittest.TestCase):
         self.ec.wait_finished([self.app1, self.app2, self.app3, self.app4, self.app5, self.app6])
 
         #self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.STOPPED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.FAILED)
         #self.assertEquals(self.ec.get_resource(self.app4).state, ResourceState.STOPPED)
-        self.assertEquals(self.ec.get_resource(self.app5).state, ResourceState.FAILED)
+        self.assertEqual(self.ec.get_resource(self.app5).state, ResourceState.FAILED)
         #self.assertEquals(self.ec.get_resource(self.app6).state, ResourceState.STOPPED)
 
         self.ec.shutdown()
 
-        self.assertEquals(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app4).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app5).state, ResourceState.RELEASED)
-        self.assertEquals(self.ec.get_resource(self.app6).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.node2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.iface2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.channel).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app1).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app2).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app3).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app4).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app5).state, ResourceState.RELEASED)
+        self.assertEqual(self.ec.get_resource(self.app6).state, ResourceState.RELEASED)
 
 
 if __name__ == '__main__':
index f515f1e..f01ec3e 100755 (executable)
@@ -17,7 +17,7 @@
 #
 # Author: Julien Tribino <julien.tribino@inria.fr>
 
-from __future__ import print_function
+
 
 from nepi.execution.resource import (ResourceFactory, clsinit_copy,
                                      ResourceManager, ResourceAction, ResourceState)
@@ -85,12 +85,12 @@ class OMFTestSet(unittest.TestCase):
         print("First try to change the STDIN")
         self.ec.set(self.app1, 'test', 3)
 
-        self.assertEquals(self.ec.get(self.app1, 'test'), 30)
+        self.assertEqual(self.ec.get(self.app1, 'test'), 30)
 
         time.sleep(3)
         print("Second try to change the STDIN")
         self.ec.set(self.app1, 'test', 101)
-        self.assertEquals(self.ec.get(self.app1, 'test'), 1010)
+        self.assertEqual(self.ec.get(self.app1, 'test'), 1010)
 
         self.ec.wait_finished([self.app1])
 
index 7642e83..132ceb8 100755 (executable)
@@ -34,8 +34,8 @@ class DummyEC(ExperimentController):
 class WilabtSfaNodeFactoryTestCase(unittest.TestCase):
 
     def test_creation_phase(self):
-        self.assertEquals(WilabtSfaNode._rtype, "WilabtSfaNode")
-        self.assertEquals(len(WilabtSfaNode._attributes), 17)
+        self.assertEqual(WilabtSfaNode._rtype, "WilabtSfaNode")
+        self.assertEqual(len(WilabtSfaNode._attributes), 17)
 
 class WilabtSfaNodeTestCase(unittest.TestCase):
     """
@@ -75,8 +75,8 @@ class WilabtSfaNodeTestCase(unittest.TestCase):
 
         api1 = wnode_rm1.sfaapi
         self.assertIsInstance(api1, SFAAPI)
-        self.assertEquals(len(api1._reserved), 0)
-        self.assertEquals(len(api1._blacklist), 0)
+        self.assertEqual(len(api1._reserved), 0)
+        self.assertEqual(len(api1._blacklist), 0)
 
         node2 = self.ec.register_resource("WilabtSfaNode")
         self.ec.set(node2, "host", "zotacM20")
@@ -88,7 +88,7 @@ class WilabtSfaNodeTestCase(unittest.TestCase):
 
         wnode_rm2 = self.ec.get_resource(node2)
         api2 = wnode_rm2.sfaapi
-        self.assertEquals(api1, api2)
+        self.assertEqual(api1, api2)
 
         wnode_rm1.sfaapi._reserved = set()
         wnode_rm1.sfaapi._blacklist = set()
@@ -111,11 +111,11 @@ class WilabtSfaNodeTestCase(unittest.TestCase):
         host = wnode_rm.get("host")
         self.assertIsNotNone(host)
 
-        self.assertEquals(wnode_rm.sfaapi._reserved, set())
+        self.assertEqual(wnode_rm.sfaapi._reserved, set())
 
         wnode_rm.do_discover()
-        self.assertEquals(len(wnode_rm.sfaapi._reserved), 1)
-        self.assertEquals(wnode_rm._node_to_provision, 'wilab2.ilabt.iminds.be.zotacE5')
+        self.assertEqual(len(wnode_rm.sfaapi._reserved), 1)
+        self.assertEqual(wnode_rm._node_to_provision, 'wilab2.ilabt.iminds.be.zotacE5')
 
         wnode_rm.sfaapi._reserved = set()
         wnode_rm.sfaapi._blacklist = set()
@@ -136,7 +136,7 @@ class WilabtSfaNodeTestCase(unittest.TestCase):
 
         wnode_rm = self.ec.get_resource(node)
 
-        self.assertEquals(wnode_rm.sfaapi._reserved, set())
+        self.assertEqual(wnode_rm.sfaapi._reserved, set())
         self.assertIsNone(wnode_rm._node_to_provision)
 
         wnode_rm.do_discover()
@@ -147,7 +147,7 @@ class WilabtSfaNodeTestCase(unittest.TestCase):
         if not self.ec.abort and self.ec.state(node) > 2:
             cmd = 'echo "IT WORKED"'
             ((out, err), proc) = wnode_rm.execute(cmd)
-            self.assertEquals(out.strip(), "IT WORKED")
+            self.assertEqual(out.strip(), "IT WORKED")
 
         #wnode_rm.sfaapi._reserved = set()
         #wnode_rm.sfaapi._blacklist = set()
@@ -240,8 +240,8 @@ class WilabtSfaNodeTestCase(unittest.TestCase):
         state1 = self.ec.state(node1)
         state2 = self.ec.state(node2)
         if not self.ec.abort:
-            self.assertEquals(state1, (3, 4))
-            self.assertEquals(state2, (3, 4))
+            self.assertEqual(state1, (3, 4))
+            self.assertEqual(state2, (3, 4))
 
         self.ec.shutdown() 
 
index 5714645..a56bc6e 100755 (executable)
@@ -73,8 +73,8 @@ def create_node(ec, username, pl_user=None, pl_password=None, pl_url=None,
 class PLNodeFactoryTestCase(unittest.TestCase):
 
     def test_creation_phase(self):
-        self.assertEquals(PlanetlabNode._rtype, "planetlab::Node")
-        self.assertEquals(len(PlanetlabNode._attributes), 32)
+        self.assertEqual(PlanetlabNode._rtype, "planetlab::Node")
+        self.assertEqual(len(PlanetlabNode._attributes), 32)
 
 class PLNodeTestCase(unittest.TestCase):
     """
@@ -115,8 +115,8 @@ class PLNodeTestCase(unittest.TestCase):
 
         api1 = plnode_rm1.plapi
         self.assertIsInstance(api1, PLCAPI)
-        self.assertEquals(len(api1.reserved()), 0)
-        self.assertEquals(len(api1.blacklisted()), 0)
+        self.assertEqual(len(api1.reserved()), 0)
+        self.assertEqual(len(api1.blacklisted()), 0)
 
         node2 = create_node(self.ec, self.username, pl_user=self.pl_user,   
             pl_password=self.pl_password, pl_url=self.pl_url, 
@@ -124,7 +124,7 @@ class PLNodeTestCase(unittest.TestCase):
         
         plnode_rm2 = self.ec.get_resource(node2)
         api2 = plnode_rm2.plapi
-        self.assertEquals(api1, api2)
+        self.assertEqual(api1, api2)
     
         # Set hostname attribute in order for the shutdown method not to fail
         plnode_rm1._set_hostname_attr(3)
@@ -161,7 +161,7 @@ class PLNodeTestCase(unittest.TestCase):
         self.assertIsNone(hostname)
 
         plnode_rm.do_discover()
-        self.assertEquals(plnode_rm._node_to_provision, 3)
+        self.assertEqual(plnode_rm._node_to_provision, 3)
 
        # Set hostname attribute in order for the shutdown method not to fail
         plnode_rm._set_hostname_attr(plnode_rm._node_to_provision)        
@@ -200,8 +200,8 @@ class PLNodeTestCase(unittest.TestCase):
         plnode_rm = self.ec.get_resource(node)
         plnode_rm.do_discover()
 
-        self.assertEquals(plnode_rm._node_to_provision, 3)
-        self.assertEquals(plnode_rm.plapi.reserved(), set([3]))
+        self.assertEqual(plnode_rm._node_to_provision, 3)
+        self.assertEqual(plnode_rm.plapi.reserved(), set([3]))
 
     @skipIfNotPLCredentials
     def test_discover_ip(self):
@@ -216,9 +216,9 @@ class PLNodeTestCase(unittest.TestCase):
         plnode_rm = self.ec.get_resource(node)
         plnode_rm.do_discover()
 
-        self.assertEquals(plnode_rm._node_to_provision, 3)
-        self.assertEquals(plnode_rm.plapi.reserved(), set([3]))
-        self.assertEquals(plnode_rm.get("hostname"), "nepi2.pl.sophia.inria.fr")
+        self.assertEqual(plnode_rm._node_to_provision, 3)
+        self.assertEqual(plnode_rm.plapi.reserved(), set([3]))
+        self.assertEqual(plnode_rm.get("hostname"), "nepi2.pl.sophia.inria.fr")
 
     @skipIfNotPLCredentials
     def test_discover_with_ranges(self):
@@ -250,7 +250,7 @@ class PLNodeTestCase(unittest.TestCase):
                 hostname="nepi1.pl.sophia.inria.fr")
 
         plnode_rm = self.ec.get_resource(node)
-        self.assertEquals(plnode_rm.plapi.blacklisted(), set())
+        self.assertEqual(plnode_rm.plapi.blacklisted(), set())
 
         # check that the node is actually malfunctioning
         api = plnode_rm.plapi
@@ -262,7 +262,7 @@ class PLNodeTestCase(unittest.TestCase):
         if not node_id:
             with self.assertRaises(RuntimeError):
                 plnode_rm.do_discover()
-                self.assertEquals(plnode_rm.plapi.blacklisted(), set([1]))
+                self.assertEqual(plnode_rm.plapi.blacklisted(), set([1]))
 
     @skipIfNotPLCredentials
     def test_provision_node_inslice(self):
@@ -274,14 +274,14 @@ class PLNodeTestCase(unittest.TestCase):
             architecture="x86_64", operatingSystem="f12")
 
         plnode_rm = self.ec.get_resource(node)
-        self.assertEquals(len(plnode_rm.plapi.blacklisted()), 0)
-        self.assertEquals(len(plnode_rm.plapi.reserved()), 0)
+        self.assertEqual(len(plnode_rm.plapi.blacklisted()), 0)
+        self.assertEqual(len(plnode_rm.plapi.reserved()), 0)
 
         plnode_rm.do_discover()
         plnode_rm.do_provision()
         ip = plnode_rm.get("ip")
-        self.assertEquals(ip, "138.96.116.32")
-        self.assertEquals(len(plnode_rm.plapi.reserved()), 1)
+        self.assertEqual(ip, "138.96.116.32")
+        self.assertEqual(len(plnode_rm.plapi.reserved()), 1)
 
     @skipIfNotPLCredentials
     def test_provision_node_not_inslice(self):
@@ -295,8 +295,8 @@ class PLNodeTestCase(unittest.TestCase):
             city='Paris')
 
         plnode_rm = self.ec.get_resource(node)
-        self.assertEquals(plnode_rm.plapi.blacklisted(), set())
-        self.assertEquals(plnode_rm.plapi.reserved(), set())
+        self.assertEqual(plnode_rm.plapi.blacklisted(), set())
+        self.assertEqual(plnode_rm.plapi.reserved(), set())
 
         plnode_rm.do_discover()
         plnode_rm.do_provision()
index e32d561..d712de3 100755 (executable)
@@ -36,8 +36,8 @@ class DummyEC(ExperimentController):
 class PLSfaNodeFactoryTestCase(unittest.TestCase):
 
     def test_creation_phase(self):
-        self.assertEquals(PlanetlabSfaNode._rtype, "planetlab::sfa::Node")
-        self.assertEquals(len(PlanetlabSfaNode._attributes), 31)
+        self.assertEqual(PlanetlabSfaNode._rtype, "planetlab::sfa::Node")
+        self.assertEqual(len(PlanetlabSfaNode._attributes), 31)
 
 class PLSfaNodeTestCase(unittest.TestCase):
     """
@@ -72,8 +72,8 @@ class PLSfaNodeTestCase(unittest.TestCase):
 
         api1 = plnode_rm1.sfaapi
         self.assertIsInstance(api1, SFAAPI)
-        self.assertEquals(len(api1._reserved), 0)
-        self.assertEquals(len(api1._blacklist), 0)
+        self.assertEqual(len(api1._reserved), 0)
+        self.assertEqual(len(api1._blacklist), 0)
 
         node2 = self.ec.register_resource("planetlab::sfa::Node")
         self.ec.set(node2, "hostname", "planetlab2.ionio.gr")
@@ -83,7 +83,7 @@ class PLSfaNodeTestCase(unittest.TestCase):
 
         plnode_rm2 = self.ec.get_resource(node2)
         api2 = plnode_rm2.sfaapi
-        self.assertEquals(api1, api2)
+        self.assertEqual(api1, api2)
     
     @skipIfNotSfaCredentials
     def test_discover(self):
@@ -101,12 +101,12 @@ class PLSfaNodeTestCase(unittest.TestCase):
         hostname = plnode_rm.get("hostname")
         self.assertIsNotNone(hostname)
 
-        self.assertEquals(len(plnode_rm.sfaapi._reserved), 0)
+        self.assertEqual(len(plnode_rm.sfaapi._reserved), 0)
 
         plnode_rm.do_discover()
 
-        self.assertEquals(len(plnode_rm.sfaapi._reserved), 1)
-        self.assertEquals(plnode_rm._node_to_provision, 'ple.mimuw.roti.mimuw.edu.pl')
+        self.assertEqual(len(plnode_rm.sfaapi._reserved), 1)
+        self.assertEqual(plnode_rm._node_to_provision, 'ple.mimuw.roti.mimuw.edu.pl')
         plnode_rm.sfaapi._reserved = set()
         plnode_rm.sfaapi._blacklist = set()
 
@@ -124,7 +124,7 @@ class PLSfaNodeTestCase(unittest.TestCase):
 
         plnode_rm = self.ec.get_resource(node)
 
-        self.assertEquals(plnode_rm.sfaapi._reserved, set())
+        self.assertEqual(plnode_rm.sfaapi._reserved, set())
         self.assertIsNone(plnode_rm._node_to_provision)
 
         plnode_rm.do_discover()
@@ -132,7 +132,7 @@ class PLSfaNodeTestCase(unittest.TestCase):
 
         cmd = 'echo "IT WORKED"'
         ((out, err), proc) = plnode_rm.execute(cmd)
-        self.assertEquals(out.strip(), "IT WORKED")
+        self.assertEqual(out.strip(), "IT WORKED")
 
         plnode_rm.sfaapi._reserved = set()
         plnode_rm.sfaapi._blacklist = set()
index 47c4e08..05aae65 100755 (executable)
@@ -43,7 +43,7 @@ class MFAPIFactoryTestCase(unittest.TestCase):
 
         self.assertIsInstance(api1, MANIFOLDAPI)
         self.assertIsInstance(api2, MANIFOLDAPI)
-        self.assertEquals(api1, api2)
+        self.assertEqual(api1, api2)
         
 
 class MANIFOLDAPITestCase(unittest.TestCase):
@@ -65,33 +65,33 @@ class MANIFOLDAPITestCase(unittest.TestCase):
 
         r_info = self.api.get_resource_info(filters=filters)
         hostname = r_info[0]['hostname']
-        self.assertEquals(hostname, 'planetlab2.tlm.unavarra.es')
+        self.assertEqual(hostname, 'planetlab2.tlm.unavarra.es')
 
         # query with 2 filters
         filters['network'] = 'ple'
                 
         r_info = self.api.get_resource_info(filters=filters)
         hostname = r_info[0]['hostname']
-        self.assertEquals(hostname, 'planetlab2.tlm.unavarra.es')
+        self.assertEqual(hostname, 'planetlab2.tlm.unavarra.es')
 
         # query with fields only, without filters
         fields = ['latitude','longitude']
 
         r_info = self.api.get_resource_info(fields=fields)
         value = r_info[10]
-        self.assertEquals(value.keys(), fields)
+        self.assertEqual(list(value.keys()), fields)
 
         # query with 2 filters and 2 fields
         r_info = self.api.get_resource_info(filters, fields)
         value = r_info[0]
         result = {'latitude': '42.7993', 'longitude': '-1.63544'}
-        self.assertEquals(value, result)
+        self.assertEqual(value, result)
 
         # query with filters where the AND should be zero resources
         filters['network'] = 'omf'
         
         r_info = self.api.get_resource_info(filters, fields)
-        self.assertEquals(r_info, [])
+        self.assertEqual(r_info, [])
 
     def test_fail_if_invalid_field(self):
         """
@@ -118,7 +118,7 @@ class MANIFOLDAPITestCase(unittest.TestCase):
         'urn:publicid:IDN+ple:uttple+node+planetlab2.utt.fr', 
         'urn:publicid:IDN+ple:lilleple+node+node1pl.planet-lab.telecom-lille1.eu']
        
-        self.assertEquals(resources, result)
+        self.assertEqual(resources, result)
     
     def test_update_resources_from_slice(self):
         """
index fb32990..e239ec9 100755 (executable)
@@ -33,12 +33,12 @@ class ParallelRunTestCase(unittest.TestCase):
         def inc(count):
             count[0] += 1
         
-        for x in xrange(10):
+        for x in range(10):
             runner.put(inc, count)
 
         runner.destroy()
 
-        self.assertEquals(count[0], 10)
+        self.assertEqual(count[0], 10)
 
     def test_run_interrupt(self):
 
@@ -51,7 +51,7 @@ class ParallelRunTestCase(unittest.TestCase):
         runner = ParallelRun(maxthreads = 4)
         runner.start()
        
-        for x in xrange(100):
+        for x in range(100):
             runner.put(sleep)
 
         runner.empty()
@@ -73,14 +73,14 @@ class ParallelRunTestCase(unittest.TestCase):
         runner = ParallelRun(maxthreads = 4)
         runner.start()
        
-        for x in xrange(4):
+        for x in range(4):
             runner.put(inc, count)
 
         runner.put(error)
        
         runner.destroy()
       
-        self.assertEquals(count[0], 4)
+        self.assertEqual(count[0], 4)
         
         self.assertRaises(RuntimeError, runner.sync)
 
index b1d83cd..b4ef5dc 100755 (executable)
@@ -99,7 +99,7 @@ class PlotterTestCase(unittest.TestCase):
         apps = list()
         ifaces = list()
 
-        for i in xrange(node_count):
+        for i in range(node_count):
             node = ec.register_resource("dummy::Node")
             nodes.append(node)
             
@@ -107,7 +107,7 @@ class PlotterTestCase(unittest.TestCase):
             ec.register_connection(node, iface)
             ifaces.append(iface)
 
-            for i in xrange(app_count):
+            for i in range(app_count):
                 app = ec.register_resource("dummy::Application")
                 ec.register_connection(node, app)
                 apps.append(app)
index a381fed..c0f0e3a 100755 (executable)
@@ -101,7 +101,7 @@ class SerializerTestCase(unittest.TestCase):
         apps = list()
         ifaces = list()
 
-        for i in xrange(node_count):
+        for i in range(node_count):
             node = ec.register_resource("dummy::Node")
             nodes.append(node)
             
@@ -109,7 +109,7 @@ class SerializerTestCase(unittest.TestCase):
             ec.register_connection(node, iface)
             ifaces.append(iface)
 
-            for i in xrange(app_count):
+            for i in range(app_count):
                 app = ec.register_resource("dummy::Application")
                 ec.register_connection(node, app)
                 apps.append(app)
@@ -136,7 +136,7 @@ class SerializerTestCase(unittest.TestCase):
         ec2.wait_finished(apps)
         ec2.shutdown()
         
-        self.assertEquals(len(ec.resources), len(ec2.resources))
+        self.assertEqual(len(ec.resources), len(ec2.resources))
 
         shutil.rmtree(dirpath)
                        
index 99f44b0..54ddfef 100755 (executable)
@@ -47,7 +47,7 @@ def find_bin(name, extra_path = None):
             try:
                 os.stat(d + "/" + name)
                 return d + "/" + name
-            except OSError, e:
+            except OSError as e:
                 if e.errno != os.errno.ENOENT:
                     raise
     return None
@@ -102,7 +102,7 @@ def gen_sshd_config(filename, port, server_key, auth_keys):
 def gen_auth_keys(pubkey, output, environ):
     #opts = ['from="127.0.0.1/32"'] # fails in stupid yans setup
     opts = []
-    for k, v in environ.items():
+    for k, v in list(environ.items()):
         opts.append('environment="%s=%s"' % (k, v))
 
     lines = file(pubkey).readlines()
@@ -181,7 +181,7 @@ class SSHfuncsTestCase(unittest.TestCase):
         (outremote, errrmote), premote = rexec(command, host, user, 
                 port = env.port, agent = True)
 
-        self.assertEquals(outlocal, outremote)
+        self.assertEqual(outlocal, outremote)
 
     def test_rcopy_list(self):
         env = test_environment()
@@ -207,9 +207,9 @@ class SSHfuncsTestCase(unittest.TestCase):
             files.extend(names)
         os.path.walk(destdir, recls, files)
         
-        origfiles = map(lambda s: os.path.basename(s), [dirpath, f.name, f1.name])
+        origfiles = [os.path.basename(s) for s in [dirpath, f.name, f1.name]]
 
-        self.assertEquals(sorted(origfiles), sorted(files))
+        self.assertEqual(sorted(origfiles), sorted(files))
 
         os.remove(f1.name)
         shutil.rmtree(dirpath)
@@ -239,9 +239,9 @@ class SSHfuncsTestCase(unittest.TestCase):
             files.extend(names)
         os.path.walk(destdir, recls, files)
        
-        origfiles = map(lambda s: os.path.basename(s), [dirpath, f.name, f1.name])
+        origfiles = [os.path.basename(s) for s in [dirpath, f.name, f1.name]]
 
-        self.assertEquals(sorted(origfiles), sorted(files))
+        self.assertEqual(sorted(origfiles), sorted(files))
 
     def test_rproc_manage(self):
         env = test_environment()
@@ -274,7 +274,7 @@ class SSHfuncsTestCase(unittest.TestCase):
                 port = env.port, 
                 agent = True)
 
-        self.assertEquals(status, ProcStatus.RUNNING)
+        self.assertEqual(status, ProcStatus.RUNNING)
 
         rkill(pid, ppid,
                 host = host,
@@ -288,7 +288,7 @@ class SSHfuncsTestCase(unittest.TestCase):
                 port = env.port, 
                 agent = True)
         
-        self.assertEquals(status, ProcStatus.FINISHED)
+        self.assertEqual(status, ProcStatus.FINISHED)
 
 
 if __name__ == '__main__':
index 9dfef19..7b0ff54 100755 (executable)
@@ -33,7 +33,7 @@ class TimeFuncTestCase(unittest.TestCase):
         seconds1 = _get_total_seconds(date)
         seconds2 = date.total_seconds()
 
-        self.assertEquals(seconds1, seconds2)
+        self.assertEqual(seconds1, seconds2)
 
 
 if __name__ == '__main__':