[Spike] Explore possibility of using Single Node Openshift (SNO) or Openshift Local (CRC) for on-demand OpenShift provisioning
Summary
Based on conversations with RedHat - the only viable way to properly test OLM ( see gitlab-org/cloud-native/gitlab-operator#543+ for more ) is to use isolated OpenShift instances provisioned per-CI run. To that end other organizations are using SNO or CRC installs of OpenShift for "quick provisioning" of OpenShift clusters on-demand.
We should explore possibilities in that direction to see whether:
- we can test OLM bundles against dynamically provisioned OpenShift instances
- we can switch to testing Operator against dynamically provisioned OpenShift instances as well (akin to our work on vcluster in gitlab-org/distribution/team-tasks#1307 (closed) )
Potential solutions
- The most obvious solution would be to provision VM within the pipeline and deploy CRC/SNO within pipeline
- several issues to address:
- provision of RH nodes may be complicated (licenses etc.)
- time of execution: we need to pay close attention to provision time of execution to keep pipeline execution times relatively low
- several issues to address:
- We can also create Cloud-native "gold-image" based on SNO/CRC from which OpenShift single-node deployments can be provisioned on-demand within reasonable timelines. Downside here would be capacities required for running SNO/CRC on a single node - we'll have to run "larger" VMs to be able to fully deploy GitLab and fully test it without hitting CPU/RAM(/IO?) constraints
Edited by Dmytro Makovey