PROVISORY: ci: cdrouter: OSPv2: switch USP MTP from MQTTv5 to WebSocket

On the MXL25641-HDK-6 Mandatory Network Test Plan the prplos.1.2.9 test
disables Device.DHCPv4.Server. and forces the DUT to renew its WAN IPv4
lease. After the renewal obuspa's MQTTv5 TCP socket to the CDRouter
broker goes silently half-dead: the socket stays ESTABLISHED, but obuspa
sends no PINGREQ (despite KeepAliveTime=60), does not arm SO_KEEPALIVE
and does not reconnect, so every subsequent USP GET/SET times out. The
regression is 66 tests (prplos.1.2.9-1.6.23) and was confirmed on a
live bench; a manual Device.MQTT.Client.1.Enable false/true recovers
the suite instantly.

So lets workaround it by switching this one job to WebSocket MTP,
mirroring what the Candidate sibling job already does. Other platforms
are not affected and are intentionally left untouched.

Revert this block once the system-level fix for the half-dead socket
lands.

References: PPW-1837
Assisted-by: claude:opus-4-7:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
This commit is contained in:
Petr Štetiar 2026-04-17 18:59:45 +02:00 committed by Hela Saadani
parent d7119330e0
commit 99912e34ae

View File

@ -172,6 +172,15 @@ prplWare-Smoke-Test-Suite MXL25641-HDK-6 eMMC:
prplOS-Network-Test-Plan-Mandatory-v1.2.0 MXL25641-HDK-6 eMMC:
<<: *mxl25641_certification
variables:
<<: *mxl25641_certification_variables
# PROVISORY workaround for PPW-1837: obuspa's MQTTv5 client does not detect
# a half-dead TCP socket after the WAN DHCP renewal in prplos.1.2.9, which
# then cascades into 65 follow-up USP GET/SET timeouts. Switch this job to
# WebSocket MTP (same as the Candidate sibling job below) 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
prplOS-Network-Test-Plan-Candidate-v1.2.0 MXL25641-HDK-6 eMMC:
<<: *mxl25641_certification