summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Provoost <luc.provoost@intel.com>2020-12-08 21:53:41 +0100
committerLuc Provoost <luc.provoost@intel.com>2020-12-08 21:53:41 +0100
commitd5801e449ca4c7115c2c11bf164bcce7b149917c (patch)
treef7ada6c0994918b43eeb3c5b0d52ffa3fe495812
parent50f6063cff3bd904d1ae684c10c952a4c7f9b276 (diff)
Reporting test details for all testsopnfv-10.0.0stable/jerma
Test details were only implemented in rapid_flowsizetest.py. When executing other tests, an error occured. That is now fixed, although in some cases, None is returned. The format.yaml files defines now alsowhat will be reported in the Xtesting details. Change-Id: I5feae62dcf228664b24451d3fc5dfaaadf7edb5e Signed-off-by: Luc Provoost <luc.provoost@intel.com>
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml49
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_corestatstest.py7
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py4
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py7
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_irqtest.py2
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_portstatstest.py7
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py26
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_warmuptest.py2
8 files changed, 44 insertions, 60 deletions
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml b/VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml
index f422077..6b1eb45 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/format.yaml
@@ -22,36 +22,25 @@
PacketsReceived: PacketsReceived
PacketsLost: PacketsLost
rapid_flowsizetest:
- project_name: "cirv"
- scenario: "rapid"
- start_date: start_date
- stop_date: stop_date
- case_name: test
- pod_name: "intel-pod10"
- installer: "Fuel"
- version: "1.0"
- build_tag: "none"
- criteria: "PASS"
- details:
- Flows: Flows
- Size: Size
- Speed (Mpps):
- RequestedSpeed: RequestedSpeed
- CoreGenerated: CoreGenerated
- SentByNIC: SentByNIC
- FwdBySUT: FwdBySUT
- RevByCore: RevByCore
- Latency (usec):
- AvgLatency: AvgLatency
- PCTLatency: PCTLatency
- MaxLatency: MaxLatency
- Distribution:
- bucket_size: bucket_size
- buckets: buckets
- Absolute Packet Count:
- PacketsSent: PacketsSent
- PacketsReceived: PacketsReceived
- PacketsLost: PacketsLost
+ Flows: Flows
+ Size: Size
+ Speed (Mpps):
+ RequestedSpeed: RequestedSpeed
+ CoreGenerated: CoreGenerated
+ SentByNIC: SentByNIC
+ FwdBySUT: FwdBySUT
+ RevByCore: RevByCore
+ Latency (usec):
+ AvgLatency: AvgLatency
+ PCTLatency: PCTLatency
+ MaxLatency: MaxLatency
+ Distribution:
+ bucket_size: bucket_size
+ buckets: buckets
+ Absolute Packet Count:
+ PacketsSent: PacketsSent
+ PacketsReceived: PacketsReceived
+ PacketsLost: PacketsLost
rapid_irqtest:
Core: Core
LessThan1us : B1
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_corestatstest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_corestatstest.py
index 6b9fdcf..a6a31c3 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_corestatstest.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_corestatstest.py
@@ -33,6 +33,7 @@ class CoreStatsTest(RapidTest):
self.machines = machines
def run(self):
+ result_details = {'Details': 'Nothing'}
RapidLog.info("+------------------------------------------------------------------------------------------------------------------+")
RapidLog.info("| Measuring core statistics on 1 or more PROX instances |")
RapidLog.info("+-----------+-----------+------------+------------+------------+------------+------------+------------+------------+")
@@ -71,7 +72,7 @@ class CoreStatsTest(RapidTest):
old_tsc[i] = new_tsc[i]
tot_drop[i] = tot_drop[i] + tx - rx
RapidLog.info('|{:>10.0f}'.format(i)+ ' |{:>10.0f}'.format(duration)+' | ' + '{:>10.0f}'.format(rx) + ' | ' +'{:>10.0f}'.format(tx) + ' | '+'{:>10.0f}'.format(non_dp_rx)+' | '+'{:>10.0f}'.format(non_dp_tx)+' | ' + '{:>10.0f}'.format(tx-rx) + ' | '+ '{:>10.0f}'.format(non_dp_tx-non_dp_rx) + ' | '+'{:>10.0f}'.format(tot_drop[i]) +' |')
- variables = {'test': self.test['test'],
+ result_details = {'test': self.test['test'],
'environment_file': self.test['environment_file'],
'PROXID': i,
'StepSize': duration,
@@ -80,10 +81,10 @@ class CoreStatsTest(RapidTest):
'NonDPReceived': non_dp_rx,
'NonDPSent': non_dp_tx,
'Dropped': tot_drop[i]}
- self.post_data('rapid_corestatstest', variables)
+ result_details = self.post_data('rapid_corestatstest', result_details)
if machines_to_go == 0:
duration = duration - 1
machines_to_go = len (self.machines)
RapidLog.info("+-----------+-----------+------------+------------+------------+------------+------------+------------+------------+")
- return (True)
+ return (True, result_details)
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py
index 0123a86..c4308b1 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_flowsizetest.py
@@ -267,8 +267,8 @@ class FlowSizeTest(RapidTest):
'PacketsLost': endabs_dropped,
'bucket_size': bucket_size,
'buckets': endbuckets}
- self.post_data('rapid_flowsizetest', result_details)
+ result_details = self.post_data('rapid_flowsizetest', result_details)
else:
RapidLog.info('|{:>7}'.format(str(flow_number))+" | Speed 0 or close to 0")
self.gen_machine.stop_latency_cores()
- return (TestPassed,result_details)
+ return (TestPassed, result_details)
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py
index 8b7f876..2e55aea 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_impairtest.py
@@ -36,6 +36,7 @@ class ImpairTest(RapidTest):
self.test['lat_percentile'] = lat_percentile
def run(self):
+ result_details = {'Details': 'Nothing'}
imix = self.test['imix']
size = mean (imix)
flow_number = self.test['flowsize']
@@ -65,7 +66,7 @@ class ImpairTest(RapidTest):
else:
lat_warning = ''
RapidLog.info(self.report_result(attempts,size,speed,pps_req_tx,pps_tx,pps_sut_tx,pps_rx,lat_avg,lat_perc,lat_perc_max,lat_max,abs_tx,abs_rx,abs_dropped,actual_duration))
- variables = {'test': self.test['test'],
+ result_details = {'test': self.test['test'],
'environment_file': self.test['environment_file'],
'Flows': flow_number,
'Size': size,
@@ -81,6 +82,6 @@ class ImpairTest(RapidTest):
'DropRate': drop_rate,
'bucket_size': bucket_size,
'buckets': buckets}
- self.post_data('rapid_impairtest', variables)
+ result_details = self.post_data('rapid_impairtest', result_details)
self.gen_machine.stop_latency_cores()
- return (True)
+ return (True, result_details)
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_irqtest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_irqtest.py
index 3b3ef94..1afa0f1 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_irqtest.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_irqtest.py
@@ -94,4 +94,4 @@ class IrqTest(RapidTest):
for j,bucket in enumerate(buckets):
variables['B{}'.format(column_names[j].replace(">","M").replace("<","").replace(" ",""))] = irq[i][j]
self.post_data('rapid_irqtest', variables)
- return (True)
+ return (True, None)
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_portstatstest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_portstatstest.py
index 90bf5b2..135770f 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_portstatstest.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_portstatstest.py
@@ -33,6 +33,7 @@ class PortStatsTest(RapidTest):
self.machines = machines
def run(self):
+ result_details = {'Details': 'Nothing'}
RapidLog.info("+---------------------------------------------------------------------------+")
RapidLog.info("| Measuring port statistics on 1 or more PROX instances |")
RapidLog.info("+-----------+-----------+------------+------------+------------+------------+")
@@ -66,7 +67,7 @@ class PortStatsTest(RapidTest):
old_errors[i] = new_errors[i]
old_tsc[i] = new_tsc[i]
RapidLog.info('|{:>10.0f}'.format(i)+ ' |{:>10.0f}'.format(duration)+' | ' + '{:>10.0f}'.format(rx) + ' | ' +'{:>10.0f}'.format(tx) + ' | '+'{:>10.0f}'.format(no_mbufs)+' | '+'{:>10.0f}'.format(errors)+' |')
- variables = {'test': self.test['test'],
+ result_details = {'test': self.test['test'],
'environment_file': self.test['environment_file'],
'PROXID': i,
'StepSize': duration,
@@ -74,9 +75,9 @@ class PortStatsTest(RapidTest):
'Sent': tx,
'NoMbufs': no_mbufs,
'iErrMiss': errors}
- self.post_data('rapid_corestatstest', variables)
+ result_details = self.post_data('rapid_corestatstest', result_details)
if machines_to_go == 0:
duration = duration - 1
machines_to_go = len (self.machines)
RapidLog.info("+-----------+-----------+------------+------------+------------+------------+")
- return (True)
+ return (True, result_details)
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py
index 73b41a6..b89eb7b 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py
@@ -114,29 +114,21 @@ class RapidTest(object):
def post_data(self, test, variables):
var = copy.deepcopy(self.data_format)
self.parse_data_format_dict(var, variables)
- if 'URL' not in var.keys():
- return
- if test not in var.keys():
- return
- URL=''
- for value in var['URL'].values():
- URL = URL + value
- HEADERS = {'X-Requested-With': 'Python requests', 'Content-type': 'application/rapid'}
- if 'Format' in var.keys():
+ if var.keys() >= {'URL', test, 'Format'}:
+ URL=''
+ for value in var['URL'].values():
+ URL = URL + value
+ HEADERS = {'X-Requested-With': 'Python requests', 'Content-type': 'application/rapid'}
if var['Format'] == 'PushGateway':
data = "\n".join("{} {}".format(k, v) for k, v in var[test].items()) + "\n"
response = requests.post(url=URL, data=data,headers=HEADERS)
elif var['Format'] == 'Xtesting':
data = var[test]
response = requests.post(url=URL, json=data)
- else:
- return
- else:
- return
- if (response.status_code != 202) and (response.status_code != 200):
- RapidLog.info('Cannot send metrics to {}'.format(URL))
- RapidLog.info(data)
-
+ if (response.status_code >= 300):
+ RapidLog.info('Cannot send metrics to {}'.format(URL))
+ RapidLog.info(data)
+ return (var[test])
@staticmethod
def report_result(flow_number, size, speed, pps_req_tx, pps_tx, pps_sut_tx,
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_warmuptest.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_warmuptest.py
index 55f07be..32579f8 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_warmuptest.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_warmuptest.py
@@ -48,4 +48,4 @@ class WarmupTest(RapidTest):
self.gen_machine.stop()
# gen_machine['socket'].set_value(gencores,0,56,50,1)
time.sleep(WARMUPTIME)
- return (True)
+ return (True, None)