diff --git a/py-dashboard/GhostRequest.py b/py-dashboard/GhostRequest.py
index 8ae34706..5ee5a0c9 100644
--- a/py-dashboard/GhostRequest.py
+++ b/py-dashboard/GhostRequest.py
@@ -291,8 +291,7 @@ class GhostRequest:
target_folders.append(folder)
testbeds = list()
- webpages = self.webpages
- pdfs = self.pdfs
+ webpagesandpdfs = list()
high_priority_list = list()
low_priority_list = list()
images = list()
@@ -304,6 +303,7 @@ class GhostRequest:
target_file = '%s/kpi.csv' % target_folder
df = csvreader.read_csv(file=target_file, sep='\t')
test_rig = csvreader.get_column(df, 'test-rig')[0]
+ test_id = csvreader.get_column(df, 'test-id')[0]
pass_fail = Counter(csvreader.get_column(df, 'pass/fail'))
test_pass_fail.append(pass_fail)
dut_hw = csvreader.get_column(df, 'dut-hw-version')[0]
@@ -323,66 +323,78 @@ class GhostRequest:
text = text + 'Tests passed: 0
' \
'Tests failed : 0
' \
'Percentage of tests passed: Not Applicable
'
+ testbeds.append(test_rig)
+ if testbed is None:
+ testbed = test_rig
+
+ if test_run is None:
+ test_run = now.strftime('%B-%d-%Y-%I-%M-%p-report')
+
+ local_path = '/home/%s/%s/%s/%s' % (user_push, customer, testbed, test_run)
+
+ transport = paramiko.Transport(ghost_host, port)
+ transport.connect(None, user_push, password_push)
+ sftp = paramiko.sftp_client.SFTPClient.from_transport(transport)
+
+ if self.debug:
+ print(local_path)
+ print(target_folder)
+
+ try:
+ sftp.mkdir('/home/%s/%s/%s' % (user_push, customer, testbed))
+ except:
+ pass
+
+ try:
+ sftp.mkdir(local_path)
+ except:
+ pass
+ scp_push.put(target_folder, local_path, recursive=True)
+ files = sftp.listdir(local_path + '/' + target_folder)
+ pdfs = list()
+ webpages = list()
+ for file in files:
+ if 'pdf' in file:
+ url = 'http://%s/%s/%s/%s/%s/%s' % (
+ ghost_host, customer.strip('/'), testbed, test_run, target_folder, file)
+ pdfs.append('PDF' % url)
+ if 'index.html' in files:
+ url = 'http://%s/%s/%s/%s/%s/%s' % (
+ ghost_host, customer.strip('/'), testbed, test_run, target_folder, 'index.html')
+ webpages.append('HTML' % url)
+ webpagesandpdfsappend = dict()
+ webpagesandpdfsappend[test_id] = pdfs + webpages
+ webpagesandpdfs.append(webpagesandpdfsappend)
+ scp_push.close()
+ self.upload_images(target_folder)
+ for image in self.images:
+ if 'kpi-' in image:
+ if '-print' not in image:
+ images.append('
' % image)
+ self.images = []
+
+ results = csvreader.get_columns(df, ['short-description', 'numeric-score', 'test details', 'pass/fail',
+ 'test-priority'])
+
+ results[0] = ['Short Description', 'Score', 'Test Details', 'Pass or Fail', 'test-priority']
+ for row in results:
+ try:
+ row[1] = round(float(row[1]), 2)
+ except:
+ pass
+
+ low_priority = csvreader.filter_df(results, 'test-priority', 'less than', 94)
+ high_priority = csvreader.filter_df(results, 'test-priority', 'greater than or equal to', 95)
+ high_priority_list.append(high_priority)
+
+ low_priority_list.append(low_priority)
except:
print("Failure")
target_folders.remove(target_folder)
- break
- testbeds.append(test_rig)
- if testbed is None:
- testbed = test_rig
-
- if test_run is None:
- test_run = now.strftime('%B-%d-%Y-%I-%M-%p-report')
-
- local_path = '/home/%s/%s/%s/%s' % (user_push, customer, testbed, test_run)
-
- transport = paramiko.Transport(ghost_host, port)
- transport.connect(None, user_push, password_push)
- sftp = paramiko.sftp_client.SFTPClient.from_transport(transport)
-
- if self.debug:
- print(local_path)
- print(target_folder)
-
- try:
- sftp.mkdir('/home/%s/%s/%s' % (user_push, customer, testbed))
- except:
- pass
-
- try:
- sftp.mkdir(local_path)
- except:
- pass
- scp_push.put(target_folder, local_path, recursive=True)
- files = sftp.listdir(local_path + '/' + target_folder)
- for file in files:
- if 'pdf' in file:
- url = 'http://%s/%s/%s/%s/%s/%s' % (
- ghost_host, customer.strip('/'), testbed, test_run, target_folder, file)
- pdfs.append('PDF of results: %s' % (url, file))
- if 'index.html' in files:
- url = 'http://%s/%s/%s/%s/%s/%s' % (
- ghost_host, customer.strip('/'), testbed, test_run, target_folder, 'index.html')
- webpages.append('Results webpage: %s
' % (url, target_folder))
- scp_push.close()
- self.upload_images(target_folder)
- for image in self.images:
- if 'kpi-' in image:
- if '-print' not in image:
- images.append('
' % image)
- self.images = []
-
- results = csvreader.get_columns(df, ['short-description', 'numeric-score', 'test details', 'pass/fail',
- 'test-priority'])
-
- results[0] = ['Short Description', 'Score', 'Test Details', 'Pass or Fail', 'test-priority']
-
- low_priority = csvreader.filter_df(results, 'test-priority', 'less than', 94)
- high_priority = csvreader.filter_df(results, 'test-priority', 'greater than or equal to', 95)
- high_priority_list.append(high_priority)
-
- low_priority_list.append(low_priority)
+ failuredict = dict()
+ failuredict[target_folder] = ['Failure']
+ webpagesandpdfs.append(failuredict)
test_pass_fail_results = sum((Counter(test) for test in test_pass_fail), Counter())
@@ -391,7 +403,7 @@ class GhostRequest:
print(times)
end_time = max(times)
start_time = '2021-07-01'
- end_time = datetime.utcfromtimestamp(end_time)#.strftime('%Y-%m-%d %H:%M:%S')
+ end_time = datetime.utcfromtimestamp(end_time) # .strftime('%Y-%m-%d %H:%M:%S')
now = time.time()
offset = datetime.fromtimestamp(now) - datetime.utcfromtimestamp(now)
end_time = end_time + offset
@@ -473,10 +485,14 @@ class GhostRequest:
dut_table = dut_table + ''
text = text + dut_table
- for article in zip(pdfs, webpages):
- if self.debug:
- print(article)
- text = text + article[0] + ' | ' + article[1]
+ for dictionary in webpagesandpdfs:
+ text += list(dictionary.keys())[0] + ' report: '
+ for value in dictionary.values():
+ for webpage in value:
+ text += webpage
+ if value.index(webpage) + 1 != len(value):
+ text += ' | '
+ text += '
'
for image in images:
text = text + image
diff --git a/py-scripts/csv_to_influx.py b/py-scripts/csv_to_influx.py
index b0056a82..f9124813 100755
--- a/py-scripts/csv_to_influx.py
+++ b/py-scripts/csv_to_influx.py
@@ -57,8 +57,6 @@ class CSVtoInflux():
# Submit data to the influx db if configured to do so.
def post_to_influx(self):
df = self.read_csv(self.target_csv)
- for row in df:
- row =[sub.replace('NaN','0') for sub in row]
length = list(range(0, len(df[0])))
columns = dict(zip(df[0], length))
print('columns: %s' % columns)
@@ -68,6 +66,7 @@ class CSVtoInflux():
'dut-hw-version', 'dut-sw-version', 'dut-serial-num', 'test-rig', 'Units']
csv_vs_influx = dict(zip(csv_variables, influx_variables))
for row in df[1:]:
+ row = [sub.replace('NaN', '0') for sub in row]
tags = dict()
print("row: %s" % row)
short_description = row[columns['short-description']]
diff --git a/py-scripts/influxgrafanaghost.sh b/py-scripts/influxgrafanaghost.sh
old mode 100644
new mode 100755
index e69de29b..b65773c3
--- a/py-scripts/influxgrafanaghost.sh
+++ b/py-scripts/influxgrafanaghost.sh
@@ -0,0 +1,46 @@
+#! /bin/bash
+
+MGR=192.168.100.213
+LFUSER=lanforge
+LOCALDIR=/home/matthew/Documents/lanforge-scripts/py-scripts/lftest
+TESTRIG="Matthew-ct523c"
+
+GHOSTTOKEN=60df4b0175953f400cd30650:d50e1fabf9a9b5d3d30fe97bc3bf04971d05496a89e92a169a0d72357c81f742
+
+INFLUXTOKEN=31N9QDhjJHBu4eMUlMBwbK3sOjXLRAhZuCzZGeO8WVCj-xvR8gZWWvRHOcuw-5RHeB7xBFnLs7ZV023k4koR1A==
+INFLUXHOST=c7-grafana.candelatech.com
+
+GRAFANATOKEN=eyJrIjoiS1NGRU8xcTVBQW9lUmlTM2dNRFpqNjFqV05MZkM0dzciLCJuIjoibWF0dGhldyIsImlkIjoxfQ==
+
+rm -r ${LOCALDIR}
+
+mkdir ${LOCALDIR}
+
+./scenario.py --mgr ${MGR} --load BLANK
+
+sleep 10s
+
+./create_l3.py --mgr ${MGR} --num_stations 4 --ssid stidmatt --password stidmatt --security wpa2 --radio wiphy0
+
+./lf_dataplane_test.py --mgr ${MGR} --lf_user ${LFUSER} --lf_password lanforge --instance_name wct_instance \
+--config_name 64_stations --upstream 1.1.eth1 --influx_host c7-grafana.candelatech.com --influx_org Candela \
+--influx_token ${INFLUXTOKEN} --influx_bucket stidmatt --test_rig {TESTRIG} --influx_tag testbed ${TESTRIG} \
+--station 1.1.sta0000 --set DUT_NAME linksys-8450 --local_lf_report_dir ${LOCALDIR} \
+--pull_report \
+--download_speed 85% --upload_speed 0 \
+--raw_line 'cust_pkt_sz: 88 1200' \
+--raw_line 'directions: DUT Transmit;DUT Receive' \
+--raw_line 'traffic_types: UDP' \
+--test_rig Testbed-01 --pull_report
+#--raw_line 'pkts: Custom;60;142;256;512;1024;MTU'
+
+./lf_wifi_capacity_test.py --mgr ${MGR} --lf_user ${LFUSER} --lf_password lanforge --instance_name linksys-8450 \
+--config_name wifi_config --upstream 1.1.eth1 --radio wiphy0 --ssid lanforge --paswd lanforge --security wpa2 \
+--influx_host ${INFLUXHOST} --influx_org Candela --influx_bucket stidmatt --test_rig ${TESTRIG} \
+--influx_token ${INFLUXTOKEN} --influx_tag testbed ${TESTRIG} --set DUT_NAME linksys-8450 --local_lf_report_dir \
+${LOCALDIR} --enable FALSE --pull_report
+
+./ghost_profile.py --ghost_token ${GHOSTTOKEN} --ghost_host 192.168.100.153 --authors Matthew --customer candela \
+--user_push lanforge --password_push lanforge --kpi_to_ghost --grafana_token ${GRAFANATOKEN} \
+--grafana_host 192.168.100.201 --grafana_bucket lanforge_qa_testing --influx_host ${INFLUXHOST} --influx_org Candela \
+--influx_token ${INFLUXTOKEN} --influx_bucket stidmatt --parent_folder ${LOCALDIR}
\ No newline at end of file