Skip to content

Feature environment implementation in the CICD pipeline

Context

Requires !88 (merged) without which the change diff will be polluted with previous work.

Closes #81

Summary

This MR aims to setup a basic structure upon which we can further develop our testing strategy for the feature environment.

What's implemented

  • An IaC project with terraform config and a collection of utility scripts to setup and teardown a simple DMS cluster using LXD hosts
  • A gitlab pipeline that uses the IaC to deploy the cluster to LXD hosts we define in FEATURE_ENV_LXD_HOSTS. See https://gitlab.com/nunet/test-suite/-/settings/ci_cd

How to review this MR

  • Have a locally available LXD server with API enabled and execute the IaC. See the README file in infrastructure/dms-on-lxd for details. The readme file should be self-sufficient.
  • Look at the pipeline that is run for this Merge Request, specifically the jobs Build, test_feature_environment and the downstream pipelines.

The commit history should provide a very granular history of the development. However, I leveraged amends to forcefully retrigger the pipeline so the commit history in the MR will be quite polluted. Instead, use !91 (commits)

Futher work

DMS Integration

After this MR is finalized we can start integrating it into DMS. However, since it will require a healthy debian file to be produced by the DMS pipeline, the upstream DMS project build should be fixed before we attempt to activate this pipeline, otherwise any job executed will be a waste of computing resource.

This work is tracked by #91

Implementation documentation

A more in-depth documentation of the current implementation will be done in a separate issue, currently tracked by #90

Edited by Gabriel Chamon

Merge request reports