utils: net: harden ensure_network_online with bounded retries + nmcli→wpa_supplicant fallback #204
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Flaky first-attempt network bring-ups (esp. Wi-Fi) caused intermittent failures in tests that fetch media or artifacts. This PR strengthens ensure_network_online in utils/functestlib.sh with bounded retries, better Ethernet/Wi-Fi sequencing, and an automatic fallback from nmcli to wpa_supplicant when needed—while preserving existing tri-state return semantics.
What changed
Ethernet first:
Wi-Fi with bounded retries:
udhcpc repair path (if ensure_udhcpc_script is available): refresh leases/routes/DNS, then re-check.
Return codes preserved: 0 online, 2 IP but no internet, 1 offline.
No new globals; logs are structured ([NET] …) and CI-friendly.
Deprecates the need for a separate wifi_connect_with_retry helper (can remain as a thin shim for legacy callers).