Expert interview

Integrate with CI pipeline

Case study with Johannes Foufas, Lead Architecture Software at Volvo Cars. Discover why Volvo Cars chose Zuul for their CI pipeline and how RemotiveTopology provides different development teams with a flexible vehicle mocking setup that supports left-shifting ambitions.

November 25, 2024
RemotiveLabs
Vehicle virtualization

Share

Why integrate RemotiveTopology with your CI processes?

RemotiveTopology is a newly launched product that seamlessly integrates with any CI pipeline, enabling efficient testing and collaboration across distributed teams. In this case study, Johannes Foufas, Lead Architecture Software at Volvo Cars, offers an in-depth look at their CI pipeline strategy and steps taken to set developers up for success. Learn how developers collaborate efficiently and reuse test cases throughout the different development phases.

Challenge: Ability to create and run relevant tests for a distributed system early

Volvo Cars recently launched a ‘golden path’ initiative to select key tools that increase efficiency while reducing DevOps overhead. Johannes Foufas provides insights: “For our CI pipeline we chose Zuul because we needed a solution that could handle not only the volume but also the complexity of distributed teams with +1000 developers and hundreds of repositories. The built-in gating system of Zuul was a key functionality for us to ensure code integrity. Further, we are inclined to choose Open Source when applicable as we want to contribute to that community”. 

Automotive engineers need a unified and flexible way to test Electronic Control Units (ECUs), both as individual components and as parts of a larger distributed system. Teams focusing on one or two compute nodes/ECUs often rely on 15–20 other nodes to create valuable tests. The missing parts need to be mocked, which was previously done using an internally developed solution that proved to be too difficult to scale and maintain. Johannes Foufas, Lead Architecture Software at Volvo Cars explains: “Developers created their mocks to simulate dependencies, but the tests didn’t work higher up in the hierarchy and couldn’t be reused by other teams”.

Solution: Integrate RemotiveLabs with Volvo Cars CI pipeline

There are two key reasons why RemotiveTopology has been identified as part of Volvo Cars golden path for developers:

  • Using the databases (with for example LIN, CAN or SOME/IP definitions) as input to RemotiveTopology allows developers to quickly set up the relevant nodes which produce restbus traffic on the given medium, virtual or physical. These mocks are easily accessible and can be decorated with logic by the developers. The early setup can be executed locally or in the Zuul pipeline and closely resembles the real setup. The topology can then mature gradually into a fully functional system where the test cases can be reused throughout the development phases – see case study for more information.
  • With RemotiveTopology, teams can run and interact with nodes in the topology to influence their behavior in specific ways, allowing them to verify how other nodes react. This flexibility enables teams to integrate their work at different stages of development, moving smoothly from early mock setups to SIL (Software-in-the-Loop), HIL (Hardware-in-the-Loop), and ultimately vehicle-ready environments. Teams can leverage and build upon each other’s work across the development process, even when they’re at different levels of integration.

Johannes Foufas, Volvo Cars, summarizes the overall ambition of the developer experience: “With the setup with a common integration pipeline and RemotiveTopology, we can better bridge the gap between the developer’s need to write relevant tests and the embedded distributed system-wide testing that is hard to achieve. The complexity of the largely distributed nodes and functionality required us to select technology that can help us mimic a sense of everyone sitting in the same room, with the same repo, talking to each other”.

Overview of planned test cases for Software In the Loop (SIL) in coming architectures. A large portion of the tests will be using RemotiveTopology to simulate peripherals, resulting in a fully functional system during tests.

Next step: Accelerating ways of working in developer tools

Foufas and the team at Volvo Cars are focused on achieving faster, more efficient builds. Using tools like Bazel, they can minimize dependency complexity and enjoy what is usually a contradiction, both faster and correct builds. By leveraging RemotiveTopology, real-world scenarios are simulated and validated earlier on. Developers can trigger scalable cloud-based tests directly from command line in their laptops. Zuul, Buildbarn and Bazel running on K8 clusters ensure optimal performance, where caches are shared and builds are incremental.

The new CI system uses Zuul and Bazel which allows developers to write $bazel test//… On their laptop to trigger test cases in the cloud – although they look like they run locally. The scalable K8 cluster for Buildbarn supports an unlimited number of CPU cores.

Johannes Foufas, Lead Architecture Software at Volvo Cars on the ambitions next: “For the coming years we are investigating how to bridge from AUTOSAR to POSIX. We see that our Zone architecture will be a mixture, and we want to make the experience of working in that environment as good as it can be for our developers. This means moving away from GUI interfaces and large ARXML files which require third-party tools, in favor of command-line tools”.

Facts box

Zuul is an open-source CI/CD system that offers advanced gating functionality to ensure code integrity and handle complex dependencies in large, distributed environments.

Volvo Cars’ CI by integrating RemotiveTopology, Volvo Cars can reuse test cases across distributed teams and streamline testing across their CI pipeline. The tool allows easy mocking of ECUs that scale seamlessly across the system’s complex network of nodes.