LitmusChaos E2E
LitmusChaos is a toolset to do cloud-native chaos engineering. It takes a cloud-native approach to create, manage and monitor chaos. Chaos is orchestrated using the Kubernetes Custom Resource Definitions (CRDs) which are called ChaosEngine, ChaosExperiment and ChaosResult. For a higher performance we need these components to work accurately according to our hypothesis between every upgrade and updates which brings the need of LitmusChaos E2E.
The Litmus E2E is broadly divided in 2 categories Generic & Litmus-Portal.
Pipeline Details
Pipeline | Description |
---|---|
Pod-Level pipeline | It contains the test cases (GO BDDs) for all pod-level generic experiments. |
Node-Level pipeline | It contains the test cases (GO BDDs) for node-level generic experiments. |
Component-Level pipeline | It contains the test cases (GO BDDs) for component-level generic experiments. |
Litmus-Portal pipeline | It contains different UI E2E test cases for litmus portal |
How to view the details of the last few pipeline runs?
To view the details of the last few pipelines runs:
- Select the buttons from header whose pipeline details you want.
For Pod-Level/Node-Level/Component-Level pipelines, click on
Generic
Button. - Inside it contains the details of every job along with pipeline details.
Pod-Level E2E Pipeline:
The Pod-Level pipeline covers the tests for litmus pod-level generic experiments which include some before and after chaos validation and performance checks for different litmus components.
Different Stages:
Stages | Description |
---|---|
Setup Litmus Infra | This is the Litmus installation stage, in this stage the crds rbacs and the operator are created. |
Setup App Deployment | This is the application deployment stage. The application under chaos is deployed and the liveness test for the application is also performed in this stage. |
Pod-Level Test | This stage includes the creation of experiments,engine and positive and negative test cases for the pod-level experiments. |
Experiment Tunables | This stage includes tests for different tunable variables of pod-level experiments. |
App-cleanup | This is the application cleanup stage in which all the applications under tests are removed. |
Litmus-Cleanup | In this stage, All the litmus components such as experiments, engines & results are removed. |
Node-level E2E Pipeline
The Node-Level pipeline covers the tests for litmus node-level generic experiments which include some before and after chaos validation and performance checks for different litmus components.
Different Stages:
Stages | Description |
---|---|
Setup Litmus Infra | This is the Litmus installation stage, in this stage the crds rbacs and the operator are created. |
Setup App Deployment | This is the application deployment stage. The application under chaos is deployed and the liveness test for the application is also performed in this stage. |
Node-Level Test | This stage includes the creation of experiments,engine and positive and negative test cases for the node-level experiments. |
Engine Test | This stage includes the test to check application-info tunablility for ChaosEngines. |
App-cleanup | This is the application cleanup stage in which all the applications under tests are removed. |
Litmus-Cleanup | In this stage, All the litmus components such as experiments, engines & results are removed. |
Component-level E2E Pipeline
The Component-Level pipeline covers the tests for litmus component-level generic experiments which include some before and after chaos validation and performance checks for different litmus components.
Different Stages:
Stages | Description |
---|---|
Setup Litmus Infra | This is the Litmus installation stage, in this stage the crds rbacs and the operator are created. |
Setup App Deployment | This is the application deployment stage. The application under chaos is deployed and the liveness test for the application is also performed in this stage. |
Component-Level Test | This stage includes the creation of experiments,engine and positive and negative test cases for the component-level experiments. |
App-cleanup | This is the application cleanup stage in which all the applications under tests are removed. |
Litmus-Cleanup | In this stage, All the litmus components such as experiments, engines & results are removed. |
Litmus Portal E2E Pipeline
It contains litmus-portal BDD tests using Cypress and Bash Scripts. Currently, it contains Cypress E2E tests for functionalities like login, Welcome Modal, User management, Workflow Scheduling and Browse Workflows/Schedules.
Different Stages:
Stages | Description |
---|---|
Cluster-Setup | This Step is used to create a Testing cluster (For Nightly builds, 3-node K3S Cluster) for deploying Litmus-Portal. |
Portal-Setup | This Step is used to deploy litmus-portal on created cluster and verifies all control-plane resources are configured correctly and are in Ready State. |
Litmus-Portal Authentication Tests | This step is used for testing Portal Login/Onboarding Features. |
Execution plane components check | This step is used for verifying all execution plane components created after Portal login such as Workflow Controller, Subscriber and Event-tracker, etc. |
Post Login features Tests | This step is used for testing post login features such as Workflow Scheduling, Teaming, Account Settings and Browse Workflows, etc. |
Portal-Cleanup | This stage is used for uninstalling litmus-portal and verifying the uninstallation. |
Cluster Cleanup | In this stage, The Cluster created for testing is destroyed and artifacts (Screenshots of failed Cypress tests) are saved for later use. |