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

Commit

Permalink
Main README updated with VSS 4.0 status
Browse files Browse the repository at this point in the history
- some megalinter suggestions applied
- fixed pip3 install usage

Signed-off-by: Ivan Kirchev <Ivan.Kirchev@bosch.com>
  • Loading branch information
int0x27 committed Nov 7, 2023
1 parent 7bc68d2 commit 86802f9
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 28 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/scripts/install-ci-tooling.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,28 @@ sudo apt-get -qqy update &&
sudo apt-get -qqy install --no-install-recommends apt-utils software-properties-common sudo curl

# Install dev utilities
sudo apt-get -qqy install git doxygen can-utils python3
sudo apt-get -qqy install --no-install-recommends git doxygen can-utils python3

# Install build tools
sudo apt-get -qqy install \
sudo apt-get -qqy install --no-install-recommends \
cmake \
make

# compilers
# compiler version must be sync with conan build profile
sudo apt-get -qqy install \
sudo apt-get -qqy install --no-install-recommends \
g++ \
g++-aarch64-linux-gnu

sudo apt-get -qqy install \
sudo apt-get -qqy install --no-install-recommends \
lcov \
gcovr \
clang-format \
cppcheck \
valgrind

# Install PIP
[ -z "$(which pip3)" ] && sudo apt-get -qqy install --fix-missing python3-pip
[ -z "$(which pip3)" ] && sudo apt-get -qqy install --no-install-recommends --fix-missing python3-pip

# conan: dependency management
# - conan needed > 1.43 for gtest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/seat_service_seatctrl_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:

