From dd6f757ff61084941bc90c38c94bec9b39bee9a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Tue, 5 May 2026 08:31:37 +0200 Subject: [PATCH] PROVISORY: ci: cdrouter: OSPv2: switch CDRouter-UPnP-IPv46 USP MTP from MQTTv5 to WebSocket MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On the MXL25641-HDK-6 CDRouter-UPnP-IPv46 (generic-ipv6-upnp) package the job is killed by the 52-min CDRouter cutoff at ~test 61/81 (ipv6_upnp_210), even though Mozart and Freedom complete the same 81-test package on the same pipeline / same MR in ~45 min. The killed test was healthy and would have passed in another ~42 s; only OSPv2 is affected. Per-test execution times on OSPv2 are essentially identical to the last known-good run on this job (72f7f516..bd9b1d94 bisect window) - the regression is not in the tests themselves. CDRouter logs show that on OSPv2, between every IGD2 and IPv6 test, CDRouter prints NOTICE: The EUT is not connected to the test controller NOTICE: The EUT did not reconnect within 30 seconds before starting the next test. ~38 such 30-second waits accumulate ~18.5 min of dead time on top of the otherwise normal ~33-min runtime, exactly closing the gap to the 52-min cutoff. The regression bisects to e266163bea ("ci: cdrouter: switch USP testing from STOMP to MQTTv5 as primary MTP", MR #2579) - the same change that exposed the half-dead MQTTv5 socket bug tracked in PPW-1837. The CDRouter test controller reaches the EUT via the configured USP MTP between tests; with MQTTv5 the socket goes silently half-dead and the reachability probe times out at 30 s before CDRouter gives up and proceeds. So lets workaround it by switching this one job (and its -Failing sibling which runs the same package) to WebSocket MTP, mirroring what the certification jobs already do (see 99912e34). Mozart and Freedom run the same package without any inter-test waits and are intentionally left untouched. Revert this block once the system-level fix for the half-dead MQTTv5 socket (PPW-1837) lands. References: PPW-1897, PPW-1837, PCF-2565 Assisted-by: claude:opus-4-7:1m-context Signed-off-by: Petr Štetiar --- .gitlab/cdrouter/mxl25641-hdk-6.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitlab/cdrouter/mxl25641-hdk-6.yml b/.gitlab/cdrouter/mxl25641-hdk-6.yml index 67b4e72719..f8dd2fe5c7 100644 --- a/.gitlab/cdrouter/mxl25641-hdk-6.yml +++ b/.gitlab/cdrouter/mxl25641-hdk-6.yml @@ -61,6 +61,14 @@ CDRouter-UPnP-IPv46 MXL25641-HDK-6 eMMC: timeout: 60 minutes variables: CDROUTER_TEST_CONFIG: generic-ipv6-upnp + # PROVISORY workaround for PPW-1897: after switching CDRouter USP testing + # to MQTTv5 (MR #2579), this job spends ~30s between every IGD2/IPv6 test + # waiting for the EUT to reconnect to the test controller, accumulating + # ~18.5 min of dead time and tripping the 52-min CDRouter cutoff. Same + # underlying half-dead MQTTv5 socket as PPW-1837. Switch this job to + # WebSocket MTP until the system-level fix lands; revert this block then. + CDROUTER_CONFIG_USP_CONTROLLER_MTP: websocket + CDROUTER_DUT_INIT_USP_MTP_SCRIPT: .gitlab/scripts/dut-init/cdrouter-dut-configure-usp-ws.sh DUT_INIT_SCRIPTS: | .gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh @@ -70,6 +78,10 @@ CDRouter-UPnP-IPv46-Failing MXL25641-HDK-6 eMMC: allow_failure: true variables: CDROUTER_TEST_CONFIG: generic-ipv6-upnp + # PROVISORY workaround for PPW-1897: see CDRouter-UPnP-IPv46 sibling job + # above. Switch USP MTP from MQTTv5 to WebSocket; revert with the sibling. + CDROUTER_CONFIG_USP_CONTROLLER_MTP: websocket + CDROUTER_DUT_INIT_USP_MTP_SCRIPT: .gitlab/scripts/dut-init/cdrouter-dut-configure-usp-ws.sh DUT_INIT_SCRIPTS: | .gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh .gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh