Currently the LCM tests are failing on Turris Omnia device as we're
using Cortex-A53 (64-bit) container on Cortex-A9 (32-bit) device. So
lets fix it by adding support for Turris Omnia device into
get_container_name(), while at it make it clear in the comment.
References: LCM-752
Reported-by: Nabil BIZID <nabil.bizid@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Replaced the `if-elif-else` structure with a `case` statement for
improved readability and extensibility. This change allows for easier
addition of new board names in the future.
References: LCM-752
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Makeing the code style consistent, later we will add a CI job to QA
this.
References: LCM-752
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
[prplOS: this is backport from upstream OpenWrt 24.10, adding missing
POSIX ACL fallback support for few other filesystems, making
unprivileged LCM containers working on more configurations out of the
box]
When CONFIG_USE_FS_ACL_ATTR is set we will also activate POSIX ACL
support for the f2fs, jffs2 and tmpfs file system. This option is
activated on all targets with big flash.
References: PPW-296
Link: https://github.com/openwrt/openwrt/pull/16181
References: https://gitlab.com/prpl-foundation/lcm/applications/cthulhu/-/merge_requests/14
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2a1dd184b7)
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Following commit 2b63159d4afa ("ci: cram: build config add
F2FS_FS_SECURITY option"), adapted tests only for Fast Track platform:
libamxp v2.1.1 added handling of subprocess capabilities via libcap-ng.
commit d0cca925 in feed_amx introduces select options for the required
options
So lets adapt tests for prplOS internal CI testing platforms with
expected build config options now.
References: PCF-1456, PCF-1411, PPW-74
Fixes: 2b63159d4afa ("ci: cram: build config add F2FS_FS_SECURITY option")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
The LCM USP plugin doesn't support the restart of the USP broker.
Support of USP broker restart will be handled in LCM-835.
Currently, if the USP broker is restarted, the LCM USP functionnality won't
be usable and the tests will fail.
To avoid such a problem, this commit adds an explicit restart of
cthulhu before starting the LCM USP tests to workaround the missing
support of broker restart.
References: LCM-835
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Adding a new set of generic cram tests for the different LCM
functionalities, including QA of the new Volume management feature. This
new tests are superseding the previous very basic tests, so those old
tests are being removed.
Closes: LCM-752
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [commit facelift]
Actually there's no endpoints enabled in OSPv2 (PPW-430).
Temporary disable the check of the related interfaces.
References: PPW-430
Signed-off-by: Houssem Dafdouf <houssem.dafdouf_ext@softathome.com>
This version bump brings following improvement requested via PCF-1666:
Get requests that contain paths spanning multiple USP Services (eg Device.) result in a get
request to each USP Service containing a list of all fully resolved parameters. It is more
efficient to perform a get of the top level DM element(s) registered by each USP Service.
Then apply max_depth and read permissions to the parameters returned, before combining into
a final Get Response to the original Get Request.
Additionally this bump to obuspa version 9.0.7 brings following changes
since version 9.0.3:
* obuspa version 9.0.7
Added:
* HardwareVersion can also be specified by an environment variable
(USP_BOARD_HW_VERSION)
Fixed:
* Crash that could occur once at startup if the controller trust
permissions table contained invalid data
* obuspa version 9.0.6
Added:
* Example vendor layer plug-in and documentation (in quick start guide)
* obuspa version 9.0.5
Fixed:
* Compilation failure when building for pure USP Service
* Subscription ID should be immutable
* OpenSSL should be initialized only once
* obuspa version 9.0.4
Added:
* USP Broker support for registration of parameters, events and USP
commands (USP 1.4)
* Bulk Data Collection over MQTT
Fixed:
* Event and OperationComplete subscriptions to 'Device.' on a USP
Broker now set subscriptions on each USP Service containing only
the DM elements that were registered (PCF-1666)
* USP Conformance test 11.11 failure: MQTT PUBLISH frames should not
be sent until SUBACK frame indicates successfully subscribed
Since the obuspa version 9.0.4 brought a new Bulk Data Collection over
MQTT feature, the obuspa.t cram test was updated with expected new
datamodel Device.BulkData.Profile.{i}.MQTT. addition.
Closes: PCF-1666
Signed-off-by: Steven Corby <steven.corby@vantiva.com>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [commit facelift, test update]
Some of the temperature sensor files are not accessible on the mxl boards. For now, we skip the part of the test where we need to access
References: PPW-423 - Therminal zones unavailable
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
The tr181-temperature component uses the ucode-mod-fs. This means the module is now no longer "no set" or a module.
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
* After enabling the temperature monitor and registering the datamodel with USP, the OBUSPA test shoud now expect the TemperatureStatus datamodel
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
After enabling the tr181-temperature monitor component, the TemperatureStatus object is not part of the expected datamodel.
Issue: PCF-1180 - Temperature monitoring
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
After enabling the tr181-temperature monitor component, a few new config options are now expected to be set.
Issue: PCF-1180 - Temperature monitoring
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
* Enable the TR-181 compatible plugin for device temperature management
Issue: PCF-1180 - Temperature monitoring
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
In commit 53464fdfdeeb ("ci: cdrouter: add prpl Certification test
suite") new CI jobs were added without consideration, that the scheduled
CI pipelines needs to be handled in the rules as well, thus breaking the
Coverity scan CI jobs.
So lets fix it by adding the CI job rules avoiding adding of the
CDRouter jobs in the scheduled CI pipeline, where the Coverity Scan jobs
are currently being executed.
Fixes: 53464fdfdeeb ("ci: cdrouter: add prpl Certification test suite")
References: https://gitlab.com/prpl-foundation/prplos/prplos/-/pipelines/1694478742
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
CDRouter offers a dedicated prpl Certification expansion for the prpl
Foundation’s prplWare and High-Level API Certification program.
As an officially approved testing tool, CDRouter is an authorized test
tool for use in conducting the prplWare and High-Level API self-testing
certification.
prplOS should be routinely tested using the CDRouter prpl Certification
expansion, so lets add the prpl Certification CI jobs for all devices
and new prpl Certification package.
Closes: PCF-1611
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
CDRouter offers a dedicated prpl Certification expansion for the prpl
Foundation’s prplWare and High-Level API Certification program.
As an officially approved testing tool, CDRouter is an authorized test
tool for use in conducting the prplWare and High-Level API self-testing
certification.
prplOS should be routinely tested using the CDRouter prpl Certification
expansion, so lets add the needed configuration:
prplosLanInterfaceAlias - This parameter specifies the LAN interface
Alias used to verify bridge functions on the prplOS implementation. This
parameter must be set to the value of Device.Bridging.Bridge.{i}.Port.{i}.Alias
that corresponds to the primary LAN test interface used for prplOS
Certification testing.
useSameLanInterface - If this testvar is set to no, CDRouter will
change LAN interfaces each time a test is run when multiple LAN
interfaces are configured. You can disable this behavior by configuring
the testvar useSameLanInterface to yes.
We set this value to `yes`, because we're only utilizing one LAN port.
References: PCF-1611
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
When using musl instead of glibc, Mosquitto's bridge__connect() calls
net__socket_connect(), which, with the SAH patch (asynchronous connect),
can return MOSQ_ERR_CONN_INPROGRESS if the socket connection is still in progress.
This was not properly handled, causing bridge connections to fail on musl.
By extending the patch to handle MOSQ_ERR_CONN_INPROGRESS in bridge__connect(), we ensure proper bridge functionality for musl.
Issue: PCF-1656 [lib_mosquitto] - Bridge functionality does not work for musl (only glibc)
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
In feed_lcm v4.0.0 support for unprivileged containers was added. To run the containers as privileged the "Privileged" parameter needs to be set to true.
This was missed in e7dab997ee39514a260c149354cb6baab7048552 when the other boards were updated.
Closes: PPW-412 - containers cant be started
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>
In commit f55fee5eb5a9 ("ci: coverity: refresh scanned prplWare package
list") we've added a lot of prplWare packages, so the time needed to
analyze everything increased and currently the CI job timeouts after 4
hours.
So lets fix it by increasing the job timeout to 6 hours.
References: PCF-1312
References: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/9252686563#L5373
Fixes: f55fee5eb5a9 ("ci: coverity: refresh scanned prplWare package list")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Current prplWare package list processed by Coverity scan is outdated, so lets
refresh the prplWare package list using the latest SBOM output.
Closes: PCF-1312
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Coverity CI jobs stopped working as the uploaded data seems to be bigger
then allowed limit:
Emitted 2617 C/C++ compilation units (100%) successfully
2617 C/C++ compilation units (100%) are ready for analysis
The cov-build utility completed successfully.
$ tar czf cov-int.tar.gz ./cov-int
$ curl --form token="$(cat ./coverity-api-token)" --form email=ynezz@true.cz --form file=@cov-int.tar.gz --form version="$CI_COMMIT_SHORT_SHA" --form description="$CI_COMMIT_REF_SLUG" "https://scan.coverity.com/builds?project=$CI_COVERITY_PROJECT_NAME"
<head><title>413 Request Entity Too Large</title></head>
<body>
<center><h1>413 Request Entity Too Large</h1></center>
<hr><center>cloudflare</center>
</body>
</html>
It seems, that sometime ago, Coverity changed the upload limit to 500MB
and for larger file sizes, new multistage upload process and API
endpoints need to be used.
Fixes: PCF-1536
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently the Coverity scan build fails:
make -r package/wan-autosensing/clean: build failed.
This is happening, as wan-autosensing packages was replaced with
mod-autosensing in commit 90c963576680 ("profiles: prpl: network and
netmodel component updates").
So lets adjust Coverity scan build package list accordingly.
References: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/9127037671
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Those packages are not being used for some time, so lets remove those
from Coverity scan builds.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
The current implementation of the upload process to Coverity Scan
encounters an issue where large files (e.g., cov-int.tar.gz) exceed the
server's maximum allowed file size, resulting in a 413 Request Entity
Too Large error.
We’re not aware about this issue as CI job finishes with success, but
actually it should fail.
So lets instruct `curl` to `--fail` on server errors.
Fixes: PCF-1537
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Currently the Coverity build is blocked due to two stray build jobs (OSP
and Freedom) in the Coverity pipeline.
This is happening due to the manual rule, which was added as provisory
workaround in commit bcf0deb2f195 ("PROVISORY: ci: freedom: disable
platform") and in commit d49b86aae9fc ("PROVISORY: ci: disable
URX851-B0-DK-PON and URX851-HDK-3 platforms").
So lets fix it by removing those manual rules.
References: PCF-1169, PCF-1170, PCF-1537
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
With the bump of timingila to v3.1.0, we have now support for handling volumes to store application data.
Let's update the expected datamodel output as well.
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Integrates:
* e43d68a ("Add support for crun apps", 2024-11-28)
* 08b94ea ("Upgrade crun and OCI bundle related packages", 2024-12-11)
* 9a23412 ("Upgrade timingila-celephais", 2025-02-07)
* libcthulhu: bump to v0.30.0
- fb5d5ff ("Issue: LCMFT-341 Application Data Management", 2024-09-04)
- 9df8118 ("Component: libcthulhu. The following changes add support for AutoRestart in InstallDU., 2024-09-30)
* cthulhu: bump to v4.1.3
- 49a881c ("odl: LCM containers USP access not reboot persistent", 2025-01-28)
- 97c2f48 ("chtulhu: Fix potential compilation issue.", 2025-02-05)
* timingila: bump to v3.1.0
- b603134 ("Issue: LCMFT-341 Application Data Management", 2024-09-11)
- 0055ebd ("Component: Timingila. The following changes add support for AutoRestart in InstallDU.", 2024-09-30)
* cthulhu-lxc: bump to v1.0.2
- e4991ec ("Issue: LCMFT-370 Force stop a container that keeps on running", 2024-09-30)
* timingila-cthulhu: bump to v3.0.1
- 36f81e3 ("Issue: LCMFT-341 Application Data Management", 2024-09-04)
- 5a994e3 ("Component: Timingila-Cthulhu.The following changes add support for AutoRestart in InstallDU., 2024-09-30)
References: LCM-752, PPW-422
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
usp_conformance_1_20 has a known issue in test implementation, caused by
an erroneous change to the USP Spec. So until its fixed, lets remove
the test.
References: PPW-363, PCF-1612
References: https://issues.broadband-forum.org/browse/USP-917
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Problem: Cram tests should be added to cover net upnp feature
Issue: PCF-1628 [CRAM] add initial CRAM test for UPnP-IGD-PCP feature
Signed-off-by: Ward Lindekens <ward.lindekens_ext@softathome.com>
We've a new 'cdrouter smoke' stage and since CDRouter-Wireless tests
should be run in this stage, lets move those tests there, to make the
test availability, execution etc. easier.
Closes: PCF-1645
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Current CI testing pipeline is very comprehensive and unusable for
testing of more granular deliveries and thus a new prplWare Smoke Test
Suite is needed.
The idea behind this new prplWare Smoke Test Suite is, that the complete
test runtime should fit into the range of 60-90 minutes.
The new Smoke Test Suite should contain testing a bit of everything, so
we cover most of the areas, while being able to finish a test within a
reasonable timeframe.
Thus this new test suite combines the current:
* CDRouter TOP 100 IPv4 and IPv6 packages, minus:
- the longest running TCP/UDP firewall port scan tests:
* ipv6_firewall_100
* ipv6_firewall_101
* cdrouter_firewall_100
* cdrouter_firewall_101
* cdrouter_firewall_110
- the failing tests on OSP boards:
* cdrouter_nat_201 tracked in PCF-972
* cdrouter_l2tppt_2 tracked in PCF-971
* CDRouter TR-069 package, minus the reboot test od128_test_14.1
* CDRouter USP certification test cases + USP basic test + prpl HL-API
tests (minus the problematic and currently always failing prpl_hl-api.1.4 Set test)
* cdrouter_dyndns_1 - DynDNS client sends an update request when the WAN IP address changes
* cdrouter_dyndns_2 - DynDNS client does not update if the WAN reestablishes with the same IP address
So the package contains in total 310 CDRouter test cases.
Closes: PCF-1645
References: PCF-971, PCF-972
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
There is currently a lot of old and already very obsolete stuff in the
tree for the past devices like glinet-b1300, urx851-b0-dk, nec-wx3000hp.
So lets cleanup all those unused bits to make the tree more tidy and
easier to maintain.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
We're going to use single smoke-test config to test bit of everything in
single test suite, so lets sync the DynDNS config from the generic
config.
References: PCF-1645
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
We're going to use single config for both IPv4 and IPv6 testing, so lets
sync the dhcpLeaseTime of 180 seconds from generic config, currently
being used for IPv4 based tests only.
References: PCF-1645
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Copy over generic-ipv6 configuration to smoke-test, so later changes are
clearly visible.
References: PCF-1645
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
The tr181-mqttbroker has been introduced before, but it was decided to not include it for a prplos3.1 or prplos3.2 release.
Let's now enable it again as we want to include it in the next upcoming release.
This reverts commit eec456fa442b3d66b740631747bcc4a29607db77.
Signed-off-by: Toon Caeyers <toon.caeyers_ext@softathome.com>