Currently all CDRouter USP protocol tests in prplOS use STOMP MTP (100%). This no longer matches the FEAT-63 delivery plan and industry adoption. MQTTv5 should become the default MTP for the majority of CDRouter test runs, while keeping WebSocket and STOMP coverage in some jobs as smaller regression slices. So lets switch the shared template to MQTTv5 by default, parameterising the shipped CDRouter configs instead of cloning them, and adding guarded DUT init helpers that stop obuspa, install the requested reset file, clear /etc/obuspa.db, start obuspa again, and wait for the USP data model to come back. Use the existing job matrix to keep protocol coverage aligned with the agreed distribution: - Wireless smoke tests use WebSocket - prplOS Network Test Plan Candidate jobs use WebSocket - IPv6 Top-100+mDNS VLAN jobs use STOMP - all remaining jobs use MQTTv5 - MQTTv3 stays out of scope References: PCF-1323, PCF-2322 Assisted-by: codex:gpt-5.4:xhigh Assisted-by: claude:opus-4-6:1m-context Co-developed-by: Sergio Panseri <sergio.panseri@consult.red> Co-developed-by: Piotr Nakraszewicz <piotr.nakraszewicz@consult.red> Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
188 lines
6.7 KiB
YAML
188 lines
6.7 KiB
YAML
.turris-cdrouter: &turris_cdrouter
|
|
allow_failure: true
|
|
needs: ["build test mvebu prpl security"]
|
|
extends:
|
|
- .turris-omnia testbed
|
|
- .cdrouter
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- when: manual
|
|
|
|
CDRouter-Top-100+mDNS Turris initramfs:
|
|
<<: *turris_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 Turris VLAN WAN/LAN initramfs:
|
|
<<: *turris_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 Turris PPPoE WAN initramfs:
|
|
<<: *turris_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 Turris initramfs:
|
|
<<: *turris_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
|
|
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
|
|
|
|
|
|
.turris-cdrouter-ipv6: &turris_cdrouter_ipv6
|
|
<<: *turris_cdrouter
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- when: manual
|
|
|
|
CDRouter-UPnP-IPv46 Turris initramfs:
|
|
<<: *turris_cdrouter_ipv6
|
|
timeout: 60 minutes
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: generic-ipv6-upnp
|
|
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-UPnP-IPv46-Failing Turris initramfs:
|
|
<<: *turris_cdrouter_ipv6
|
|
timeout: 120 minutes
|
|
allow_failure: true
|
|
variables:
|
|
CDROUTER_TEST_CONFIG: generic-ipv6-upnp
|
|
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 Turris initramfs:
|
|
<<: *turris_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 Turris initramfs:
|
|
<<: *turris_cdrouter_ipv6
|
|
timeout: 120 minutes
|
|
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 Turris VLAN WAN/LAN initramfs:
|
|
<<: *turris_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 Turris PPPoE WAN initramfs:
|
|
<<: *turris_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 Turris eMMC:
|
|
<<: *turris_cdrouter
|
|
variables:
|
|
LABGRID_TARGET: turris-omnia-emmc
|
|
TFTP_IMAGE_FILENAME: prplos-mvebu-cortexa9-cznic_turris-omnia-sysupgrade.img.gz
|
|
TFTP_IMAGE_FILENAME_PATTERN: /.*prplos-mvebu-cortexa9-cznic_turris-omnia-sysupgrade.img.gz/
|
|
TFTP_IMAGE_UNPACK_COMMAND: "gunzip --force $TESTBED_TFTP_PATH/$TFTP_IMAGE_FILENAME || true"
|
|
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 Turris initramfs:
|
|
<<: *turris_cdrouter
|
|
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 Turris initramfs:
|
|
<<: *turris_cdrouter_ipv6
|
|
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
|
|
|
|
.turris-certification-variables: &turris_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
|
|
|
|
.turris-certification: &turris_certification
|
|
<<: *turris_cdrouter_ipv6
|
|
stage: certification tests
|
|
timeout: 1h 45m
|
|
allow_failure: true
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "schedule"'
|
|
when: never
|
|
- when: manual
|
|
variables:
|
|
<<: *turris_certification_variables
|
|
|
|
prplOS-Network-Test-Plan-Mandatory-v1.2.0 Turris initramfs:
|
|
<<: *turris_certification
|
|
|
|
prplOS-Network-Test-Plan-Candidate-v1.2.0 Turris initramfs:
|
|
<<: *turris_certification
|
|
timeout: 52 minutes
|
|
variables:
|
|
<<: *turris_certification_variables
|
|
CDROUTER_CONFIG_USP_CONTROLLER_MTP: websocket
|
|
CDROUTER_DUT_INIT_USP_MTP_SCRIPT: .gitlab/scripts/dut-init/cdrouter-dut-configure-usp-ws.sh
|