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 toe266163bea("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 (see99912e34). 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 <petr.stetiar@prplfoundation.org>
204 lines
8.0 KiB
YAML
204 lines
8.0 KiB
YAML
.mxl25641-cdrouter: &mxl25641_cdrouter
|
|
needs: ["build test mxl_x86_osp_tb341_v2 mxl_wlan_hostap_ng_wav700 prpl cellular security thread"]
|
|
extends:
|
|
- .mxl25641-hdk-6 testbed
|
|
- .cdrouter
|
|
|
|
CDRouter-Top-100+mDNS-OSP MXL25641-HDK-6 eMMC:
|
|
<<: *mxl25641_cdrouter
|
|
variables:
|
|
DUT_INIT_SCRIPTS: |
|
|
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
|
.gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh
|
|
|
|
CDRouter-Top-100+mDNS-OSP MXL25641-HDK-6 VLAN WAN/LAN eMMC:
|
|
<<: *mxl25641_cdrouter
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: vlan
|
|
DUT_INIT_SCRIPTS: |
|
|
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
|
.gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-enable-vlans.sh
|
|
|
|
CDRouter-Top-100+mDNS-OSP MXL25641-HDK-6 PPPoE WAN eMMC:
|
|
<<: *mxl25641_cdrouter
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: ppp
|
|
DUT_INIT_SCRIPTS: |
|
|
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
|
.gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-enable-pppoe.sh
|
|
|
|
CDRouter-Wireless MXL25641-HDK-6 eMMC:
|
|
<<: *mxl25641_cdrouter
|
|
stage: smoke tests
|
|
timeout: 15 minutes
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: wireless
|
|
CDROUTER_CONFIG_USP_CONTROLLER_MTP: websocket
|
|
CDROUTER_DUT_INIT_USP_MTP_SCRIPT: .gitlab/scripts/dut-init/cdrouter-dut-configure-usp-ws.sh
|
|
CDROUTER_CONFIG_WIFI_BEACON_PHY: 'ax b be g n'
|
|
CDROUTER_CONFIG_WIFI_BEACON_RSN_CIPHER: 'CCMP-128 GCMP-256'
|
|
DUT_INIT_SCRIPTS: |
|
|
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-wireless.sh
|
|
.gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh
|
|
|
|
|
|
.mxl25641-cdrouter-ipv6: &mxl25641_cdrouter_ipv6
|
|
<<: *mxl25641_cdrouter
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH'
|
|
- when: manual
|
|
|
|
CDRouter-UPnP-IPv46 MXL25641-HDK-6 eMMC:
|
|
<<: *mxl25641_cdrouter_ipv6
|
|
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
|
|
|
|
CDRouter-UPnP-IPv46-Failing MXL25641-HDK-6 eMMC:
|
|
<<: *mxl25641_cdrouter_ipv6
|
|
timeout: 120 minutes
|
|
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
|
|
|
|
CDRouter-IPv6-Top-100+mDNS MXL25641-HDK-6 eMMC:
|
|
<<: *mxl25641_cdrouter_ipv6
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: generic-ipv6
|
|
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
|
|
|
|
prpl-Certification MXL25641-HDK-6 eMMC:
|
|
<<: *mxl25641_cdrouter_ipv6
|
|
timeout: 120 minutes
|
|
allow_failure: true
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- when: manual
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: generic-ipv6
|
|
DUT_INIT_SCRIPTS: |
|
|
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-cwmpd.sh
|
|
.gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh
|
|
|
|
CDRouter-IPv6-Top-100+mDNS MXL25641-HDK-6 VLAN WAN/LAN eMMC:
|
|
<<: *mxl25641_cdrouter_ipv6
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: vlan-ipv6
|
|
CDROUTER_CONFIG_USP_CONTROLLER_MTP: stomp
|
|
CDROUTER_DUT_INIT_USP_MTP_SCRIPT: ''
|
|
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
|
|
.gitlab/scripts/dut-init/cdrouter-dut-enable-vlans.sh
|
|
|
|
.CDRouter-IPv6-Top-100+mDNS MXL25641-HDK-6 PPPoE WAN eMMC:
|
|
<<: *mxl25641_cdrouter_ipv6
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: ppp-ipv6
|
|
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
|
|
.gitlab/scripts/dut-init/cdrouter-dut-enable-pppoe.sh
|
|
|
|
CDRouter-TR-069 MXL25641-HDK-6 eMMC:
|
|
<<: *mxl25641_cdrouter
|
|
variables:
|
|
DUT_INIT_SCRIPTS: |
|
|
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
|
.gitlab/scripts/dut-init/cdrouter-tr181-mockups.sh
|
|
.gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh
|
|
|
|
CDRouter-USP-prpl MXL25641-HDK-6 eMMC:
|
|
<<: *mxl25641_cdrouter
|
|
allow_failure: true
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- when: manual
|
|
variables:
|
|
DUT_INIT_SCRIPTS: |
|
|
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
|
.gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh
|
|
|
|
prplWare-Smoke-Test-Suite MXL25641-HDK-6 eMMC:
|
|
<<: *mxl25641_cdrouter_ipv6
|
|
timeout: 45 minutes
|
|
stage: smoke tests
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: smoke-test
|
|
DUT_INIT_SCRIPTS: |
|
|
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
|
.gitlab/scripts/dut-init/cdrouter-tr181-mockups.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-dyndns.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-prplmesh-controller.sh
|
|
.gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh
|
|
|
|
.mxl25641-certification-variables: &mxl25641_certification_variables
|
|
CDROUTER_TEST_CONFIG: prplos-certification
|
|
DUT_INIT_SCRIPTS: |
|
|
.gitlab/scripts/dut-init/cdrouter-dut-flush-dns-relay-cache.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-cwmpd.sh
|
|
.gitlab/scripts/dut-init/cdrouter-dut-configure-prplos-certification.sh
|
|
.gitlab/scripts/dut-init/dut-change-fail-action-to-restart.sh
|
|
|
|
.mxl25641-certification: &mxl25641_certification
|
|
<<: *mxl25641_cdrouter_ipv6
|
|
timeout: 1h 45m
|
|
stage: certification tests
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- when: manual
|
|
variables:
|
|
<<: *mxl25641_certification_variables
|
|
|
|
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
|
|
timeout: 52 minutes
|
|
variables:
|
|
<<: *mxl25641_certification_variables
|
|
CDROUTER_CONFIG_USP_CONTROLLER_MTP: websocket
|
|
CDROUTER_DUT_INIT_USP_MTP_SCRIPT: .gitlab/scripts/dut-init/cdrouter-dut-configure-usp-ws.sh
|