Improve startup time for Scenario GitalyCluster
The GitalyCluster scenario takes quite some time to startup, as it requires starting up to 5 containers and this happens sequentially. The containers started are 1*postgres, 3*gitaly, 1*praefect, 1*gitlab
, before the tests begin to run.
Consider finding alternative ways to start these containers to improve startup time which in turn should help reduce total execution time.
Example of the issue:
An example job in the pipelines today takes approximately 11 mins, while the entire job takes 27 minutes. ie 11 minutes to setup for 16 minutes worth of test.
2022-04-25T22:59:43.723834267Z time="2022-04-25T22:59:43.723649686Z" level=info msg="Starting up"
.....
(setting up environment)
.....
[date=2022-04-25 23:10:38 from=Gitlab QA] INFO -- Running test suite `Test::Instance::All` for gitlab-ee
Proposal:
Running a docker-compose file with equivalent configuration to what gitlab-qa Test::Integration::GitalyCluster EE
spins up, takes approx 3min vs 8min locally on my personal machine.
docker-compose
has the ability to start multiple containers in parallel, which should cut down on the startup time vs the current approach of running everything in sequence using docker run