litmuschaos / litmus-e2e

Test the Chaos!!! An e2e (end-to-end) validation pipeline for the LitmusChaos infrastructure
Apache License 2.0
15 stars 27 forks source link

Litmus-E2E

The goal of litmus e2e is to provide the test suite to demonstrate the chaos experiment behavior in different scenarios. As the name suggests this repository is for testing the generic and litmus portal test suites which includes different cypress test, pod and node-level chaos experiment testing like resource chaos, network chaos, disk, and io chaos, and others. Apart from this the infra component of litmus which is crds and operator is also tested under this branch. Chaos testing is powered by GitLab. There are 3 different pipelines (triggers according to GitLab env) that execute all the tests. These are:

  1. Application Level pipeline: It executes all pod level tests.
  2. Infra Level pipeline: It executes all infra/node level tests.
  3. Component Level pipeline: It executes some component level tests.

The .gitlab-ci.yml uses local templates (stored under the templates directory in root repo) to run each of these pipelines.

Why Litmus e2e Matters?

The Scheduled builds

Pipelines are normally run based on certain conditions being met. For example, when a branch is pushed to the repository. Similarly, Pipeline schedules can be used to also run pipelines at specific intervals. GitLab provides a scheduling option that is easy to configure. The litmus generic tests are also scheduled and can be visualized in e2e portal. It has the following scheduled builds:

Working Group Information

There is a Special Interest Groups (SIG) to test the litmus components. To contribute to or use the test suite you can join the slack channel, weekly meetings, and interact in GitHub via issues.

Test Suite Information

Introduce a new test scenario