openedx / openedx-k8s-harmony

A Prototype Helm Chart for deploying multiple Open edX instances (via Tutor) onto a cluster.
GNU Affero General Public License v3.0
10 stars 14 forks source link

Integration Testing Proposal #88

Open Ian2012 opened 1 month ago

Ian2012 commented 1 month ago

This discussion proposes a solution for the integration testing implementation on Harmony.

Requirements

Proposed solution

Kind runs k8s on a cluster and works pretty well for our purposes, this tool is already explored on Aspects integration tests. The POC implemented here https://github.com/openedx/openedx-k8s-harmony/pull/80 proposes a folder structure and a GitHub action workflow to test different configurations of the helm chart in parallel, a template for adding new integration testing scenarios, and an initial scenario to setup and test ElasticSearch.

Ian2012 commented 1 month ago

tagging you here as you are probably the ones more interested in this issue. @bradenmacdonald @gabor-boros @jfavellar90

bradenmacdonald commented 3 weeks ago

I would also add that the integration test code itself should be something that's easy to maintain. If it's complex and fragile, it may not be worth the effort.

Ian2012 commented 2 weeks ago

Following this discussion, are there any specific scenarios we need to cover? The POC already has a test for ElasticSearch but I don't have any other scenarios in mind to test.

bradenmacdonald commented 2 weeks ago

For Sumac, we'll actually need Meilisearch instead of Elasticsearch :p

Ian2012 commented 2 weeks ago

Once support is added I will add the integration testing scenarios. Will the current implementation cover most of our use cases?

I tested ClickHouse and ElasticSearch and found and resolved an issue with ElasticSearch disabled. We can also merge the integration testing PR and start adding scenarios as part of the new features/fixes.