Skip to content
This repository has been archived by the owner on Sep 2, 2024. It is now read-only.

Release Testing

Erik Jaegervall edited this page Feb 1, 2024 · 9 revisions

Release testing is done for components in status Beta/production/stable/mature at https://github.com/eclipse/kuksa.val/wiki/KUKSA.val-Component-Maturity.

Note: Please see following links for moved instructions

Prerequisites

  • Kuksa-client PyPI package released
  • All feeders/providers updates to use new kuksa-client release
  • Running latest released Broker/Server as needed

Databroker (TLS; Token)

erik@debian3:~/kuksa.val/kuksa_databroker$ cargo run --bin databroker -- --metadata ../data/vss-core/vss_release_4.0.json --tls-cert ../kuksa_certificates/Server.pem --tls-private-key ../kuksa_certificates/Server.key --jwt-public-key ../kuksa_certificates/jwt/jwt.key.pub

GPS

See smoke test at https://github.com/eclipse/kuksa.val/wiki/Release-Testing

CSV

CSV provider does not support authentication

Databroker (TLS; no token)

erik@debian3:~/kuksa.val/kuksa_databroker$ cargo run --bin databroker -- --metadata ../data/vss-core/vss_release_4.0.json --tls-cert ../kuksa_certificates/Server.pem --tls-private-key ../kuksa_certificates/Server.key

CSV Provider

Run and expect something like below

erik@debian3:~/kuksa.val.feeders/csv_provider$ python provider.py --cacertificate /home/erik/kuksa.val/kuksa_certificates/CA.pem --tls-server-name Server
INFO:kuksa_client.grpc:Using TLS with Root CA from /home/erik/kuksa.val/kuksa_certificates/CA.pem
INFO:kuksa_client.grpc:No client certificates provided, mutual TLS not supported!
INFO:kuksa_client.grpc.aio:Establishing secure channel
INFO:kuksa_client.grpc.aio:Using TLS server name Server
INFO:root:Starting to apply the signals read from signals.csv.
INFO:root:Update target value of Vehicle.Chassis.ParkingBrake.IsEngaged to false
INFO:root:Update current value of Vehicle.Chassis.ParkingBrake.IsEngaged to true
INFO:root:Update current value of Vehicle.Speed to 27
INFO:root:Update current value of Vehicle.Speed to 48
INFO:root:Update current value of Vehicle.Speed to 24

DDS-provider

Test basically as described in https://github.com/eclipse/kuksa.val.feeders/blob/main/dds2val/README.md

Start KML Replay. Start DDS Feeder

erik@debian3:~/kuksa.val.feeders/dds2val$ VDB_ROOT_CA_PATH=/home/erik/kuksa.val/kuksa_certificates/CA.pem VDB_TLS_SERVER_NAME=Server python3 ddsprovider.py

Verify with client that latitude updates frequently

Test Client> getValue Vehicle.CurrentLocation.Latitude
{
    "path": "Vehicle.CurrentLocation.Latitude",
    "value": {
        "value": 9.90499,
        "timestamp": "2023-07-26T11:42:48.513418+00:00"
    }
}

Server (TLS, Token)

handled by smoke test at https://github.com/eclipse/kuksa.val/wiki/Release-Testing

Docker

This shall preferably be testes twice, first with local builds, then with official ones!

GPS

erik@debian3:~/kuksa.val.feeders/gps2val$ docker run -it -p 2948:2948/udp --net=host -v /home/erik/kuksa.val/kuksa_certificates/:/cert ghcr.io/eclipse/kuksa.val.feeders/gps:0.4 --port 55555 --protocol grpc --ip 127.0.0.1 --cacertificate /cert/CA.pem --tls-server-name Server

or with port 2949

docker run -it -p 2949:2949/udp --net=host -v /home/erik/kuksa.val/kuksa_certificates/:/cert gpsd_feeder --port 55555 --protocol grpc --ip 127.0.0.1 --cacertificate /cert/CA.pem --tls-server-name Server --gpsd_port 2949

In general, if you see something like:

2023-12-14 08:01:28,291 INFO gpsfeeder: Number of VSS messages sent so far: 1
2023-12-14 08:01:28,315 INFO gpsfeeder: Number of VSS messages sent so far: 2
2023-12-14 08:01:29,355 INFO gpsfeeder: Number of VSS messages sent so far: 4
2023-12-14 08:01:29,438 INFO gpsfeeder: Number of VSS messages sent so far: 8
2023-12-14 08:01:30,714 INFO gpsfeeder: Number of VSS messages sent so far: 16
2023-12-14 08:01:33,085 INFO gpsfeeder: Number of VSS messages sent so far: 32

... then life is fine!

SOMEIP

Alpha component, so we just test that it complains in an ordered fashion. No good test description exists

erik@debian3:~/kuksa.val.feeders/gps2val$ docker run -it --net=host ghcr.io/eclipse/kuksa.val.feeders/someip-feeder:0.4
...
2023-06-28 12:18:06.169767 [info] SOME/IP routing ready.
# ActuatorSubscriber::Run: [info] Not connected
# ActuatorSubscriber::Run: [info] Not connected
# DataBrokerFeeder::Run: [info] Connecting to data broker [localhost:55555] ...
# ActuatorSubscriber::Run: [info] Not connected
...