FIX: Start T-Rex with sudo
[csit.git] / resources / libraries / python / TrafficGenerator.py
index 5f92888..fd68fee 100644 (file)
@@ -300,16 +300,16 @@ class TrafficGenerator(AbstractMeasurer):
 
                 # start TRex
                 if test_type == 'L2' or test_type == 'L3':
-                    (ret, _, _) = ssh.exec_command(
+                    (ret, _, _) = ssh.exec_command_sudo(
                         "sh -c 'cd {0}/scripts/ && "
                         "sudo nohup ./t-rex-64 -i -c 7 --iom 0 > /tmp/trex.log "
-                        "2>&1 &' > /dev/null"\
+                        "2>&1 &' > /dev/null"
                         .format(Constants.TREX_INSTALL_DIR))
                 elif test_type == 'L7':
-                    (ret, _, _) = ssh.exec_command(
+                    (ret, _, _) = ssh.exec_command_sudo(
                         "sh -c 'cd {0}/scripts/ && "
                         "sudo nohup ./t-rex-64 --astf -i -c 7 --iom 0 > "
-                        "/tmp/trex.log 2>&1 &' > /dev/null"\
+                        "/tmp/trex.log 2>&1 &' > /dev/null"
                         .format(Constants.TREX_INSTALL_DIR))
                 else:
                     raise ValueError("Unknown Test Type")
@@ -320,7 +320,7 @@ class TrafficGenerator(AbstractMeasurer):
                 # get TRex server info
                 (ret, _, _) = ssh.exec_command(
                     "sh -c 'sleep 3; "
-                    "{0}/resources/tools/trex/trex_server_info.py'"\
+                    "{0}/resources/tools/trex/trex_server_info.py'"
                     .format(Constants.REMOTE_FW_DIR),
                     timeout=120)
                 if int(ret) == 0:
@@ -698,8 +698,8 @@ class OptimizedSearch(object):
     @staticmethod
     def perform_soak_search(
             frame_size, traffic_profile, minimum_transmit_rate,
-            maximum_transmit_rate, plr_target=1e-7, tdpt=0.2,
-            initial_count=50, timeout=1800.0):
+            maximum_transmit_rate, plr_target=1e-7, tdpt=0.1,
+            initial_count=50, timeout=1800.0, trace_enabled=False):
         """Setup initialized TG, perform soak search, return avg and stdev.
 
         :param frame_size: Frame size identifier or value [B].
@@ -734,6 +734,7 @@ class OptimizedSearch(object):
         algorithm = PLRsearch(
             measurer=tg_instance, trial_duration_per_trial=tdpt,
             packet_loss_ratio_target=plr_target,
-            trial_number_offset=initial_count, timeout=timeout)
+            trial_number_offset=initial_count, timeout=timeout,
+            trace_enabled=trace_enabled)
         result = algorithm.search(minimum_transmit_rate, maximum_transmit_rate)
         return result