Skip to content

Enhanced the logging for the interop webpage script - #321

Merged
goyalsaurabh06 merged 7 commits into
greearb:masterfrom
goyalsaurabh06:webpage_update
Aug 3, 2026
Merged

Enhanced the logging for the interop webpage script#321
goyalsaurabh06 merged 7 commits into
greearb:masterfrom
goyalsaurabh06:webpage_update

Conversation

@haricharan-candela

@haricharan-candela haricharan-candela commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Enhanced the logging for the interop webpage script

  • Handles CXs for all the real clients webGUI scenarios
  • Follows the same structure as Qos script

Test logs(Failed scenario):

{'5G': {'dl_time': None, 'min': None, 'max': None, 'avg': None, 'bytes_rd': None, 'speed': None, 'url_times': None}}
2026-07-28 00:17:16,859 root INFO: Upstream port IP 192.168.9.15
2026-07-28 00:17:17,052 py-scripts.DeviceConfig WARNING: 1.1.00008030-001E592C1180A02E is in phantom state. Please make sure debugging is enabled in developer settings.
2026-07-28 00:17:17,052 py-scripts.DeviceConfig WARNING: 1.1.00008110-001155242680A01E is in phantom state. Please make sure debugging is enabled in developer settings.
2026-07-28 00:17:17,052 py-scripts.DeviceConfig WARNING: 1.1.51201XEKB4D7DE is in phantom state. Please make sure debugging is enabled in developer settings.
2026-07-28 00:17:17,052 py-scripts.DeviceConfig WARNING: 1.1.la is in phantom state. Please make sure debugging is enabled in developer settings.
2026-07-28 00:17:17,329 py-scripts.DeviceConfig INFO: The laptop on port 1.11 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.12 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.13 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.14 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.15 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.16 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.17 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.18 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.19 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.20 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.21 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.23 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.31 is in phantom state.
2026-07-28 00:17:17,330 py-scripts.DeviceConfig INFO: The laptop on port 1.40 is in phantom state.
2026-07-28 00:17:17,704 py-scripts.DeviceConfig INFO: The laptop on port 1.95 is in phantom state.
2026-07-28 00:17:17,705 py-scripts.DeviceConfig INFO: The laptop on port 1.100 is in phantom state.
2026-07-28 00:17:17,705 py-scripts.DeviceConfig INFO: The laptop on port 1.110 is in phantom state.
2026-07-28 00:17:17,705 py-scripts.DeviceConfig INFO: The laptop on port 1.360 is in phantom state.
2026-07-28 00:17:17,705 py-scripts.DeviceConfig INFO: The laptop on port 1.400 is in phantom state.
2026-07-28 00:17:18,268 __main__ INFO: 1.10 1.10 android sms
2026-07-28 00:17:18,268 __main__ INFO: 1.50 1.50 Mac macoss-MacBook-Air.local
2026-07-28 00:17:18,268 __main__ INFO: 1.56 1.56 Lin ubuntu24
2026-07-28 00:17:18,268 __main__ INFO: Test is initiated on devices: ['1.50', '1.56', '1.10']
2026-07-28 00:17:18,268 __main__ INFO: devices list 1.50,1.56,1.10 ['1.50', '1.56', '1.10']
2026-07-28 00:17:18,268 __main__ INFO: resource eid list ['1.50.', '1.56.', '1.10.'] ['1.10.wlan0', '1.50.en0', '1.56.sta0000']
2026-07-28 00:17:18,268 __main__ INFO: INPUT DEVICES LIST ['1.50.en0', '1.56.sta0000', '1.10.wlan0']
2026-07-28 00:17:18,268 __main__ INFO: REAL CLIENT LIST: ['1.50 Mac macoss-MacBook-Air.local', '1.56 Lin ubuntu24', '1.10 android sms']
2026-07-28 00:17:18,268 __main__ INFO: MAC ID LIST: ['30:35:ad:c5:e1:be', '5c:5f:67:75:9f:86', '86:29:83:2a:fd:aa']
2026-07-28 00:17:18,451 paramiko.transport INFO: Connected (version 2.0, client OpenSSH_9.3)
2026-07-28 00:17:19,008 paramiko.transport INFO: Authentication (password) successful!
File creation done 5MB
2026-07-28 00:17:31,391 py-json.http_profile INFO: Cleaning up cxs and endpoints
2026-07-28 00:17:31,391 py-json.station_profile INFO: Cleaning up stations
2026-07-28 00:17:34,944 py-json.LANforge.LFUtils INFO: LFUtils: Waiting until 3 ports disappear...
2026-07-28 00:17:35,172 py-json.LANforge.LFUtils INFO: LFUtils::wait_until_ports_disappear:: Request returned None: [http://192.168.207.75:8080/port/1/1/http_sta0000,http_sta0001,http_sta0002?fields=alias]
2026-07-28 00:17:35,172 py-json.LANforge.LFUtils INFO: LFUtils: Waiting until 3 ports disappear...
2026-07-28 00:17:35,306 py-json.LANforge.LFUtils INFO: LFUtils::wait_until_ports_disappear:: Request returned None: [http://192.168.207.75:8080/port/1/1/http_sta0000,http_sta0001,http_sta0002?fields=alias]
precleanup done
2026-07-28 00:17:36,606 __main__ INFO: Upstream IP: 192.168.9.15
2026-07-28 00:17:37,015 py-json.http_profile INFO: Create HTTP CXs...py-json.http_profile
2026-07-28 00:17:37,236 py-json.http_profile INFO: HTTP url:dl http://192.168.9.15/webpage.html /dev/null
2026-07-28 00:17:38,085 py-json.http_profile INFO: HTTP url:dl http://192.168.9.15/webpage.html /dev/null
2026-07-28 00:17:39,020 py-json.http_profile INFO: HTTP url:dl http://192.168.9.15/webpage.html /dev/null
2026-07-28 00:17:41,893 __main__ INFO: Created 3 CX(s)
Test Build done
2026-07-28 00:17:42,460 __main__ INFO: cross connections found for all devices
2026-07-28 00:17:42,460 __main__ INFO: Test started on the devices : ['1.50.en0', '1.56.sta0000', '1.10.wlan0']
Test started at 2026 28 00:17:42
2026-07-28 00:17:42,461 py-json.http_profile INFO: Starting CXs...
2026-07-28 00:18:28,173 __main__ WARNING: CX 'sta0000_http56_l4' status changed: Run -> WAITING
2026-07-28 00:19:45,644 __main__ WARNING: CX 'sta0000_http56_l4' is missing from the monitoring data, the device may have disconnected or its connection was not created. Continuing the test with the remaining devices.
URL : layer4/en0_http50_l4,sta0000_http56_l4,wlan0_http10_l4/list?fields=uc-avg,uc-max,uc-min,total-urls,rx rate (1m),bytes-rd,total-err,status
Response keys: ['en0_http50_l4']
2026-07-28 00:19:45,644 __main__ WARNING: CX 'wlan0_http10_l4' is missing from the monitoring data, the device may have disconnected or its connection was not created. Continuing the test with the remaining devices.
URL : layer4/en0_http50_l4,sta0000_http56_l4,wlan0_http10_l4/list?fields=uc-avg,uc-max,uc-min,total-urls,rx rate (1m),bytes-rd,total-err,status
Response keys: ['en0_http50_l4']
Test is stopped by the user
2026-07-28 00:21:17,482 py-json.http_profile INFO: Stopping CXs...
2026-07-28 00:21:17,854 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/set_cx_state
X-Error-00: unable to execute set_cx_state rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/set_cx_state
= = = = = = = = = = = = = = = =
2026-07-28 00:21:18,066 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/set_cx_state
X-Error-00: unable to execute set_cx_state rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/set_cx_state
= = = = = = = = = = = = = = = =
2026-07-28 00:21:18,068 __main__ INFO: [0.0, 0.0, 1792.555] [0, 0, 92189376] [0, 0, 6932398.0588]
result {'5G': {'dl_time': [0.0, 0.0, 1792.555], 'min': [0.0], 'max': [1792.555], 'avg': [597.5183333333333], 'bytes_rd': [0, 0, 92189376], 'speed': [0, 0, 6932398.0588], 'url_times': [0, 0, 18]}}
Test Finished
Test ended at 2026 28 00:21:18
total test duration 0:03:36
2026-07-28 00:21:18,071 py-scripts.lf_report INFO: path set: /home/hari/scripts/interop-webGUI/results/utrrfgbn
2026-07-28 00:21:18,071 py-scripts.lf_report INFO: path_date_time /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test
2026-07-28 00:21:18,072 py-scripts.lf_report INFO: report path : /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test
[0, 0, 18]
['1.50 Mac macoss-MacBook-Air.local', '1.56 Lin ubuntu24', '1.10 android sms']
Client names Download
0 1.50 Mac macoss-MacBook-Air.local 0
1 1.56 Lin ubuntu24 0
2 1.10 android sms 18
graph name Total-url_http.png
2026-07-28 00:21:18,265 py-scripts.lf_report INFO: csv_src_file: Total-url_http.csv
2026-07-28 00:21:18,266 py-scripts.lf_report INFO: csv_dst_file: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Total-url_http.csv
2026-07-28 00:21:18,266 py-scripts.lf_report INFO: graph_src_file: Total-url_http.png
2026-07-28 00:21:18,266 py-scripts.lf_report INFO: graph_dst_file: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Total-url_http.png
2026-07-28 00:21:18,266 __main__ INFO: [0.0, 0.0, 1792.555] ['1.50 Mac macoss-MacBook-Air.local', '1.56 Lin ubuntu24', '1.10 android sms']
Client names Download
0 1.50 Mac macoss-MacBook-Air.local 0.000
1 1.56 Lin ubuntu24 0.000
2 1.10 android sms 1792.555
graph name ucg-avg_http.png
2026-07-28 00:21:18,356 py-scripts.lf_report INFO: csv_src_file: ucg-avg_http.csv
2026-07-28 00:21:18,356 py-scripts.lf_report INFO: csv_dst_file: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/ucg-avg_http.csv
2026-07-28 00:21:18,356 py-scripts.lf_report INFO: graph_src_file: ucg-avg_http.png
2026-07-28 00:21:18,356 py-scripts.lf_report INFO: graph_dst_file: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/ucg-avg_http.png
kpi_path :/home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test
self.kpi_path /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test
self.kpi_filename kpi.csv
kpifile /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/kpi.csv
2026-07-28 00:21:18,632 py-scripts.lf_report INFO: output file /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/_2026-07-28-00-21-18-test_l3_longevity.csv
csv output file : /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/_2026-07-28-00-21-18-test_l3_longevity.csv
2026-07-28 00:21:18,643 py-scripts.lf_report INFO: write_output_html: /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Webpage.html
returned file /home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Webpage.html
/home/hari/scripts/interop-webGUI/results/utrrfgbn/2026-07-28-00-21-18_webpage_test/Webpage.html
2026-07-28 00:21:19,331 __main__ INFO: Monitoring Duration: 3m 31s
2026-07-28 00:21:19,331 py-json.http_profile INFO: Cleaning up cxs and endpoints
2026-07-28 00:21:20,132 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/rm_cx
X-Error-00: unable to execute rm_cx rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/rm_cx
= = = = = = = = = = = = = = = =
2026-07-28 00:21:20,319 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/rm_endp
X-Error-00: unable to execute rm_endp rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/rm_endp
= = = = = = = = = = = = = = = =
2026-07-28 00:21:20,508 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/rm_cx
X-Error-00: unable to execute rm_cx rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/rm_cx
= = = = = = = = = = = = = = = =
2026-07-28 00:21:20,696 py-json.LANforge.LFRequest ERROR:
= = LANforge Error Messages = =
= = URL: http://192.168.207.75:8080/cli-json/rm_endp
X-Error-00: unable to execute rm_endp rv: 22 (22 Invalid argument)
X-Error-01: URL: /cli-json/rm_endp
= = = = = = = = = = = = = = = =
2026-07-28 00:21:20,697 py-json.station_profile INFO: Cleaning up stations
2026-07-28 00:21:20,697 py-json.station_profile INFO: INFO: StationProfile cleanup, list is empty

VERIFIED CLI: python3 lf_webpage.py --mgr 192.168.207.75 --upstream_port eth1 --duration 10m --bands 5G --client_type Real --file_size 2MB

Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
VERIFIED CLI: python3 lf_webpage.py --mgr 192.168.207.78 --upstream_port eth1 --duration 1m --bands 5G --client_type Real --file_size 2MB

Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
VERIFIED CLI: python3 lf_webpage.py --mgr 192.168.207.78 --upstream_port eth1 --duration 1m --bands 5G --client_type Real --file_size 2MB

Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
…ive docs strings

VERIFIED CLI: python3 lf_interop_utils.py --mgr 192.168.200.165 --get_l4_fields

Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
@goyalsaurabh06

Copy link
Copy Markdown
Collaborator

@haricharan-candela can you please add the verified CLI at the last commit.

VERIFIED CLI: python3 lf_webpage.py --mgr 192.168.207.75 --upstream_port eth1 --duration 10m --bands 5G --client_type Real --file_size 2MB

Signed-off-by: haricharan-candela <haricharan.jaka@candelatech.com>
@goyalsaurabh06
goyalsaurabh06 merged commit 56ac42f into greearb:master Aug 3, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants