New features and Enhancements
- Introduces a new chart for CoreDNS, a graduated CNCF project with a DNS pod failure experiment.
- Enhances the infrastructure/cluster level chaos suite with node drain chaos experiment
- Enhances the pod network chaos suite with network packet corruption chaos experiment
- Enhances the resource stress chaos suite with pod/container CPU hog experiment
- Supports post chaos checks against multiple (dependent) applications via the
auxiliaryAppInfo
property in the ChaosEngine CR - Optimises the chaosServiceAccount permissions needed for each experiment at their respective scope (Namespaced, Cluster) in the
scope
&permissions
of the ChaosExperiment CR. A sample RBAC manifest is now also provided with individual experiment documentation - Adds validation of LitmusChaos CRDs via OpenAPI schema validation to help with prevention of malformed - ChaosEngine/ChaosExperiment CRs
- Upgrades the new Go ChaosRunner to beta quality
- Adds Gitlab CI for build & Chaos-Chart-e2e pipelines on LitmusChaos repositories
- Enhances the side panel on charthub (hub.litmuschaos.io) with experiment maturity, documentation link & supported Kubernetes platforms
- Includes support for usage (Google Analytics) metrics against the Chaos Experiments to capture chaos trends, indicated on respective charts in the charthub
- Indicates blast radius of a Chaos Experiment on the respective Charts in the charthub
Major Bug Fixes
- Fixes chaoslib task files to successfully cleanup chaos resources (daemonsets) in case of infra chaos experiments
- Fixes chaoslib task files to end plays/experiment upon not meeting expected conditions/results rather than notify & proceed with play.
- Move to apps/v1 for deployment/daemonset resources to support recent Kubernetes versions (1.16+)
- Fixes inability to cleanup experiment job when .spec.jobCleanupPolicy is set to delete with Go chaos runner
- Fixes reuse of facts/ playbook, included & registered variables by setting up a new naming convention to pass details from experiment logic playbooks to task files
- Update the docs with correct values for Mandatory/Optional nature of experiment environmental variables
- Fix broken/dead links on the charthub and docs
Community
- Monthly community sync-up (every 3rd Wednesday) to go over the concluded release, roadmap discussion, contributor shoutout, presentations/demos
- Group Reviews of contributors PRs on a need basis
- Improved contributor documentation for the chaos operator
Getting Started
Prerequisites to install
- Make sure you have a healthy Kubernetes Cluster.
- Kubernetes 1.11+ is installed
Installation
kubectl apply -f https://litmuschaos.github.io/pages/litmus-operator-v1.0.0.yaml
Verify your installation
-
Verify if the chaos operator is running
kubectl get pods -n litmus
-
Verify if chaos CRDs are installed
kubectl get crds | grep chaos
For more details refer to the documentation at Docs