From 8d3e2e1610ddd72c83631bc1afdb3c2a08a01612 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Fri, 25 Aug 2023 16:13:48 -0400 Subject: Switch Qt demo to KUKSA.val databroker 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 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 --- .../kuksa-val/kuksa-certificates-agl.bb | 2 +- .../kuksa-val/kuksa-databroker-agl-demo-cluster.bb | 22 ++++++++++++++++++++++ .../kuksa-databroker.env | 1 + .../kuksa-val/kuksa-dbc-feeder/config.ini | 6 +++--- .../kuksa-val/kuksa-dbc-feeder/dbc_feeder.token | 1 + .../kuksa-dbc-feeder/kuksa-dbc-feeder.service | 4 ++-- .../kuksa-val/kuksa-dbc-feeder_git.bb | 4 ++-- .../kuksa-val/kuksa-val-agl-demo-cluster.bb | 2 +- 8 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster.bb create mode 100644 recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster/kuksa-databroker.env create mode 100644 recipes-connectivity/kuksa-val/kuksa-dbc-feeder/dbc_feeder.token (limited to 'recipes-connectivity/kuksa-val') diff --git a/recipes-connectivity/kuksa-val/kuksa-certificates-agl.bb b/recipes-connectivity/kuksa-val/kuksa-certificates-agl.bb index 7caa2ebf2..870d2e398 100644 --- a/recipes-connectivity/kuksa-val/kuksa-certificates-agl.bb +++ b/recipes-connectivity/kuksa-val/kuksa-certificates-agl.bb @@ -55,4 +55,4 @@ RDEPENDS:${PN}-client += "${PN}-ca" ALLOW_EMPTY:${PN} = "1" -RDEPENDS:${PN} += "kuksa-val ${PN}-ca ${PN}-server ${PN}-client" +RDEPENDS:${PN} += "${PN}-ca ${PN}-server ${PN}-client" diff --git a/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster.bb b/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster.bb new file mode 100644 index 000000000..36b77dbcc --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster.bb @@ -0,0 +1,22 @@ +SUMMARY = "AGL cluster demo configuration for KUKSA.val databroker" +HOMEPAGE = "https://github.com/eclipse/kuksa.val" +BUGTRACKER = "https://github.com/eclipse/kuksa.val/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://kuksa-databroker.env" + +inherit allarch update-alternatives + +do_install() { + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/kuksa-databroker.env ${D}${sysconfdir}/default/kuksa-databroker.agl-demo-cluster-support +} + +ALTERNATIVE:${PN} = "kuksa-databroker-env" +ALTERNATIVE_LINK_NAME[kuksa-databroker-env] = "${sysconfdir}/default/kuksa-databroker" +ALTERNATIVE_TARGET[kuksa-databroker-env] = "${sysconfdir}/default/kuksa-databroker.agl-demo-cluster-support" +ALTERNATIVE_PRIORITY[kuksa-databroker-env] = "20" + +RDEPENDS:${PN} += "kuksa-certificates-agl-ca" diff --git a/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster/kuksa-databroker.env b/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster/kuksa-databroker.env new file mode 100644 index 000000000..47788338d --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-databroker-agl-demo-cluster/kuksa-databroker.env @@ -0,0 +1 @@ +EXTRA_ARGS="--vss /usr/share/vss/vss.json --tls-cert /etc/kuksa-val/Server.pem --tls-private-key /etc/kuksa-val/Server.key --jwt-public-key /etc/kuksa-val/jwt.key.pub --address 0.0.0.0" diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/config.ini b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/config.ini index 580d02d67..378a3437e 100644 --- a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/config.ini +++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/config.ini @@ -1,7 +1,7 @@ [general] # server type: # switch between kuksa_databroker and kuksa_val_server -server_type = kuksa_val_server +server_type = kuksa_databroker # VSS mapping file mapping = /usr/share/vss/vss.json @@ -9,7 +9,7 @@ mapping = /usr/share/vss/vss.json ip = localhost # Port for server (KUKSA.val Server or Databroker) -port = 8090 +port = 55555 # Shall TLS be used (default False for Databroker, True for KUKSA.val Server) tls = True @@ -19,7 +19,7 @@ tls = True root_ca_path=/etc/kuksa-val/CA.pem # Token file for authorization. -token = /etc/kuksa-dbc-feeder/dbc_feeder.json.token +token = /etc/kuksa-dbc-feeder/dbc_feeder.token [can] # CAN port diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/dbc_feeder.token b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/dbc_feeder.token new file mode 100644 index 000000000..8ce854f34 --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/dbc_feeder.token @@ -0,0 +1 @@ +eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE3NjcyMjU1OTksInNjb3BlIjoicHJvdmlkZSJ9.OJWzTvDjcmeWyg3vmBR5TEtqYaHq8HrpFLlTKZAfDBAQBUHpyUEboJ97jfWuWgBnTpnfboyfAbwvLqo6bEVZ6tXzF8n9LtW6HmPbIWoDqXuobM2grUCVaGKuOcnCpMCQYChziqHbYwRJYP9nkYgbQU1kE4dN7880Io4xzq0GEbWksB2CVpOoExQUmCZpCohPs-XEkdmXhcUKnWnOeiSsRGKusx987vpY_WOXh6WE7DfJgzAgpPDo33qI7zQuTzUILORQsiHmsrQO0-zcvokNjaQUzlt5ETZ7MQLCtiUQaN0NMbDMCWkmSfNvZ5hKCNbfr2FaiMzrGBOQdvQiFo-DqZKGNweaGpufYXuaKfn3SXKoDr8u1xDE5oKgWMjxDR9pQYGzIF5bDXITSywCm4kN5DIn7e2_Ga28h3rBl0t0ZT0cwlszftQRueDTFcMns1u9PEDOqf7fRrhjq3zqpxuMAoRANVd2z237eBsS0AvdSIxL52N4xO8P_h93NN8Vaum28fTPxzm8p9WlQh4mgUelggtT415hLcxizx15ARIRG0RiW91Pglzt4WRtXHnsg93Ixd3yXXzZ2i4Y0hqhj_L12SsXunK2VxKup2sFCQz6wM-t_7ADmNYcs80idzsadY8rYKDV8N1WqOOd4ANG_nzWa86Tyu6wAwhDVag5nbFmLZQ \ No newline at end of file diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/kuksa-dbc-feeder.service b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/kuksa-dbc-feeder.service index dfcbb4df8..a30018c6f 100644 --- a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/kuksa-dbc-feeder.service +++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/kuksa-dbc-feeder.service @@ -1,7 +1,7 @@ [Unit] Description=Eclipse KUKSA.val DBC feeder -Requires=kuksa-val.service can-dev-helper.service -After=kuksa-val.service can-dev-helper.service +Requires=kuksa-databroker.service can-dev-helper.service +After=kuksa-databroker.service can-dev-helper.service [Service] ExecStart=/usr/bin/dbcfeeder.py diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder_git.bb b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder_git.bb index e1e853f4e..809152bb0 100644 --- a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder_git.bb +++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder_git.bb @@ -14,7 +14,7 @@ SRC_URI = "git://github.com/eclipse/kuksa.val.feeders.git;protocol=https;branch= file://0002-dbc2val-usability-improvements.patch \ file://0003-dbc2val-fix-token-file-configuration-option.patch \ file://config.ini \ - file://dbc_feeder.json.token \ + file://dbc_feeder.token \ file://agl-vcar.dbc \ file://kuksa-dbc-feeder.service \ " @@ -34,7 +34,7 @@ do_install:append() { # Token should ideally not be readable by other users. # The potential for running the feeder as non-root will take some # investigation. - install -m 0600 ${WORKDIR}/dbc_feeder.json.token ${D}${sysconfdir}/kuksa-dbc-feeder/ + install -m 0600 ${WORKDIR}/dbc_feeder.token ${D}${sysconfdir}/kuksa-dbc-feeder/ install -m 0644 ${WORKDIR}/agl-vcar.dbc ${D}${sysconfdir}/kuksa-dbc-feeder/ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${systemd_system_unitdir} diff --git a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb b/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb index 1f1a6411f..17e9e3c9c 100644 --- a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb +++ b/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb @@ -19,4 +19,4 @@ ALTERNATIVE_LINK_NAME[kuksa-val-env] = "${sysconfdir}/default/kuksa-val" ALTERNATIVE_TARGET[kuksa-val-env] = "${sysconfdir}/default/kuksa-val.agl-demo-cluster-support" ALTERNATIVE_PRIORITY[kuksa-val-env] = "20" -RDEPENDS:${PN} += "kuksa-val" +RDEPENDS:${PN} += "kuksa-certificates-agl-client" -- cgit 1.2.3-korg