systematic use of context managers for dealing with files instead of open()/close...
[nepi.git] / examples / openvswitch / ovs_ping_3switches_loop.py
index 7dac095..bd246da 100644 (file)
@@ -4,9 +4,8 @@
 #    Copyright (C) 2013 INRIA
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    it under the terms of the GNU General Public License version 2 as
+#    published by the Free Software Foundation;
 #
 #    This program is distributed in the hope that it will be useful,
 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -42,20 +41,20 @@ from nepi.execution.ec import ExperimentController
 import os, time
 
 def add_node(ec, host, user, pl_user, pl_password):
-    node = ec.register_resource("PlanetlabNode")
+    node = ec.register_resource("planetlab::Node")
     ec.set(node, "hostname", host)
     ec.set(node, "username", user)
     if pl_user:
         ec.set(node, "pluser", pl_user)
     if pl_password:
         ec.set(node, "plpassword", pl_password)
-    ec.set(node, "cleanHome", True)
+    ec.set(node, "cleanExperiment", True)
     ec.set(node, "cleanProcesses", True)
 
     return node
 
 def add_ovs(ec, bridge_name, virtual_ip_pref, controller_ip, controller_port, node):
-    ovs = ec.register_resource("OVSSwitch")
+    ovs = ec.register_resource("planetlab::OVSSwitch")
     ec.set(ovs, "bridge_name", bridge_name)
     ec.set(ovs, "virtual_ip_pref", virtual_ip_pref)
     ec.set(ovs, "controller_ip", controller_ip)
@@ -64,29 +63,29 @@ def add_ovs(ec, bridge_name, virtual_ip_pref, controller_ip, controller_port, no
     return ovs
 
 def add_port(ec, port_name, network, ovs):
-    port = ec.register_resource("OVSPort")
+    port = ec.register_resource("planetlab::OVSPort")
     ec.set(port, "port_name", port_name)
     ec.set(port, "network", network)
     ec.register_connection(port, ovs)
     return port
 
-def add_tap(ec, endpoint_ip, endpoint_prefix, pointopoint, node):
-    tap = ec.register_resource("PlanetlabTap")
-    ec.set(tap, "endpoint_ip", endpoint_ip)
-    ec.set(tap, "endpoint_prefix", endpoint_prefix)
+def add_tap(ec, ip, prefix, pointopoint, node):
+    tap = ec.register_resource("planetlab::Tap")
+    ec.set(tap, "ip", ip)
+    ec.set(tap, "prefix", prefix)
     ec.set(tap, "pointopoint", pointopoint)
     ec.set(tap, "up", True)
     ec.register_connection(tap, node)
     return tap
 
 def add_tunnel(ec, port0, tap):
-    tunnel = ec.register_resource("LinuxUdpTunnel")
+    tunnel = ec.register_resource("linux::UdpTunnel")
     ec.register_connection(port0, tunnel)
     ec.register_connection(tunnel, tap)
     return tunnel
 
 def add_app(ec, command, node):
-    app = ec.register_resource("LinuxApplication")
+    app = ec.register_resource("linux::Application")
     ec.set(app, "command", command)
     ec.register_connection(app, node)
     return app
@@ -139,9 +138,9 @@ h2_node = add_node(ec, host2, slicename, pl_user, pl_password)
 h3_node = add_node(ec, host3, slicename, pl_user, pl_password)
 
 # Add tap devices
-tap1 = add_tap(ec, "192.168.3.1", 24, "192.168.3.2", h1_node)
-tap2 = add_tap(ec, "192.168.3.3", 24, "192.168.3.4", h2_node)
-tap3 = add_tap(ec, "192.168.3.5", 24, "192.168.3.6", h3_node)
+tap1 = add_tap(ec, "192.168.3.1", "24", "192.168.3.2", h1_node)
+tap2 = add_tap(ec, "192.168.3.3", "24", "192.168.3.4", h2_node)
+tap3 = add_tap(ec, "192.168.3.5", "24", "192.168.3.6", h3_node)
 
 # Connect the nodes
 tunnel1 = add_tunnel(ec, port1, tap1)
@@ -185,41 +184,37 @@ ping11 = ec.trace(app11, 'stdout')
 ping12 = ec.trace(app12, 'stdout')
 
 
-f = open("examples/openvswitch/ovs_ping_3switches_loop.txt", 'w')
-
-if not ping12:
-  ec.shutdown()
-
-f.write("************ Ping From Switch 1 : 192.168.3.2 ********************\n\n")
-f.write(ping1)
-f.write("--------------------------------------\n")
-f.write(ping2)
-f.write("************ Ping From Switch 2 : 192.168.3.4 ********************\n\n")
-f.write(ping3)
-f.write("--------------------------------------\n")
-f.write(ping4)
-f.write("************ Ping From Switch 3 : 192.168.3.6 ********************\n\n")
-f.write(ping5)
-f.write("--------------------------------------\n")
-f.write(ping6)
-f.write("************ Ping From Host 1 : 192.168.3.1 ********************\n\n")
-f.write(ping7)
-f.write("--------------------------------------\n")
-f.write(ping8)
-f.write("************ Ping From Host 2 : 192.168.3.3 ********************\n\n")
-f.write(ping9)
-f.write("--------------------------------------\n")
-f.write(ping10)
-f.write("************ Ping From Host 3 : 192.168.3.5 ********************\n\n")
-f.write(ping11)
-f.write("--------------------------------------\n")
-f.write(ping12)
-f.close()
+with open("examples/openvswitch/ovs_ping_3switches_loop.txt", 'w') as f:
+
+    if not ping12:
+        ec.shutdown()
+
+    f.write("************ Ping From Switch 1 : 192.168.3.2 ********************\n\n")
+    f.write(ping1)
+    f.write("--------------------------------------\n")
+    f.write(ping2)
+    f.write("************ Ping From Switch 2 : 192.168.3.4 ********************\n\n")
+    f.write(ping3)
+    f.write("--------------------------------------\n")
+    f.write(ping4)
+    f.write("************ Ping From Switch 3 : 192.168.3.6 ********************\n\n")
+    f.write(ping5)
+    f.write("--------------------------------------\n")
+    f.write(ping6)
+    f.write("************ Ping From Host 1 : 192.168.3.1 ********************\n\n")
+    f.write(ping7)
+    f.write("--------------------------------------\n")
+    f.write(ping8)
+    f.write("************ Ping From Host 2 : 192.168.3.3 ********************\n\n")
+    f.write(ping9)
+    f.write("--------------------------------------\n")
+    f.write(ping10)
+    f.write("************ Ping From Host 3 : 192.168.3.5 ********************\n\n")
+    f.write(ping11)
+    f.write("--------------------------------------\n")
+    f.write(ping12)
 
 # Delete the overlay network
 ec.shutdown()
 
 
-
-
-