Barts-Life-Science / AzureTRE

An accelerator to help organizations build Trusted Research Environments on Azure.
https://microsoft.github.io/AzureTRE
MIT License
1 stars 0 forks source link

entire software chain lacks proper version control #77

Open TonyWildish-BH opened 5 months ago

TonyWildish-BH commented 5 months ago

Describe the bug The devcontainer for Visual Studio, used to build the TRE, is out of date. Based on Debian Bullseye, it's still supported, but many of the dev tools there are old.

One example, jq, which is now on version 1.7, but 1.6 is used. There are breaking changes between versions.

There are many places where requirements.txt files for Python packages are listing versions that are getting old. They're also not always consistent, having multiple different versions of packages in different places.

Terraform needs updating too.

Different Docker images use different versions of httpx, mock, and pytest, and Azure CLI versions in different Docker containers are also needlessly different. There's no coherent version control for the Docker containers.

There's also at least one case, in resource_processor/vmss_porter, where the Azure CLI is installed by both apt-get and pip.

The whole chain needs a complete overhaul and proper configuration management put in place so it can evolve coherently in future.

TonyWildish-BH commented 5 months ago

Some terraform code is also using deprecated semantics, or deprecated modules.

TonyWildish-BH commented 1 month ago

Some of this has been addressed in recent PRs, but there's still a lot to look at, and we need a process to do this systematically.

Much of the problem here is that there's no centralised idea of version control, i.e. each template has it's own set of config files, they're not derived from a central source etc. Updating versions of 'X' across the TRE is an exercise in hide-and-seek.