Skip to content

lf_interop_zoom.py: prevent test hangs and implement coordinate-skipping in robo/band-steering test - #83

Open
GSMPraneeth-candela wants to merge 2 commits into
masterfrom
zoom_robo_fix
Open

lf_interop_zoom.py: prevent test hangs and implement coordinate-skipping in robo/band-steering test#83
GSMPraneeth-candela wants to merge 2 commits into
masterfrom
zoom_robo_fix

Conversation

@GSMPraneeth-candela

Copy link
Copy Markdown
Collaborator

What this fixes:

Test used to hang forever if a device (endpoint) got stuck or unreachable — now each endpoint has a timeout, and the test gives up on it and moves on instead of blocking indefinitely.

Waiting for the host device to come up and waiting for the test to start could also hang forever — both now time out (5 min and 3 min) and return a clear pass/fail instead of freezing or hard-exiting the script.

Stale data from previous coordinates was leaking into new ones — leftover connection/endpoint info from an earlier location wasn't being cleared, which caused repeated "Couldn't find endpoint" / "Invalid argument" errors during cleanup. Now each coordinate starts fresh.

One bad coordinate used to kill the whole test run (sys.exit()), both in the robo test and the band-steering test. Now it just skips that coordinate and continues — unless the very first coordinate fails, which usually means the device itself is broken, so the test aborts early in that case.

Cleaned up logging — replaced scattered print() statements with proper logger.info/debug/error calls that include which function/step they came from, and added coordinate counts to the log output for easier debugging.

Testing: Verified manually against a live LANforge setup with real sign-in credentials, audio/video participants, and API stats collection enabled

VERIFIED CLI:
python3 lf_interop_zoom.py --duration 1 --lanforge_ip "192.168.245.117" --signin_email "candelatech2@gmail.com" --signin_passwd 'WayAround$999' --participants 1 --audio --video --upstream_port 192.168.245.233 --api_stats_collection --resources 1.113,1.22

- check_gen_cx(): track how long each generic endpoint has been stuck
  (non-idle or unreachable/deleted) and give up waiting on it after
  stall_timeout seconds instead of blocking forever.

- wait_for_host_ready() / wait_for_test_start(): add 5-minute and
  3-minute timeouts respectively; both now return True/False instead
  of hanging indefinitely or calling sys.exit() directly

- run() / run_robo_test(): propagate those failures — skip the current
  coordinate and continue with the next one, or abort the whole robo
  test if the very first coordinate's host never comes up (signals a
  host device problem rather than a location issue).

- create_host(): reset created_cx/created_endp per coordinate so
  start_cx()/stop_cx()/cleanup() only act on the current round's CXs
  instead of re-processing every stale entry from prior coordinates
  (root cause of repeated "Couldn't find endpoint"/"Invalid argument"
  errors during cleanup).

- Replace print() calls with logger.info/debug/error throughout,
  adding function/route context to each message.

VERIFIED CLI: python3 lf_interop_zoom.py --duration 1  --lanforge_ip "192.168.245.117"
		--signin_email "candelatech2@gmail.com" --signin_passwd 'WayAround$999'
		--participants 1 --audio --video --upstream_port 192.168.245.233
		--api_stats_collection --resources 1.113,1.22

Signed-off-by: GSMPraneeth-candela <praneeth.gude@candelatech.com>
…chable coordinates

- Stop band-steering test from sys.exit()'ing when a coordinate can't
  be reached; skip it and continue to the next one instead, matching
  run_robo_test's existing behavior

- Remove a duplicate append into failed_coords on the aborted path

- Log the coordinate count alongside the coordinates-to-visit list for
  both band-steering and robo tests

- Increase wait_for_host_ready timeout to 600s and include the host
  endpoint name in its log messages

VERIFIED CLI: python3 lf_interop_zoom.py --duration 1  --lanforge_ip "192.168.245.117"
		--signin_email "candelatech2@gmail.com" --signin_passwd 'WayAround$999'
		--participants 1 --audio --video --upstream_port 192.168.245.233
		--api_stats_collection --resources 1.113,1.22

Signed-off-by: GSMPraneeth-candela <praneeth.gude@candelatech.com>
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.

1 participant