-
Notifications
You must be signed in to change notification settings - Fork 10
Release Testing
Copied from kuksa.val.feeders, not all parts may be updated!
Release testing is done for components in status Beta/production/stable/mature at https://github.com/eclipse/kuksa.val/wiki/KUKSA.val-Component-Maturity.
- Kuksa-client PyPI package released
- All feeders/providers updates to use new kuksa-client release
- Running latest released Broker/Server as needed
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
Change config (assuming you have kuksa.val in parallel)
tls = True
tls_server_name=localhost
token=../kuksa.val/jwt/provide-all.token
root_ca_path=../kuksa.val/kuksa_certificates/CA.pem
If you instead have kuksa-common:
tls = True
tls_server_name=localhost
token=../kuksa-common/jwt/provide-all.token
root_ca_path=../kuksa-common/tls/CA.pem
Run and check that no errors are reported
erik@debian3:~/kuksa.val.feeders/dbc2val$ ./dbcfeeder.py
2023-07-26 11:27:56,387 INFO dbcfeeder: Using config: config/dbc_feeder.ini
2023-07-26 11:27:56,388 INFO dbcfeeder: Given root CA path: ../../kuksa.val/kuksa_certificates/CA.pem
2023-07-26 11:27:56,388 INFO dbcfeeder: Given TLS server name: localhost
2023-07-26 11:27:56,388 INFO dbcfeeder: Given token information: ../../kuksa.val/jwt/provide-all.token
2023-07-26 11:27:56,388 INFO dbcfeeder: DBC2VAL mode is: True
2023-07-26 11:27:56,388 INFO dbcfeeder: VAL2DBC mode is: False
...
2023-07-26 11:27:56,909 INFO dbcfeeder: Starting to process CAN signals
2023-07-26 11:27:56,914 INFO dbcfeeder: Number of VSS messages sent so far: 1, queue max size: 8
2023-07-26 11:27:56,920 INFO dbcfeeder: Number of VSS messages sent so far: 2, queue max size: 8
...
Keep broker running. Start dbcfeeder with changed config like above
erik@debian3:~/kuksa.va
erik@debian3:~/kuksa.val.feeders/dbc2val$ ./dbcfeeder.py --val2dbc --dbc2val --use-socketcan
If failures, make sure net-tools
is installed
erik@debian3:~/kuksa.val.feeders/dbc2val$ sudo apt install net-tools
Test with client, possibly like here using installed kuksa-client
erik@debian3:~$ kuksa-client grpcs://127.0.0.1:55555 --cacertificate ../kuksa.val/kuksa_certificates/CA.pem --tls-server-name Server
Welcome to Kuksa Client version 0.4.0
...
Secure gRPC channel connected.
Test Client> authorize kuksa.val/jwt/actuate-provide-all.token
"Authenticated"
Test Client> setTargetValue Vehicle.Body.Mirrors.DriverSide.Pan 81
OK
Test Client> getValue Vehicle.Body.Mirrors.DriverSide.Pan
{
"path": "Vehicle.Body.Mirrors.DriverSide.Pan",
"value": {
"value": 80,
"timestamp": "2023-07-26T11:16:13.981634+00:00"
}
}
Test Client>
handled by smoke test at https://github.com/eclipse/kuksa.val/wiki/Release-Testing
This shall preferably be tested twice, first with local builds, then with official ones!
Build a local docker:
docker build -f Dockerfile --progress=plain --build-arg TARGETPLATFORM=linux/amd64 -t can-provider:latest .
Start KUKSA Databroker with TLS/Token. Edit dbcfeeder config like this (or create a copy first)
(Yes, we might have been able to use some default ones existing embedded in kuksa-client for historical reasons, but that is not so interesting)
port = 55555
tls = True
root_ca_path=/cert/CA.pem
tls_server_name=localhost
token=/jwt/provide-all.token
Then run something like:
Local docker built as above
erik@debian3:~/vehicle_signal_specification$ docker run --net=host -e LOG_LEVEL=INFO -v /home/erik/kuksa.val/jwt:/jwt -v /home/erik/kuksa.val/kuksa_certificates:/cert -v /home/erik/kuksa.val.feeders/dbc2val/config:/config can-provider:latest --config /config/dbc_feeder_docker.ini
Latest main
erik@debian3:~/vehicle_signal_specification$ docker run --net=host -e LOG_LEVEL=INFO -v /home/erik/kuksa.val/jwt:/jwt -v /home/erik/kuksa.val/kuksa_certificates:/cert -v /home/erik/kuksa.val.feeders/dbc2val/config:/config ghcr.io/eclipse-kuksa/kuksa-can-provider/can-provider:main --config /config/dbc_feeder_docker.ini