summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py
diff options
context:
space:
mode:
authorLuc Provoost <luc.provoost@intel.com>2020-06-15 12:02:46 +0200
committerLuc Provoost <luc.provoost@intel.com>2020-07-05 22:29:50 +0200
commitd7385ade1e9693a77f505c27a54169a2a5e8555d (patch)
tree401ec0251fd491bd1cde69db9eab7339e22c9e5c /VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py
parent7c3217fc16020c36c5a7c9c4f4542f99cbcad57f (diff)
Adding vdev support and vfio
Using vfio in stead of igb_uio. DPDK 2020.5 is NOT compiling the igb_uio driver by default any more. For the l3 mode, we are now using the new PROX vdev feature. This is achieved by adding the vdev parameter in the port section of the PROX config files. One of the advantages is that we can now ping a port managed by PROX: the requests will be forwarded by PROX to the LINUX stack, who will reply to the ping. A tap device is being created by PROX to support this feature. Installing old version of nasm since latest causes some issues. If not pushgateway is being used, it should be commented out in the config_file. vfio is now loaded by specifying the module in /etc/modules-load.d There is also an after_boot.sh script that will be run by check_prox_system_setup.sh, which can be used for further configuration of the instance after boot. There is now also a file created /opt/rapid/system_ready_for_rapid by the check_prox_system_setup.sh script. This file is created once all configuration is done. The runrapid.py script will wait till this file is created before executing any tests. Change-Id: Ic5c41af82642066af42134c3323297f5a06f6f72 Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Diffstat (limited to 'VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py')
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py
index 0c5f8095..da53742e 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py
@@ -19,6 +19,7 @@
import sys
import time
+import requests
from math import ceil
from statistics import mean
from past.utils import old_div
@@ -33,21 +34,17 @@ class FlowSizeTest(RapidTest):
"""
def __init__(self, test_param, lat_percentile, runtime, pushgateway,
environment_file, gen_machine, sut_machine, background_machines):
- self.test = test_param
+ super().__init__(test_param, runtime, pushgateway, environment_file)
self.gen_machine = gen_machine
self.sut_machine = sut_machine
self.background_machines = background_machines
self.test['lat_percentile'] = lat_percentile
- self.test['runtime'] = runtime
- self.test['pushgateway'] = pushgateway
- self.test['environment_file'] = environment_file
- if 'maxr' not in self.test.keys():
- self.test['maxr'] = 1
- if 'maxz' not in self.test.keys():
- self.test['maxz'] = inf
if self.test['test'] == 'TST009test':
- # This test implements some of the testing as defined in https://docbox.etsi.org/ISG/NFV/open/Publications_pdf/Specs-Reports/NFV-TST%20009v3.2.1%20-%20GS%20-%20NFVI_Benchmarks.pdf
- self.test['TST009_n'] = int(ceil(old_div(self.test['maxframespersecondallingress'], self.test['stepsize'])))
+ # This test implements some of the testing as defined in
+ # https://docbox.etsi.org/ISG/NFV/open/Publications_pdf/Specs-Reports/NFV-TST%20009v3.2.1%20-%20GS%20-%20NFVI_Benchmarks.pdf
+ self.test['TST009_n'] = int(ceil(old_div(
+ self.test['maxframespersecondallingress'],
+ self.test['stepsize'])))
self.test['TST009'] = True
self.test['TST009_L'] = 0
self.test['TST009_R'] = self.test['TST009_n'] - 1
@@ -58,7 +55,8 @@ class FlowSizeTest(RapidTest):
self.test['lat_perc_threshold'] = inf
self.test['lat_max_threshold'] = inf
elif self.test['test'] == 'fixed_rate':
- for key in['drop_rate_threshold','lat_avg_threshold','lat_perc_threshold','lat_max_threshold']:
+ for key in['drop_rate_threshold','lat_avg_threshold',
+ 'lat_perc_threshold','lat_max_threshold']:
self.test[key] = inf
def new_speed(self, speed,size,success):
@@ -244,7 +242,7 @@ class FlowSizeTest(RapidTest):
RapidLog.info("+--------+------------------+-------------+-------------+-------------+------------------------+----------+----------+----------+-----------+-----------+-----------+-----------+-------+----+")
# writer.writerow({'Flows':flow_number,'PacketSize':(size+4),'RequestedPPS':self.get_pps(endspeed,size),'GeneratedPPS':endpps_req_tx,'SentPPS':endpps_tx,'ForwardedPPS':endpps_sut_tx,'ReceivedPPS':endpps_rx,'AvgLatencyUSEC':endlat_avg,'MaxLatencyUSEC':endlat_max,'Sent':endabs_tx,'Received':endabs_rx,'Lost':endabs_dropped,'LostTotal':endabs_dropped})
if self.test['pushgateway']:
- URL = self.test['pushgateway'] + '/metrics/job/' + self.test['test']+ '/instance/' + self.test['environment_file']
+ URL = self.test['pushgateway'] + self.test['test']+ '/instance/' + self.test['environment_file']
if endabs_dropped == None:
ead = 0
else: