Optimize omnibus QA MR pipelines by removing unwanted test and running only smoke tests

Purpose of this issue : Make the MR pipelines run faster so that the devs can merge MRs more quickly, by analysing all tests running in omnibus-gitlabproject and add/remove/update tests which are relevant to omnibus.

Currently the QA pipeline in omnibus-gitlab project pipelines runs

As a part of this issue, analysis was done and each tests that run in the omnibus-gitlab project MR were gone through.

The focus during analysis was to remove Tests irrelevant to Omnibus and run smoke tests instead of Entire Test suite

I have the following after my analysis and discussion with Nailia

FYI - Clicking on the links below will take you to the comment which explains a bit about what the test does.

We should keep

Tests to remove

The following tests do not test omnibus installation and hence can be removed from the pipeline

Tests to have manual trigger

The following tests would only be run in special scenarios and hence can be moved to a manual trigger option in the pipeline

Unsure if this touches omnibus config

  • elasticsearch this functionality isn't included in the omnibus package and needs to be installed seperately so do we need to keep this test https://docs.gitlab.com/ee/integration/advanced_search/elasticsearch.html#install-elasticsearch
  • importers this test checks the import functionality from GitHub and uses mock requests to GitHub using smoker to replicate importing of project
  • integration this test mainly sets up webhooks in projects and groups and checks if its working. Also uses mock requests for testing
  • jira this test sets up Jira integration and tests out the integration?
  • large-setup this test checks if the user is able to download Patch and Plain diff as files from MR by clicking on Code button
  • service-ping this test checks if service ping gathers details for sales metrics

Additional tests that we can add

Additional Improvements to the pipeline

  • Initial Test Setup Time - Some tests have initial setup which it does and running such tests in parallel does that setup multiple time. We can consider to have less runners for those tests which are heavy on initial setup so that the multiple iterations of initial test setup time can be reduced
  • Queuing time - Queuing time is also a factor. If there is any way to reduce the queuing time(May be by increasing gitlab runner) we can consider that. I personally don't know much about this, but will take the direction from the team on this.
Edited by Vishal Patel