aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-connectivity/kuksa-val
AgeCommit message (Collapse)AuthorFilesLines
2023-11-30Upgrade KUKSA.val components to 0.4.2 releaseScott Murray8-446/+762
Upgrade to the KUKSA.val 0.4.2 release that includes the changes required to build the databroker on RISC-V. Notes: - A patch is required to allow building the databroker with Rust 1.68 instead of 1.70, which is currently not available to us on top of Yocto kirkstone. The patch only fixes the versions of the clap command-line parser crate and some of its direct dependencies to what was effectively being used with 0.4.0, so the risk seems minimal at present. When time permits, backporting Rust 1.70 to kirkstone using a mixin layer will be investigated, as that seems better with respect to handling any more KUKSA.val updates during the Quillback lifecycle. - The new optional VISS support has been enabled in the databroker build, but it has not yet been tested on target (a configuration change is required). - The kuksa-client recipe has been updated to build from the new separate kuksa-python-sdk repository. This futureproofs things a bit, as any further 0.4.x releases will only be buildable from the separate repository instead of kuksa.val as before. - The kuksa-dbc-feeder recipe has been left using the 0.4.0 tag commit for now, as no 0.4.2 tag has been made in the feeders repository. As well, some of the post-0.4.0 changes will require rework of the local patches on our side. Bug-AGL: SPEC-4893 Change-Id: I5f92fdea0095a432977c9fa7da05fe5347f7e789 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29490 Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-build: Jenkins Job builder account
2023-11-24Ensure KUKSA.val JWT certificate gets installedScott Murray3-0/+18
Recent changes accidentally resulted in the jwt.key.pub certificate file for KUKSA.val server / databroker authorization not getting installed, breaking databroker start up. Explicitly install it from our kuksa-certificates-server-agl package, and tweak the kuksa-val recipe to package it in its kuksa-certificates-server package. Bug-AGL: SPEC-4985 Change-Id: I94703da876718524da753b6b882b331b7f088431 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29469 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-boot-test: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account
2023-08-28Switch Qt demo to KUKSA.val databrokerScott Murray8-9/+33
Changes to switch the Qt-based agl-demo-platform demo from using the older KUKSA.val server to the new gRPC based databroker. The Flutter demo's vehicle signalling behavior ends up a bit broken by these, but the image still boots and basic things still work. A follow on set of changes will convert the Flutter apps to the new gRPC API and remove the KUKSA.val server completely. Notable changes: - Updated libqtappfw, homescreen, ondemandnavi, and tbtnavi recipes to pick up changes to switch to using the databroker. - Updated agl-service-audiomixer and agl-service-hvac recipes to pick up their rework for using the databroker. - All the Qt demo applications that use the VehicleSignals class from libqtappfw have had their .conf and .token files updated to work with the databroker. As well, the JSON files used to create the new app-specific authorization tokens have been checked in to provide a reference of how things are configured. - The DBC feeder configuration has been changed to push into the databroker. Having a duplicate instance to also push into the older server has not been set up, as hopefully the Flutter demo conversion will follow on quickly enough to not require it. - Packagegroups for the KUKSA.val server and databroker have been factored out and are used instead of using the agl-ivi-services packagegroup. - kuksa-databroker-cli and the simple CAN simulator script are now included into the demo images when building with agl-devel. Bug-AGL: SPEC-4762 Change-Id: I416bcfbf961535062043ef54acdea6c353f84af1 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29171 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-08-21Upgrade KUKSA.val components to 0.4.0 releasesScott Murray13-412/+615
Move kuksa.val and kuksa.val.feeders repos to a commit that includes the recent 0.4.0 release plus a few post-release fixes, and update our local patches for the new version. A new patch is required for the databroker to disable the upstream addition of a vendored build of protobuf tooling for the host platform, as that does not work in the OE build enviroment, and is effectively not required since known versions of protoc and libprotobuf are already present. The major change coming in is a rework of TLS support, which requires a minor change to the DBC feeder configuration file that has also been included. Bug-AGL: SPEC-4762 Change-Id: I1a43248f15c9946d9d9dc1e8aacf1c3a96ab45a0 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2023-08-01Update certificates to include localhost and 127.0.0.1Jan-Simon Moeller6-131/+177
This updates the certificates to have subjectAltName defined as subjectAltName=DNS:$1,DNS:localhost,IP:127.0.0.1 It allows clients from the localhost to connect. We're debating if we need the IP:127.0.0.1 going forward, so this might change in the future. Bug-AGL: SPEC-4868 Change-Id: Ic6bbf5fd55b9f6a14a84512ae8748b3f48dbc3c1 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-05-31Add KUKSA.val databrokerScott Murray6-1/+650
Add a recipe for the KUKSA.val databroker, a Rust implementation of a VSS server with gRPC APIs, and add it to the images that currently have the C++ kuksa-val server to ease further integration development. Since the databroker listens for gRPC API requests on a different port than the C++ server, there is no conflict during this period. Users wanting to drive CAN data into the databroker for testing will have to manually update the kuksa-dbc-feeder configuration during this interim period. Changes: - Bump common KUKSA.val SRCREV to pick up some improvements. - Add kuksa-databroker recipe to build the databroker. - Add kuksa-databroker-agl recipe to install AGL-specific configuration for the databroker, similar to what has previously been done with kuksa-val-agl for the C++ server. - Add missing branch node declarations in the AGL VSS overlay, as the databroker VSS parser is stricter and treats their absence as an error. - Add the kuksa-databroker, kuksa-databroker-agl, and the kuksa-databroker-cli packages to the appropriate packagegroups and images. Some follow up work will factor out a packagegroup for the KUKSA.val packages to make future changes easier. Bug-AGL: SPEC-4762 Change-Id: Ie7837b7e42a2283914adc913b75639fcb83029a6 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2023-05-31kuksa-val: fix vss-agl dependency for cluster imagesScott Murray1-1/+1
Make vss-agl a runtime dependency of the kuksa-val-agl package as the configuration in that package is what actually requires it, and remove the previous addition to packagegroup-agl-ivi-services as it will no longer be necessary. This fixes the desired KUKSA.val configuration for e.g. the Flutter cluster image. Bug-AGL: SPEC-4761 Change-Id: I9ec93acf8e7a542acdb3e50a9cbace50e4928344 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2023-05-16kuksa-val: Update to 0.3.1Scott Murray16-555/+333
Changes: - Update kuksa-val to a commit that includes the 0.3.1 release and some other fixes past that. Our local patches have been updated. - Rework and rename the kuksa-viss-client recipe for the upstream switch to kuksa-client as the name. Our local patches have been updated. - Update kuksa-dbc-feeder to a commit that supports the kuksa-client library changes that come with 0.3.1. Our local patches have been updated, and a new local patch has been added to fix the token file configuration option behavior, this will be worked with upstream. Upstream changed the configuration file format, so our local one has also been updated to match. - Update the parsing of the DBC feeder configuration file in the can-dev-helper.sh script to work with the new format. - Update kuksa-val-agl recipe to not install AGL signals overlay for VSS, as that has been replaced with the use of the vss-agl package. - Add installation of vss-agl to packagegroup-agl-ivi-services so the AGL specific signals and DBC configuration will be available. Bug-AGL: SPEC-4761 Change-Id: I5933017a30f040a746f0a6a6eb2a3b68d1fc4bc1 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2023-04-27kuksa-certificates-agl: Update certificatesScott Murray4-94/+94
Update the server and client certificates with ones with a 2 year validity period, per the discussion on last week's developer call. Bug-AGL: SPEC-4763 Change-Id: Ib326631243cd267cc6542fdfc769cc5a3d6b67fe Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2023-04-27kuksa-val: Rework to support updated SSL certificatesScott Murray12-153/+339
Changes: - Tweak the kuksa-val recipe to remove installing a newer server certificate (since it will be done elsewhere), and to split the certificates up into finer grained packages to ease installing them piecemeal and replacing them with other packages. - Remove the unused genCerts.sh certificate script patch form the kuksa-val recipe, an updated patch will be added in the near future. - Added a patch in the kuksa-viss-client recipe that enables the library to use certificates installed in /etc/kuksa-certificates or /etc/kuksa-val instead of the default ones that are shipped. - Add kuksa-certificates-agl recipe that installs AGL specific CA, server, and client certificates plus the required server and client keys to act as a replacement for the default ones shipped with KUKSA.val. The kuksa-certificates-agl name is used to avoid needing a rename with a future switch to kuksa-databroker. Note that the RPROVIDES variable is used for the various certificate packages to make them installable alternatives to the kuksa-val-certificates-* ones. The certificates installed are valid for 1 year and have AGL as the providing organization, longer validity ones will be added in follow up commits for Octopus and Pike. - Update the existing users of kuksa-val-*-certificates with the new kuksa-val-certificates-* package names. - Add PREFERRED_RPROVIDER definitions for the kuksa-val-certificates-* packages to quiet the BitBake warnings coming from having multiple providers. Bug-AGL: SPEC-4763 Change-Id: Ic6f1ca8b54f637674cd5ae42df0bed6ca4e729aa Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2023-03-31Rework nss-agl-driver-db to be a systemd unit at runtimeJan-Simon Moeller1-7/+2
This avoids the issues seen with access rights changes on /home/agl-driver and will replace https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/28587 Bug-AGL: SPEC-4599 Change-Id: If01ffc9623208edd7a7705739465fa8fca764b74 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-03-29Fix for user and group of /home/agl-driverJan-Simon Moeller1-1/+1
The private nssdb introduced wrong access rights for /home/agl-driver through the package. Fix it till we have it reworked. Bug-AGL: SPEC-4599 Change-Id: I665b51f8473f64785c64c55359b5e0e702050e9a Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-03-23kuksa-val: Add root CA certificate to agl-driver nssdbRoger Zanoni1-2/+7
This change is needed by chromium to fix the ERR_CERT_AUTHORITY_INVALID issued when trying to connect to kuksa.val server using a secure connection. chromium is shipped with a read-only database containing trusted CA certs and also uses a local nss database (stored on the user home directory) that can be managed by the nss command line tools. This change adds the kuksa root CA to agl-driver's nssdb that can be loaded by chromium and used to perform validation. v2 (jsmoeller): Use separate package for pki db in agl-driver home. Bug-AGL: SPEC-4599 Signed-off-by: Roger Zanoni <rzanoni@igalia.com> Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I074d48fedfadaddd9a894b478839e16fa4757b5e
2023-03-01kuksa-val: Add patch to fix intermittent build failuresScott Murray2-1/+35
Add a patch to KUKSA.val to add a missing dependency in its CMake files to hopefully fix a build race that is seen on the AGL CI builders. Bug-AGL: SPEC-4717 Change-Id: I74f71236729e60ad0601fb1244b50279b2fc43e7 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2022-12-10Remove demo sllin configurationScott Murray3-67/+0
Remove recipes providing sllin configuration for the full demo, as all LIN usage is being replaced with CAN. The recipes for the sllin driver and associated lin_config utility are kept for now in case there are external uses. Bug-AGL: SPEC-4635 Change-Id: I67b7acf5a8c3801cb1890ee27486080255252385 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2022-10-18kuksa-val: Upgrade to latestScott Murray16-462/+476
Changes: - Upgrade kuksa-val and kuksa-viss-client to a commit that includes the 0.2.5 release tag and some fixes past it. The patches for each have been updated against the newer version, with backported ones dropped. - The affected recipes have been updated to include some new gRPC tooling dependencies, and a recipe for a new jsonpath-ng dependency has been added. - Rework the kuksa-dbc-feeder recipe for the splitting out of the example feeders from the main kuksa-val repository. - Rework our local kuksa-dbc-feeder patches against the newer version, as upstream has made several improvements. Also drop the duplicate filtering feature patch, as it seems likely we will not need it going forward. - Update the kuksa-dbc-feeder configuration files to work with the new version. Notable is a change in the engine speed signal naming in VSS 3.0, which is the new default for VSS schema. - The kuksa-val and kuksa-val-feeders trees have changed their licensing from EPL-1.0 to Apache-2.0, update the recipes accordingly. Bug-AGL: SPEC-4587 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ibc990767219f79af95929e86361e66beda2d0c9e
2022-09-21kuksa-viss-client: add patch to fix command-line toolScott Murray2-1/+107
Add a patch for kuksa-viss-client to fix the cmd2 Python module usage to work with newer versions of cmd2. Bug-AGL: SPEC-4552 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I7599f2e07b4ad3d57796a06677d5fda170240229
2022-09-20kuksa-viss-client: add Python 3.10 support patchScott Murray3-37/+58
Add backported patch from upstream to support latest Python 3.10.x in the kuksa-viss-client recipe, replacing my previous local change which no longer seems sufficient with 3.10.4. Bug-AGL: SPEC-4566 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ibeddb507b620d6700f807c92f77d7ee392e6014a
2022-07-13kuksa-val: add regenerated server certificateneedlefish_13.91.0needlefish/13.91.013.91.0Scott Murray4-0/+128
After fixing the issue with the SSL context purpose in the Python client library, client connections were still failing with the error: certificate verify failed: IP address mismatch, certificate is not valid for localhost To fix this, the certificate generation script has been patched to create the now required Subject Alt Name extension field, as that has effectively replaced using the CN field in most SSL implementations. Replacement Server.key and Server.pem files generated with the updated script have been added to give us a working configuration while this is worked with upstream so their default configuration is usable with newer Python + OpenSSL versions. Bug-AGL: SPEC-4467 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I9e8374fbbef6e8570b16d87f4e1800ceba8aacad
2022-07-13kuksa-viss-client: add patch to fix SSL context creationScott Murray2-0/+38
Add a patch that fixes the context purpose in the SSL context creation done for the client connection. On a client, the purpose needs to be set to server authentication to make newer versions of Python happy. Bug-AGL: SPEC-4467 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ide640a79f450fd2c1b5c2cda847932b2fd4e35c7
2022-07-06Update demo KUKSA.val configurationScott Murray4-75/+266
In practice mapping multiple CAN signals from the LIN polling to a smaller number of VIS signals does not work well with the behavior of the CAN feeder from KUKSA.val when testing on the actual demo hardware. To improve the behavior: - update the VSS schema overlay and DBC feeder mapping configuration to use new AGL custom steering wheel switch signals instead of the previous signals and mappings. - add a patch to the DBC feeder to add a per-target duplicate signal filtering option, and enable it for all the steering wheel signals in the mapping configuration. The DBC feeder performance issues stemming from synchronous VIS server updates will be discussed with upstream, but these changes should yield behavior similar to the previous combination of the low-can and signal-composer bindings. With respect to the switch signals, this should be revisited if implementing a custom LIN signal feeder becomes an option, as overall it would be better to leverage the standard VSS schema signals if possible. Bug-AGL: SPEC-4405 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ifd62161f18303717ee279e23f46000324ab77dbc
2022-07-06Add demo specific KUKSA.val configurationScott Murray6-1/+134
Add kuksa-val-agl and kuksa-val-agl-demo-cluster recipes that install extra configuration for KUKSA.val for the AGL demo platform. Changes: - Add kuksa-val-agl recipe to install AGL specific signals overlay and uses a new environment variable hook in the kuksa-val systemd unit to pass the required --overlays option to pick it up. - Add kuksa-val-agl-demo-cluster recipe to install cluster support specific kuksa-val environment file that makes kuksa-val-server listen on all addresses. This is hopefully a stop gap approach for the cluster demo until support for listening on multiple addresses is added upstream. - Add kuksa-val-agl to packagegroup-agl-ivi-services to enable the AGL specific signals in the demo images. - Add kuksa-val-agl-demo-cluster to packagegroup-agl-demo-cluster-support to pick it up when the agl-demo-cluster-support feature is used to build an image for the full AGL demo setup. Bug-AGL: SPEC-4405 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I41e90829a40aebf7f29e7719334f37d639542e07
2022-07-06kuksa-val: split client certificates into a separate packageScott Murray1-1/+13
Split the certificates required by clients (so client and CA) into a separate kuksa-val-client-certificates package so that they can be reused in the cluster demo image without having the full KUKSA.val server installed. Bug-AGL: SPEC-4405 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I6b78b212ead395c8f731eab40ef0525a515bdb7c
2022-07-06kuksa-dbc-feeder-sllin: add recipeScott Murray5-0/+147
Add kuksa-dbc-feeder-sllin recipe to install systemd unit and configuration file to run a second copy of the KUKSA.val DBC feeder against the demo setup's sllin0 interface. The systemd unit will bring up the sllin0 interface by a call to the can-dev-helper.sh script if run on hardware that lacks the LIN adapter. Additionally, the DBC feeder mapping configuration has been updated with the mappings for the steering wheel LIN events, and kuksa-dbc-feeder-sllin has been added to the agl-demo-preload packagegroup for the full AGL demo setup. Bug-AGL: SPEC-4405 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ief38c4dcccda899cdef24881b292928e607dda14
2022-07-06kuksa-dbc-feeder: update AGL vcar DBC fileScott Murray1-18/+18
The initial check-in of agl-vcar.dbc used with the kuksa-dbc-feeder recipe was a version with the steering wheel events incorrectly defined, update it with a corrected copy. Bug-AGL: SPEC-4405 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I5c84d381c2652a1b5e9f06614f52c6d02b1998c0
2022-07-06kuksa-dbc-feeder: add recipe and dependenciesScott Murray12-0/+505
Add a kuksa-dbc-feeder recipe to build the sample CAN feeder for the KUKSA.val Vehicle Information Service (VIS) server and add it to the agl-demo-platform image by adding it to packagegroup-agl-ivi-services. Local patches are applied to enable building with OpenEmbedded, make installation into standard Linux FHS locations feasible, and improve usability on target with respect to logging and error handling. These will be discussed with upstream to hopefully get them integrated. Additional changes: - Add a recipe for the required kuksa-viss-client Python module included with the KUKSA.val source tree. The module is also available via pypi.org, but keeping all the pieces in lockstep for now seems better, so it is built out of a clone of the kuksa.val repo using the same SRCREV as the server and kuksa-dbc-feeder. - Add new recipes for required Python modules: python3-argparse-addons, python3-can-j1939, python3-py-expression-eval, python3-setuptools-git-versioning These will be upstreamed to meta-python as time permits. - Add bbappend for python3-cantools to add a missing runtime dependencies discovered during testing. This will be addressed upstream in meta-python as time permits. - Add minimal DBC file and mapping configuration. At present the agl-vcar.dbc file only contains the minimum message definitions known to be required for the AGL demo platform, namely vehicle and engine speeds and the steering wheel events. - Add can-dev-helper recipe to install a systemd unit and script to ensure a CAN interface is available for testing. This is a tweaked version of what was previously used with agl-service-can-low-level. Bug-AGL: SPEC-4405 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ic48ea71761fe3767ca3c1711c60b47e0d329d9e7
2022-07-04kuksa-val: add recipeScott Murray7-0/+447
Add a kuksa-val recipe to build the current post-0.2.1 release HEAD of the Eclipse KUKSA.val Vehicle Information Service (VIS) server, and add it to the agl-demo-platform image by adding it to packagegroup-agl-ivi-services. Several local patches are applied to enable building with OpenEmbedded and make installation into standard Linux FHS locations feasible. These will be discussed with upstream to hopefully get them integrated. Additionally, meta-networking has been added as a layer dependency in the agl-demo feature template. This is required due to kuksa-val currently having mosquitto as a non-optional dependency. Bug-AGL: SPEC-4405 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I1a2d9e9b49d5c8ad11821b89288d2dc9895d15ae