Commit Graph

63494 Commits

Author SHA1 Message Date
Petr Štetiar
d5f86b7768
ci: ssh-server: add tests for pubkey auth and session features
Extend ssh-server QA with new test cases for pubkey authentication thus
covering `SSH.AuthorizedKey.` feature using ed25519 key algorithm,
furtherore add check for `SSH.Server.{i}.Session.{i}.` active SSH session
list feature.

Closes: PCF-1026
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:18 +00:00
Petr Štetiar
173e53607f
PROVISORY: ci: cram: 020-security: remove certificate enable/disable check
Currently Device.Security.Certificate.{i}.Enable is read-only so we're
unable to test it until its fixed.

References: PCF-1054
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:17 +00:00
Petr Štetiar
bca5573235
PROVISORY: ci: cram: 020-security: relax certificate validity timestamp checks
Currently we've different value for certificate's NotBefore/NotAfter
timestamps on each service startup which would result in not
reproducible test results, so lets ignore the microseconds part until
its fixed.

References: PCF-1053
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:16 +00:00
Petr Štetiar
bb1d8acb4c
ci: tr181-security: add cram test
Lets QA this new component.

Closes: PCF-1052
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:15 +00:00
Petr Štetiar
b396bb87e1
ci: tests: 030-usermanagement: add change password tests
It wasn't possible to change user passwords PCF-539, but this has been
fixed and thus we should cover this use case with a test to prevent
regressions.

Closes: PCF-542
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:14 +00:00
Petr Štetiar
5ace6a978b
ci: cdrouter: urx851: fix boot filesystem in job names
We're using eMMC to boot the OSP boards, so lets make it clear and fix
the wrongly used copy&paste-d initramfs.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:13 +00:00
Petr Štetiar
980b2358d1
PROVISORY: ci: haze: use prpl-haze-emmc with sysupgrade image
Adding obuspa package has increased slightly prplOS firmware image, but
it was enough to trigger Haze's bootloader factory pre-configured
limits.

U-Boot shipped with the devices has configuration limits which prevents
to boot initramfs images which have size of 33951166 Bytes = 32.4 MiB:

  U-Boot 2016.01 (Nov 09 2022 - 16:51:22 +0800)
  ...
  IPQ807x# tftpboot 0x41000000 openwrt-ipq807x-generic-prpl_haze-initramfs-uImage.itb && bootm 0x41000000
  ...
  Uncompressing Kernel Image ... Error: inflate() returned -5
  Image too large: increase CONFIG_SYS_BOOTM_LEN
  Must RESET board to recover
  resetting ...

So lets workaround this bootloader limit by writting the firmware image
directly into the eMMC storage with sysupgrade image, thats it, we
couldn't use initramfs images on Haze until we get U-Boot with suitable
configuration.

References: PCF-1048, PCF-929
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:12 +00:00
Petr Štetiar
16e869a9ef
PROVISORY: ci: cdrouter: urx851-b0-dk-pon: run tests manually only
Currently there is no WAN connection over XPON interface, so until its
fixed, lets make the CDRouter tests manual.

References: PCF-982
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:11 +00:00
Petr Štetiar
cbf02e9f4c
PROVISORY: ci: cdrouter: turris-omnia: run tests manually only
Currently its not possible to start any CDRouter test on Turris Omnia
device due to the following error:

 FAIL: Could not establish IPv4 DHCP client on WAN interface » no-wan-dhcp-address