- name: cobertura-report
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
uses: 5monkeys/cobertura-action@v13
uses: 5monkeys/cobertura-action@18d911b62098eafd8b9db93d6c74194556cc3515
with:
path: ${{github.workspace}}/seat_service/build_seat_controller/x86_64/report_codecov_vservice-seat-ctrl.xml
repo_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
41 changes: 29 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
- [Contribution](#contribution)
- [Build Seat Service Containers](#build-seat-service-containers)
- [Running Seat Service / Data Broker Containers](#running-seat-service--data-broker-containers)
- [KUKSA.val and VSS version dependency](#kuksaval-and-vss-version-dependency)
- [Known locations where an explicit VSS or KUKSA.val version is mentioned](#known-locations-where-an-explicit-vss-or-kuksaval-version-is-mentioned)

## Overview

Expand Down Expand Up @@ -133,25 +135,40 @@ Some code in the repository (like [Proto](https://github.com/eclipse/kuksa.val.s
have been copied from [KUKSA.val](https://github.com/eclipse/kuksa.val).
This means that regressions may occur when KUKSA.val or KUKSA.val Feeders are updated. The intention for other KUKSA.val
repositories is to use the latest official VSS release as default.
repositories is to use the latest official VSS release as default. There is a script for manual updating of KUKSA.val proto files:
[update-protobuf.sh](./integration_test/update-protobuf.sh).
As of today the services are based on using VSS 3.X. As part of VSS 4.0 the instance scheme for seat positions was
changed to be based on DriverSide/Middle/PassengerSide rather than Pos1, Pos2, Pos3.
This means a refactoring would be required to update to VSS 4.0.
```bash
cd integration_test/
./update-protobuf.sh --force
```
Seat Service currently supports 2 modes: (VSS 3.X and 4.0).
As part of VSS 4.0 the instance scheme for seat positions was changed to be based on
`DriverSide/Middle/PassengerSide` rather than `Pos1, Pos2, Pos3`.
By default Seat Service uses VSS 4.0 seat position, but for older dependencies it can be changed to
VSS 3.X compatible by setting Environment variable `VSS=3` for seat service container / cmdline.
### Known locations where an explicit VSS or KUKSA.val version is mentioned
- In [integration_test.yml](./.github/workflows/integration_test.yml)
Uncomment the following line to force VSS 3.X version support in databroker.
`# KDB_OPT: "--vss vss_release_3.1.1.json"`
- In [run-databroker.sh](./.vscode/scripts/run-databroker.sh)
The script gets both VSS3 and 4 json files from KUKSA.val master and starts databroker with the correct version, based on environment variable `USE_VSS3=1`:
In [integration_test.yml](https://github.com/eclipse/kuksa.val.services/blob/main/.github/workflows/integration_test.yml)
it is hardcoded which VSS version to use when starting Databroker.
```bash
wget -q "https://raw.githubusercontent.com/eclipse/kuksa.val/master/data/vss-core/vss_release_3.0.json" -O "$DATABROKER_BINARY_PATH/vss3.json"
wget -q "https://raw.githubusercontent.com/eclipse/kuksa.val/master/data/vss-core/vss_release_4.0.json" -O "$DATABROKER_BINARY_PATH/vss4.json"
```
`KDB_OPT: "--vss vss_release_3.1.1.json"`
- In [prerequisite_settings.json](./prerequisite_settings.json)
hardcoded versions are mentioned for KUKSA.val Databroker, KUKSA.val DBC Feeder and KUKSA.val Client.
In [run-databroker.sh](https://github.com/eclipse/kuksa.val.services/blob/main/.vscode/scripts/run-databroker.sh)
it is hardcoded to use VSS 3.0.
- In [test_val_seat.py](./integration_test/test_val_seat.py). Tests for proper seat position datapoint, according to environment variable `USE_VSS3`.
`wget -q "https://raw.githubusercontent.com/eclipse/kuksa.val/master/data/vss-core/vss_release_3.0.json" -O "$DATABROKER_BINARY_PATH/vss.json"`
- In Seat Service [main.cc](./seat_service/src/bin/seat_service/main.cc): 2 different Datapoint sets are registered, based on environment variable `VSS` (`3` or `4`).
In [prerequisite_settings.json](https://github.com/eclipse/kuksa.val.services/blob/main/prerequisite_settings.json)
hardcoded versions are mentioned for KUKSA.val Databroker, KUKSA.val DBC Feeder and KUKSA.val Client.
**NOTE:** Above mentioned locations should be checked for breaking VSS changes on master.
19 changes: 9 additions & 10 deletions tools/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -39,22 +39,22 @@ RUN \
RUN apt-get upgrade -y

# Install dev utilities
RUN apt-get -qqy install \
RUN apt-get -qqy install --no-install-recommends \
git \
doxygen \
can-utils

# Install build tools
RUN apt-get -qqy install \
RUN apt-get -qqy install --no-install-recommends \
cmake make ccache

# compilers
# compiler version must be sync with conan build profile
RUN apt-get -qqy install \
RUN apt-get -qqy install --no-install-recommends \
g++ \
g++-aarch64-linux-gnu

RUN apt-get -qqy install \
RUN apt-get -qqy install --no-install-recommends \
lcov \
gcovr \
clang-format \
Expand All @@ -74,18 +74,17 @@ RUN pip3 install --upgrade pip setuptools
# cantools: code generation from .dbc file
RUN pip3 install \
'conan==1.56.0' \
'cantools==37.0.1'
'cantools==37.0.1' \
'setuptools==68.2.2'

# Install Rust tools and prerequists needed for the databroker
RUN apt-get -y install \
curl jq
# RUN apt-get -y install --no-install-recommends curl jq
# RUN curl https://sh.rustup.rs -sSf | sh -s -- --profile default --default-toolchain 1.60 -y

# Install python tools and prerequists needed for all python using subfolders
COPY hvac_service/requirements-dev.txt hvac_service/requirements-dev.txt
COPY integration_test/requirements-dev.txt integration_test/requirements-dev.txt
RUN pip3 install \
-r hvac_service/requirements-dev.txt \
-r integration_test/requirements-dev.txt
RUN pip3 install -U -r hvac_service/requirements-dev.txt
RUN pip3 install -U -r integration_test/requirements-dev.txt

WORKDIR /workspace

0 comments on commit 86802f9

Please sign in to comment.