s/dedicatedSlice/cleanProc/g
[nepi.git] / test / testbeds / planetlab / integration_ns3.py
index 8091468..a737732 100755 (executable)
@@ -7,12 +7,12 @@ from nepi.core.execute import ExperimentController
 from nepi.util import proxy
 from nepi.util.constants import DeploymentConfiguration as DC, ATTR_NEPI_TESTBED_ENVIRONMENT_SETUP
 import os
+import re
 import shutil
 import tempfile
 import test_util
 import time
 import unittest
-import re
 
 class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
     testbed_id = "planetlab"
@@ -57,6 +57,9 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
         pl_desc.set_attribute_value("authPass", pl_pwd)
         pl_desc.set_attribute_value("plcHost", plchost)
         pl_desc.set_attribute_value("tapPortBase", self.port_base)
+        pl_desc.set_attribute_value("p2pDeployment", False) # it's interactive, we don't want it in tests
+        pl_desc.set_attribute_value("cleanProc", True)
+        #pl_desc.set_attribute_value("plLogLevel", "DEBUG")
         
         return pl_desc, exp_desc
     
@@ -158,8 +161,16 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
             controller.start()
             # just test that it starts...
         finally:
-            controller.stop()
-            controller.shutdown()
+            try:
+                controller.stop()
+            except:
+                import traceback
+                traceback.print_exc()
+            try:
+                controller.shutdown()
+            except:
+                import traceback
+                traceback.print_exc()
 
     @test_util.skipUnless(test_util.pl_auth() is not None, 
         "Test requires PlanetLab authentication info (PL_USER and PL_PASS environment variables)")
@@ -183,11 +194,12 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
         ns1.connector("protos").connect(ipv41.connector("node"))
         ns1.connector("protos").connect(arp1.connector("node"))
         ns1.connector("protos").connect(icmp1.connector("node"))
-        ns1if = ns3_desc.create("ns3::FileDescriptorNetDevice")
-        ns1if.enable_trace("FileDescriptorPcapTrace")
+        ns1if = ns3_desc.create("ns3::FdNetDevice")
+        ns1if.enable_trace("FdPcapTrace")
         ns1if.set_attribute_value("label", "ns1if")
         ns1.connector("devs").connect(ns1if.connector("node"))
         tap1.connector("fd->").connect(ns1if.connector("->fd"))
+        tap1.set_attribute_value("tun_cipher", "PLAIN")
         ip1 = ns1if.add_address()
         ip1.set_attribute_value("Address", "192.168.2.3")
         ip1.set_attribute_value("NetPrefix", 24)
@@ -219,8 +231,16 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
             tap_trace = controller.trace(tap1.guid, "packets")
 
         finally:
-            controller.stop()
-            controller.shutdown()
+            try:
+                controller.stop()
+            except:
+                import traceback
+                traceback.print_exc()
+            try:
+                controller.shutdown()
+            except:
+                import traceback
+                traceback.print_exc()
 
         # asserts at the end, to make sure there's proper cleanup
         self.assertTrue(re.match(comp_result, ping_result, re.MULTILINE),
@@ -262,11 +282,12 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
         ns1.connector("protos").connect(ipv41.connector("node"))
         ns1.connector("protos").connect(arp1.connector("node"))
         ns1.connector("protos").connect(icmp1.connector("node"))
-        ns1if = ns3_desc.create("ns3::FileDescriptorNetDevice")
-        ns1if.enable_trace("FileDescriptorPcapTrace")
+        ns1if = ns3_desc.create("ns3::FdNetDevice")
+        ns1if.enable_trace("FdPcapTrace")
         ns1if.set_attribute_value("label", "ns1if")
         ns1.connector("devs").connect(ns1if.connector("node"))
         tap1.connector("fd->").connect(ns1if.connector("->fd"))
+        tap1.set_attribute_value("tun_cipher", "PLAIN")
         ip1 = ns1if.add_address()
         ip1.set_attribute_value("Address", "192.168.2.3")
         ip1.set_attribute_value("NetPrefix", 24)
@@ -297,8 +318,16 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
             tap_trace = controller.trace(tap1.guid, "packets")
 
         finally:
-            controller.stop()
-            controller.shutdown()
+            try:
+                controller.stop()
+            except:
+                import traceback
+                traceback.print_exc()
+            try:
+                controller.shutdown()
+            except:
+                import traceback
+                traceback.print_exc()
         
         # asserts at the end, to make sure there's proper cleanup
         sent = 0
@@ -367,11 +396,12 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
         ns1.connector("protos").connect(ipv41.connector("node"))
         ns1.connector("protos").connect(arp1.connector("node"))
         ns1.connector("protos").connect(icmp1.connector("node"))
-        ns1if = ns3_desc.create("ns3::FileDescriptorNetDevice")
-        ns1if.enable_trace("FileDescriptorPcapTrace")
+        ns1if = ns3_desc.create("ns3::FdNetDevice")
+        ns1if.enable_trace("FdPcapTrace")
         ns1if.set_attribute_value("label", "ns1if")
         ns1.connector("devs").connect(ns1if.connector("node"))
         tap0.connector("fd->").connect(ns1if.connector("->fd"))
+        tap0.set_attribute_value("tun_cipher", "PLAIN")
         ip1 = ns1if.add_address()
         ip1.set_attribute_value("Address", "192.168.2.1")
         ip1.set_attribute_value("NetPrefix", 30)
@@ -407,8 +437,16 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase):
             tap0_trace = controller.trace(tap0.guid, "packets")
 
         finally:
-            controller.stop()
-            controller.shutdown()
+            try:
+                controller.stop()
+            except:
+                import traceback
+                traceback.print_exc()
+            try:
+                controller.shutdown()
+            except:
+                import traceback
+                traceback.print_exc()
         
         # asserts at the end, to make sure there's proper cleanup
         sent = 0