It was found out, that this is happening due to the crash of DHCPv4
client:

  Core was generated by `tr181-dhcpv4client -D'.
  Program terminated with signal SIGSEGV, Segmentation fault.
  #0  0xb6f44510 in memchr (src=src@entry=0xf, c=c@entry=0, n=<optimized out>, n@entry=2147483647) at src/string/memchr.c:16
  16	src/string/memchr.c: No such file or directory.

  (gdb) bt
  #0  0xb6f44510 in memchr (src=src@entry=0xf, c=c@entry=0, n=<optimized out>, n@entry=2147483647) at src/string/memchr.c:16
  #1  0xb6f45b90 in strnlen (s=s@entry=0xf <error: Cannot access memory at address 0xf>, n=2147483647) at src/string/strnlen.c:5
  #2  0xb6f0b048 in printf_core (f=f@entry=0xbecc23f8, fmt=fmt@entry=0xb6bd953d " with this lease%s - %s(%s@%s:%d)%s", ap=ap@entry=0xbecc22f4, nl_arg=nl_arg@entry=0xbecc2320,
      nl_type=<optimized out>, nl_type@entry=0xbecc22f8) at src/stdio/vfprintf.c:594
  #3  0xb6f40014 in vfprintf (f=f@entry=0xbecc23f8, fmt=fmt@entry=0xb6bd953d " with this lease%s - %s(%s@%s:%d)%s", ap=..., ap@entry=...) at src/stdio/vfprintf.c:683
  #4  0xb6f42784 in vsnprintf (s=s@entry=0xbecc253c "client: ", n=n@entry=984, fmt=fmt@entry=0xb6bd953d " with this lease%s - %s(%s@%s:%d)%s", ap=ap@entry=...) at src/stdio/vsnprintf.c:54
  #5  0xb6f247c8 in _vsyslog (priority=<optimized out>, priority@entry=4, message=message@entry=0xb6bd953d " with this lease%s - %s(%s@%s:%d)%s", ap=ap@entry=...) at src/misc/syslog.c:108
  #6  0xb6f24c74 in __vsyslog (priority=4, message=0xb6bd953d " with this lease%s - %s(%s@%s:%d)%s", message@entry=0xb6bd4944 "d)%s", ap=...) at src/misc/syslog.c:133
  #7  0xb6d1a128 in sahTraceOutput (lvl=<optimized out>, traceLvl=<optimized out>, format=format@entry=0xb6bd4944 "d)%s", vl=...) at sahtrace.c:154
  #8  0xb6d1a760 in sahTracev (lvl=<optimized out>, format=format@entry=0xb6bd4944 "d)%s", ap=..., ap@entry=...) at sahtrace.c:754
  #9  0xb6d1a798 in sahTrace (lvl=<optimized out>, format=0xb6bd953d " with this lease%s - %s(%s@%s:%d)%s") at sahtrace.c:738
  #10 0xb6bd0680 in dhcp_lease_config_req_ip_option (lease=<optimized out>) at dhcp_lease.c:368
  #11 0xb6bd4944 in all_implied_fbits () from /home/builder/scripts/../staging_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/root-mvebu/usr/lib/amx/tr181-dhcpv4client/modules/mod-dhcpv4c.so
  Backtrace stopped: previous frame identical to this frame (corrupt stack?)

So until its fixed, lets make the CDRouter tests manual.

References: PCF-1051
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:10 +00:00
Petr Štetiar
6a744e5b71
ci: cdrouter: haze: enable TR-069 testing
Since we now have eMMC boot available on the Haze target, lets enable
TR-069 CDRouter testing on this target as well.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:09 +00:00
Petr Štetiar
c4f0be5869
ci: testbed: add prpl-haze-emmc target
Add prpl-haze-emmc so we can flash prplOS into eMMC flash storage using
sysupgrade image directly from the U-Boot bootloader.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:08 +00:00
Petr Štetiar
7b2030749c
ci: cdrouter: haze,omnia,osp: add CDRouter-USP-Certification test
New obuspa package was just added, thus we need to QA it on CI to
prevent regressions, so lets enable CDRouter testing stock using
CDRouter-USP-Certification package.

References: PCF-1005
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:07 +00:00
Petr Štetiar
5dae15129b
ci: cdrouter: configurations: enable USP over STOMP protocol
New obuspa package was just added, thus we need to QA it on CI to prevent
regressions, so lets make CDRouter aware, that the CPEs support USP over
STOMP protocol.

References: PCF-1005
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:06 +00:00
smahale
906ecc17a8
profiles: prpl: add OB-USP-A package and backport libamxrt USP fix
Added OB-USP-A package to feed-prpl with default configuration tailored
for CDRouter's USP certification testing default settings.

To make USP available in the system we need to backport as well fix for
libamxrt which makes libamxrt to only connect to default backend sockets
when the necessary backend is loaded.  So if the USP backend is not
loaded, the plugin won't connect to the USP sockets in /var/run/usp/.

Fixes: PCF-1067
References: PCF-1005
Signed-off-by: Sandesh Mahale <sandesh.mahale@commscope.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [libamxrt fix]
2025-07-31 10:35:05 +00:00
Petr Štetiar
94c1e0e1cc
ci: sdk: fix build breakage by using packaged jinja2
Currently the feed-prpl CI build testing pipeline suddenly fails:

  $ pip3 install jinja2
  error: externally-managed-environment
  This environment is externally managed
  ╰─>
    The system-wide python installation should be maintained using the system
    package manager (apk) only.
  ...

Thats because we’re using latest Alpine Linux containers and those get
update to latest Alpine Linux 3.19.0 release just a few days ago on
December 7th, 2023 with following note related to the above in the
release notes:

  Python’s package directory is now marked as externally managed, which
  means that pip can no longer install to system directory which is
  managed by apk.

So lets fix it by using jinja2 apk package directly as suggested.

Fixes: PCF-1055
References: https://www.alpinelinux.org/posts/Alpine-3.19.0-released.html
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:04 +00:00
Marouan MCHARFI
ebdb1d610e
PROVISORY: ci: tests: urx851: 100-prplmesh.t: disable prplmesh test
Disabling prplmesh restart and remove prplmesh check test
because of PPM-2674

opertaing wireless test is impacted disable it also.

References: PPM-2674
Signed-off-by: Marouan MCHARFI <marouan.mcharfi_ext@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift]
2025-07-31 10:35:03 +00:00
Marouan MCHARFI
724dab515f
PROVISORY: ci: tests: haze,turris: 100-prplmesh.t: disabling prplmesh test
Disabling the restart of prplmesh and remove prplmesh check because
we've noticed on latest automated prplos test that when we run pwhm as
gateway mode (agent+controller) SSID of the main VAP are change to guest
SSID. It looks like a wrong configuration was pushed by the controller
that changed those SSIDs.

References: PPM-2673
Signed-off-by: Marouan MCHARFI <marouan.mcharfi_ext@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift]
2025-07-31 10:35:02 +00:00
Marouan MCHARFI
1ce27a1812
PROVISORY: ci: tests: treewide: 100-prplmesh.t: disable wireless test
Disable the enable/disable check of wireless interface because of PPM-2672
Keeping the enable/disable command it sould not impact the test suite.

References: PPM-2672
Signed-off-by: Marouan MCHARFI <marouan.mcharfi_ext@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift]
2025-07-31 10:35:01 +00:00
Marouan MCHARFI
1ee6741ea5
ci: tests: cram: update CI test for turris-omnia regarding wireless
* /010-network.t:
 Adapting 'ip route' & ip link expected output.

* /020-ubus.t:
 Adapting ubus output

* /030-wifi.t:
  Adapting iw dev expected output, because of endpoint addistion.

* /100-prplmesh.t:
  Adapting expected output since new guest interface addition
and endpoint enhancement.
  Also adapat the output of prplmesh script since
0001-prplmesh_utils.sh-handle-any-number-of-radios-in-bml.patch

Signed-off-by: Marouan MCHARFI <marouan.mcharfi_ext@softathome.com>
2025-07-31 10:35:00 +00:00
Marouan MCHARFI
8d55e9f4ed
ci: tests: cram: update CI test for urx851-b0-dk-pon
* /010-network.t:
 Adapting 'ip route' & ip link expected output.

* /030-wifi.t:
  Adapting iw dev expected output, since new guest interface on 6ghz
had been added and dummy vendor module removed.

* /100-prplmesh.t:
  Adapting expected output since new guest interface addition
and endpoint enhancement.
  Also adapat the output of prplmesh script since
0001-prplmesh_utils.sh-handle-any-number-of-radios-in-bml.patch

Signed-off-by: Marouan MCHARFI <marouan.mcharfi_ext@softathome.com>
2025-07-31 10:34:59 +00:00
Marouan MCHARFI
7848090aab
ci: tests: cram: update CI tests for urx851
* /010-network.t:
 Adapting 'ip route' & ip link expected output.

* /030-wifi.t:
  Adapting iw dev expected output, since new guest interface on 6ghz
had been added.

* /100-prplmesh.t:
  Adapting expected output since new guest interface addition
and endpoint enhancement.
  Also adapat the output of prplmesh script since
0001-prplmesh_utils.sh-handle-any-number-of-radios-in-bml.patch

Signed-off-by: Marouan MCHARFI <marouan.mcharfi_ext@softathome.com>
2025-07-31 10:34:58 +00:00
Marouan MCHARFI
e715395834
ci: tests: cram: update CI tests for prpl-haze
* /010-network.t:
 Adapting 'ip route' & ip link expected output.

* /030-wifi.t:
  Adapting iw dev expected output, since new guest interface on 6ghz
had been added.

* /100-prplmesh.t:
  Adapting expected output since new guest interface addition
and endpoint enhancement.
  Also adapat the output of prplmesh script since
0001-prplmesh_utils.sh-handle-any-number-of-radios-in-bml.patch

Signed-off-by: Marouan MCHARFI <marouan.mcharfi_ext@softathome.com>
2025-07-31 10:34:57 +00:00
Marouan MCHARFI
605bb5a60c
profiles: feed_prpl: bump revision for last pwhm and libs release
upstep pwhm to 4.20.1, libswla to 3.8.0 and libswlc to 5.10.4.
Those version contain deliverie for PPM-2547

close PPM-2547

Signed-off-by: Marouan MCHARFI <marouan.mcharfi_ext@softathome.com>
2025-07-31 10:34:56 +00:00
Petr Štetiar
4a4beaa8a7
ci: cdrouter: fix missing debug-information output
The move command inadvertently included a backslash, resulting in the
shell treating the asterisk as a literal character rather than a
wildcard. This error in the globbing pattern led to the exclusion of
crucial debug-information in the CDRouter job artifacts. This commit
resolves the issue by removing the backslash, ensuring correct pattern
matching and the inclusion of relevant file.

Fixes: 6cf5635bf50e ("ci: generate coredumps during development")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:55 +00:00
Petr Štetiar
841ab24b2c
ci: generate coredumps during development
Currently we're trying to have coredumps disabled to avoid regressions
such as PCF-663, but sometimes it might be handy to be able to collect
coredumps from the CI jobs, so lets introduce CI_BUILD_ENABLE_COREDUMPS
variable and enable it during development only, that is not on tagged
builds and not on builds in designated branches.

References: PCF-992, PCF-967
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:54 +00:00
Petr Štetiar
757c502e77
ci: cdrouter,testbed: collect coredumps into job artifacts
debug-information is now able to collect coredumps so adjust the jobs
and if available, make those coredumps present in artifacts so they can
be downloaded and examined.

References: PCF-992, PCF-967
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:53 +00:00
Petr Štetiar
39a10bbd22
profiles: ipq807x,prpl: debug-information with core dumps and board-config-haze removal
* debug-information: getDebugInformation: collect system core dumps as a fallback

  If there is no `FaultMonitor.CoreDumpsDirectory` for whatever reason,
  then allow for collecting core dumps defined in `kernel.core_pattern` as
  a fallback mechanism.

  That sed-fu replaces `core_pattern` specifiers defined in core(5) man
  page as following:

    * %d,%e,%E,%h,%p             to '*' glob pattern
    * %c,%g,%i,%I,%p,%P,%s,%t,%u to [0-9]* glob pattern

  and doesn't process pipe patterns. So following OpenWrt default core_pattern

    kernel.core_pattern = /tmp/%e.%t.%p.%s.core

  is going to be converted to:

    /tmp/*.*.[0-9]*.[0-9]*.core

  shell globbing pattern.

  References: PCF-992, PCF-967

* Revert "board-config-haze: add new package with board specific static configuration"

  This reverts commit 807633569f9bd1a5462a7294c3dbd6070f4d2e7b as the
  networklayout.json generation issues should be fixed in odl-generator in
  commit df01b276403b ("netlayout_from_uci.sh: fix sometimes missing
  wireless phys config"), delivered in odl-generator v1.6.2 which we're
  already using, so there is no need for this workaround anymore.

  Fixes: PCF-984

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:52 +00:00
Petr Štetiar
8c1789b12f
Revert "Revert "PROVISORY: ci: ipq807x: disable usage of security profile""
This reverts commit 04b4955eacf89c38d0068a023b0fcc9ab29c43f5 as it
seems, that the bugs related to the security profile are less prevalent.

References: PCF-967
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:51 +00:00
Bhavesh Bharadiya
5caf463b48
profiles: prpl: prplmesh: Enable WLAN debug model for intel_x86 platform
Add debug package dependencies for intel_x86 platform to build WLAN debug model for
MxL platforms. On MxL platforms enable debug packages when WLAN debug model is enabled
otherwise enable release packages.

Signed-off-by: Bhavesh Bharadiya <bnbharadiya@maxlinear.com>
2025-07-31 10:34:50 +00:00
Petr Štetiar
a159a14469
PROVISORY: ci: tests: lcm: disable failing LCM image cleanup check test
After Uninstall() of the DU there is still directory structure present
on the storage in /usr/share/rlyeh/images/prpl-foundation and it seems
like the directory tree is not removed recursively properly for some
reason:

 ubus-cli: > SoftwareModules.DeploymentUnit.cpe-c879945e-d002-5775-88a8-e29bc0c641b4.Uninstall()
 ...
 rlyeh: rlyeh_f - [i]removing image 'c879945e-d002-5775-88a8-e29bc0c641b4' [prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64:prplos-v2] - (remove_image@rly
 rlyeh: rlyeh_r - [i]Removing index /usr/share/rlyeh/images/prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64/index.json - (rlyeh_remove@librlyeh-v1.1.2/src
 rlyeh: rlyeh_r - [i]Removing oci-layout /usr/share/rlyeh/images/prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64/oci-layout - (remove_oci_layout@librlyeh-
 rlyeh: rlyeh_r - [i]Removing /usr/share/rlyeh/images/prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64 - (rm_image_dir@librlyeh-v1.1.2/src/rlyeh_remove.c:6
 rlyeh: rlyeh_r - [i]Removing /usr/share/rlyeh/images/prpl-foundation/prplos/prplos/prplos - (rm_image_dir@librlyeh-v1.1.2/src/rlyeh_remove.c:655)

thus it makes the CI test fail, as the `/usr/share/rlyeh/images` directory is not empty in the end.

Workaround this by disabling this test temporarily until its fixed.

References: LCM-748
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:49 +00:00
Petr Štetiar
fa3d86e28b
PROVISORY: ci: tests: urx851: workaround updates with different locations
LCM isn't handling correctly Update() when its being done to a different
location and keeps on pointing the previous image blobs when updating to
a different path, when using two different container images versions but
stored on different locations:

 prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64-v1:prplos
 prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64-v2:prplos

rather than:

 prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64:prplos-v1
 prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64:prplos-v2

Where the version is `v1` and `v2` and not `prplos` for both containers
stored in two different subpaths.

 lxc[3860]: BundleVersion: prplos
 lxc[3860]: Bundle: prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64-v2
 lxc[3860]: DiskLocation: prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64-v1

So lets workaround it by providing container in the same path, but tagged with
different versions until the issue is fixed.

References: LCM-747
Suggested-by: Nabil Bizid <nabil.bizid@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:48 +00:00
Petr Štetiar
cb37b52443
ci: tests: turris-omnia: use new LCM containers
LCM v1.4 introduced network support and network isolation so containers
were adjusted and thus start using them.

References: LCM-737
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:47 +00:00
Petr Štetiar
a20cd8eb6c
ci: tests: urx851: use new LCM containers
LCM v1.4 introduced network support and network isolation so containers
were adjusted and thus start using them.

References: LCM-737
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:46 +00:00
Petr Štetiar
b88756f301
ci: tests: prpl-haze: use new LCM containers
LCM v1.4 introduced network support and network isolation so containers
were adjusted and thus start using them.

References: LCM-737
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:45 +00:00
Petr Štetiar
5e9d4ace58
ci: tests: lcm: fix always passing container removal test
Nabil has pointed out during the review, that this test is no longer
correct. It will always succeed since the verified path doesn't
correspond to the installed image thus it never exist.  The verification
should be done on /usr/share/rlyeh/images/prpl-foundation.

Suggested-by: Nabil Bizid <nabil.bizid@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:44 +00:00
Matthias Franck
b8d28b721c
ci: tests: cram: Update LCM tests to reflect latest LCM version
LCM components were updated to the LCM v1.4 and thus the tests needs to
be adjusted.

Signed-off-by: Matthias FRANCK <matthias.franck_ext@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift]
2025-07-31 10:34:43 +00:00
Mouna ALOUI
68a932655d
ci: tests: cram: update tests for M2/2023 delivery
Update tests cases after M2/2023 component delivery.

Signed-off-by: Mouna ALOUI <mouna.aloui_ext@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift]
2025-07-31 10:34:42 +00:00
Matthias FRANCK
9ef1be2a40
Revert "PROVISORY: ci: cram: 030-lcm.t: disable container image check"
This reverts commit a7f4879cffe5cbb585088fe35b92e2f92a88f767 as this was
fixed with the last LCM update.

Signed-off-by: Matthias FRANCK <matthias.franck_ext@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift]
2025-07-31 10:34:41 +00:00
Matthias FRANCK
cf716152d1
profiles: prpl: update feed-prpl with M2/2023 delivery
This version includes following updates in the M2/2023 delivery.

* lcm: add liblcm
  - The module liblcm provides common functions and datastructures for LCM components

* lcm: bump packages
  - cthulhu: bump to v3.5.0
  - rlyeh: bump to v2.3.1
  - timingila: bump to v2.0.2
  - libcthulhu: bump to v0.25.1
  - librlyeh: bump to v1.1.2
  - cthulhu-lxc: bump to v0.9.1
  - timingila-cthulhu: bump to v2.0.2
  - timingila-rlyeh: bump to v1.0.3
  - cthulhu-dhcpc: bump to v1.2.2
  - cthulhu-networking: bump to v0.1.2

* netmodel: bump packages
  - libnetmodel: bump to v1.5.14
  - netmodel-dhcpv4: bump to v1.3.0
  - netmodel-dhcpv6: bump to v1.3.0
  - netmodel-ip: bump to v1.4.0
  - netmodel-iprouter: bump to v0.3.0
  - netmodel-clients: bump to v0.2.0
  - netmodel: bump to v2.15.1

* network: add tr181-led
  - TR-181 compatible plugin for device LEDs management

* network: add tr181-button
  - Implementation of the Button HL API to expose the buttons and its states in (tr181) data model.

* network: add libdiscoping
  - Library discovering when IPs appear and disappear

* network: bump packages

  - libnetlink-utils: bump to v0.0.9
  - mod-dhcpv4c: bump to v0.13.4
  - mod-dns-unbound: bump to v1.4.2
  - mod-logical-api: bump to v0.6.0
  - mod-ppp-daemon: bump to v0.5.5
  - mod-vlan-ioctl: bump to v0.1.6
  - dhcpv4-manager: bump to v2.3.1
  - dhcpv6s-manager: bump to v0.15.2
  - ethernet-manager: bump to v1.13.0
  - ip-manager: bump to v1.41.3
  - netdev-plugin: bump to v1.11.1
  - routing-manager: bump to v1.16.0
  - tr181-bridging: bump to v2.3.0
  - tr181-dhcpv4client: bump to v1.24.1
  - tr181-dhcpv6client: bump to v1.1.2
  - tr181-dns: bump to v2.3.3
  - tr181-dslite: bump to v0.8.2
  - tr181-logical: bump to v0.6.1
  - tr181-neighbordiscovery: bump to v0.8.0
  - tr181-ppp: bump to v0.13.3
  - tr181-routeradvertisement: bump to v0.14.4
  - tr181-xpon: bump to v1.3.7
  - wan-manager: bump to v0.30.0
  - libqosmodule: bump to v1.0.1
  - mod-fw-amx: bump to v0.3.2
  - packet-interception: bump to v0.0.12
  - tr181-firewall: bump to v6.9.0
  - tr181-pcp: bump to v0.7.0
  - tr181-qos: bump to v3.3.11
  - mod-dmproxy: bump to v1.3.5
  - mod-httpaccess-lighttpd: bump to v0.1.7
  - mod-sahtrace: bump to v1.1.0
  - deviceinfo-manager: bump to v2.18.4
  - multisettings: bump to v0.9.0
  - pcm-manager: bump to v0.16.0
  - pcm-manager: fix build failure caused by SAH_AMX_PCM_TARBALL
  - time-manager: bump to v2.4.2
  - tr181-device: bump to v0.15.2
  - tr181-dnssd: bump to v0.4.10
  - tr181-dynamicdns: bump to master
  - tr181-httpaccess: bump to v0.9.0
  - tr181-ipdiagnostics: bump to v0.6.0
  - tr181-security: bump to v0.3.0
  - tr181-upnp: bump to v0.6.1
  - tr181-usermanagement: bump to v0.11.0
  - hosts-manager: bump to v0.3.1
  - libimtp: bump to v2.0.1
  - debug-information: bump to v0.1.16
  - odl-generator: bump to v1.6.2

* gmap: bump packages

  - gmap-client: bump to v1.1.2
  - gmap-mod-ethernet-dev: bump to v1.15.1
  - gmap-mod-self: bump to v1.4.1
  - gmap-server: bump to v2.2.16
  - gmap-mibs-common: bump to v0.11.2
  - libgmap-client: bump to master
  - libgmap-ext: bump to v0.8.0

* ambiorix: bump packages

  - acl-manager: bump to v0.6.4
  - amx-cli: bump to v0.3.5
  - amx-fcgi: bump to v1.3.5
  - amxb-inspect: bump to v1.2.1
  - amxo-cg: bump to v1.2.14
  - amxrt: bump to v2.1.1
  - libamxa: bump to v0.10.24
  - libamxb: bump to v4.7.16
  - libamxc: bump to v1.9.0
  - libamxd: bump to v6.0.11
  - libamxj: bump to v0.3.62
  - libamxm: bump to v0.0.61
  - libamxo: bump to v4.2.1
  - libamxp: bump to v1.2.12
  - libamxrt: bump to v0.2.24
  - libamxs: bump to v0.4.3
  - libamxt: bump to v0.2.21
  - mod-amxb-ubus: bump to v3.1.22
  - mod-ba-cli: bump to v0.8.19
  - mod-dm-cli: bump to v0.2.5
  - mod-lua-amx: bump to v0.1.10
  - lua-amx: bump to v0.3.15

Signed-off-by: Matthias FRANCK <matthias.franck_ext@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift, PCF-1034 fix]
2025-07-31 10:34:40 +00:00
Petr Štetiar
b5340d6f86
ci: testbed-device.py: console_dump_system_state: use getDebugInformation
getDebugInformation script collects all the useful information from the
running system already, so lets use it instead of current list of
commands. While at it, dump the output directly to the serial console
and thus bypass labgrid as it might influence the behavior and/or the
output.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:39 +00:00
Petr Štetiar
57b3e19f08
ci: testbed-device.py: make default run timeout configurable
Currently there is 30 second timeout hardcoded in shell run() method,
but we sometimes might need to use different value, so lets extend the
method args to allow overriding it.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:38 +00:00
Petr Štetiar
725956e501
ci: sdk: improve feed-prpl build testing
Currently pcm-manager package fails to build when SAH_AMX_PCM_TARBALL is
enabled:

 fs_utils.c:86:10: fatal error: libtar.h: No such file or directory
   86 | #include <libtar.h>
      |          ^~~~~~~~~~

as there is no `libtar` package available, but we didn't noticed this on
the CI as the SDK preserves build root's configuration, so this results
in Config-build.in with following config:

 config SAH_AMX_PCM_TARBALL
	bool
	default n

Which is then default and if the package later changes this to `default
y` like in this case, it has no effect during the built within the SDK.

So lets prevent similar situation in the future and simply remove all
SAH boolean config options from the SDK's Config-build.in and use the
package defaults.

References: PCF-1034
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:37 +00:00
Petr Štetiar
871014ee76
ci: docker: lcm: workaround updates with different locations
LCM isn't handling correctly Update() when its being done to a different
location and keeps on pointing the previous image blobs when updating to
a different path, when using two different container images versions but
stored on different locations:

 prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64-v1:ynezz-lcm-containers
 prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64-v2:ynezz-lcm-containers

rather than:

 prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64:v1
 prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64:v2

Where the version is v1 and v2 and not ynezz-lcm-containers for both
containers stored in two different subpaths.

 lxc[3860]: BundleVersion: ynezz-lcm-containers
 lxc[3860]: Bundle: prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64-v2
 lxc[3860]: DiskLocation: prpl-foundation/prplos/prplos/prplos/lcm-test-x86-64-v1

So lets fix it by providing container in same path, but tagged with
different versions.

References: LCM-747
Suggested-by: Nabil Bizid <nabil.bizid@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:36 +00:00
Petr Štetiar
43e946aa66
ci: docker: lcm: workaround resolv.conf symlink loop
Container rootfs contains the file /etc/resolv.conf which is a symbolic
link to /tmp/resolv.conf thus LCM agent is not able to set up the
network config correctly as it cannot share the DNS settings with the
container through sharing the file /etc/resolv.conf.

 lxc-start[1]: <ctr-uuid>: utils - ../src/lxc/utils.c:open_without_symlink:1084 - Symbolic link loop - resolv.conf in /usr/lib/lxc/rootfs/etc/resolv.conf was a symbolic link!
 lxc-start[1]: <ctr-uuid>: conf - ../src/lxc/conf.c:mount_entry:2439 - Symbolic link loop - Failed to mount "/lcm/cthulhu/sb_host_data/<ctr>/rootfs/etc/resolv.conf" on "/usr/lib/lxc/rootfs/etc/resolv.conf"

The container can be started without any problem if the container is not
requesting network access or if the file  /etc/resolv.conf is either
removed from the container rootfs or at least set a regular file (not a
symlink) which can then be modified at container startup.

So lets workaround that issue by making /etc/resolv.conf regular empty
file.

References: LCM-737, LCM-746
Suggested-by: Nabil Bizid <nabil.bizid@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:35 +00:00
Petr Štetiar
c3410c763a
ci: docker: provide ImageBuilder based LCM testing containers
Currently its not possible to customize LCM SDK for our LCM container CI
QA purposes, so lets provide ImageBuilder based LCM testing containers
which can be used for the same purposes.

References: LCM-737, LCM-745, LCM-741
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:34 +00:00
Petr Štetiar
9f6d6d8114
ci: docker: provide ImageBuilder containers
Currently its not possible to customize LCM SDK for our LCM container CI
QA purposes, so lets provide ImageBuilder containers which can be used
for the same purposes.

References: LCM-737, LCM-745, LCM-741
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:33 +00:00
Petr Štetiar
2b98336a4f
ci: build: provide ImageBuilder by default
We're going to provide ImageBuilder containers, so enable them during
builds.

References: LCM-737
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:32 +00:00
Petr Štetiar
c88fd09ebe
ci: extend SDK stage with ImageBuilder
We're going to provide ImageBuilder containers as well, so lets extend
current SDK stage with ImageBuilder.

References: LCM-737
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:31 +00:00
Petr Štetiar
13f720f41d
profiles: prpl: make OpenSSL default and only TLS provider
Currently we’ve two TLS providers included in the images, mbedTLS and
OpenSSL.  This is unfortunate at least from the maintenance, security
and support perspective.  The preference is to use OpenSSL as the only
TLS provider, so lets adjust the configuration accordingly.

Fixes: PCF-1006
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:30 +00:00
Petr Štetiar
cb9becae85
profiles: prpl: enable CycloneDX SBOM JSON support
Enable support for CycloneDX SBOM for packages and images manifests.

References: PCF-963
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:29 +00:00