codex-storage / cs-codex-dist-tests

Distributed System Tests for Nim-Codex
3 stars 3 forks source link

Tests run modes #20

Closed veaceslavdoina closed 1 year ago

veaceslavdoina commented 1 year ago

We may run distributed tests in different ways

  1. Local run
  2. Remote run
  3. Local run on remote - not supported

Requirements

      Checks
App  -------->  Pod
   \            /
     Kubernetes

App is a runner which run tests inside the Kubernetes cluster and then perform the checks and collect the data.

Local run

It is when we run tests locally on the Kubernetes cluster created by the Docker Desktop. It is very easy to configure and run and is usefully for local development.

We also may consider other local Kubernetes like minikube, microk8s, k3s and other.

Remote run

We may run tests on remote Kubernetes cluster and for stable App/Kubernetes connection we may run them just inside the cluster via Jobs.

It require more configuration, but permit us to run tests in parallel and simultaneously via CI. For network isolation during tests run, to exclude nodes interference, we should use Network Policies.

Local run on remote

We may run tests on remote Kubernetes cluster by running App locally. But it may have some limitations