Graduation assignment - HBO - Parallel execution of containerized integration tests using Bazel
About us
In the Netherlands, where 3000 employees are based, we are located in four cities: Huizen, Delft, Eindhoven and Hengelo (HQ). Together with an extensive ecosystem of knowledge partners, customers and suppliers, we work on radars for naval vessels, cyber security solutions, transportation systems, communication equipment for land forces, cryogenic cooling solutions and research & development for radar tech (in collaboration with TU Delft).
Department
The software department of the Application Engineering cluster is responsible for the software development in Combat Management and Radar- and Optical sensors for worldwide navies- and defense systems. The work is performed in multi-disciplinary agile teams with specialists in software/system/test engineering and functional design.
The software department of the Application Engineering cluster is responsible for the software development in Combat Management and Radar- and Optical sensors for worldwide navies- and defense systems. The work is performed in multi-disciplinary agile teams with specialists in software/system/test engineering and functional design. {OPEN}
About the assignment
Background
At Thales, a project is currently ongoing to migrate away from the currently used Maven build system to Bazel for increased build performance, more granular caching, better parallelism and more deterministic artifacts. The current work for the Bazel migration project mainly consists of adopting or creating Bazel variants of the tools used within the different departments to build software components, systems and applications. One of these tools called Cucumber is used to run behavior driven integration tests. This is used to run containerized integration tests of software components using Podman containers in an environment similar to an actual deployment environment.
One of the advantages of Bazel is its highly efficient parallel execution of so-called actions, which include tests. However, this is currently conflicting with the limits of our integration test setup, mainly due to the limitations of Podman being single-threaded and non-reentrant which is at best unreliable when run in parallel, or will simply fail. This requires that parallel execution is disabled for these tests, significantly increasing build time and reducing part of the advantage that Bazel provides.
Assignment
It needs to be investigated what options are available within the closed Thales environment to fully parallelize containerized integration tests when using Bazel as the build system, Podman as the container orchestrator and Cucumber as the integration testing framework.
The goal for this assignment is to create a proof-of-concept of an improved testing infrastructure capable of running containerized integration tests in parallel. The PoC needs to adhere to the following:
Support Bazel as the build system (working with Maven is a nice to have)
Uses Podman as the container orchestrator
Uses the current testing infrastructure as a base
Uses Cucumber as the integration testing framework
No tests shall require the ‘exclusive’ flag, which forces given tests to run sequentially.
Ideally, no test shall require the ‘flaky’ flag, which executes a test ‘n’ number of times, where the test is considered as passed so long as one of the attempts passes. Since this is also highly dependent on the tests themselves, this is not a hard requirement.
{OPEN}
Affinity
Linux, Open Source, Java/C++, OCI containers, Bazel, DevOps
Thales offers…
- An interesting internship or graduation assignment in an international high tech environment
- An open and flexible working environment
- An excellent internship allowance
- Its own student association where you can participate in educational and fun activities.
Interested?
Direct solliciteren? Gebruik dan je eigen, persoonlijke profiel om jouw
interesse aan ons kenbaar te maken en kies voor ‘Apply now’.
Would you like to apply directly? Then click on the button ‘Apply now’ to show your interest. Please keep in mind that we can only consider students who are enrolled at a school or educational institution during the whole internship period for our internships and graduation assignments.
Top Skills
What We Do
Thales is a global high technology leader investing in digital and “deep tech” innovations – connectivity, big data, artificial intelligence, cybersecurity and quantum technology – to build a future we can all trust, which is vital to the development of our societies. The company provides solutions, services and products that help its customers – businesses, organisations and states – in the defence, aeronautics, space, transportation and digital identity and security markets to fulfil their critical missions, by placing humans at the heart of the decision-making process.





