New features and Enhancements
- Addition of OpenEBS control-plane sanity, storage pool sanity & storage pool network chaos experiments
- Introduce the Chaos Abort functionality to terminate in-flight chaos experiments at once
- Schema changes to support override of configmap & secret volumes parameters from the ChaosEngine with improved component structure
- Make annotation checks against target applications an optional feature in lieu of infra chaos experiments with higher blast radius (multi-application impact).
- Make the Go Chaos-Runner as the default runner type for experiments
- Improved CRD validation for ChaosEngine CRs based on OpenAPI v3 specification
- Improved logging for experiment lifecycle (chaos-runner) via use of klog framework
- Addition of Kubernetes events for chaos experiment lifecycle
- Enhancement to pass chaos lineage (chaos UUID) across all resources created as part of an experiment
- Strengthened e2e pipelines (generic, openebs chaos validation tests) with BDD tests using Ginkgo
- Updates experiment scaffold (developer) tool to reflect latest experiment schema
- Optimized (minimal) permissions in the chaos-operator RBAC
- Converts the chaos-charts repo into the single source truth wrt chaos manifests (includes experiment RBAC, sample ChaosEngine CR manifests along with individual chaosExperiment CRs & CSV) thereby providing an integrated bundle to aid developers
- Doc updates to embed all chaos snippets from chaos-charts via the embedmd tool
- Adds the Litmus FAQ with questions on general usage & troubleshooting steps
Major Bug Fixes
- Addition of rescue blocks in chaoslib wrappers to fail fast / avoid false positives in chaos experiments
- Fixes container-kill experiment execution on containerd runtime
- Patch chaosresult state with status “running” & verdict “awaited” during experiment execution.
- Fixes crash of exporter (monitor pod) in case of infra experiments with annotationCheck disabled.
- Refactor of experiment manifests to use standard naming conventions & file extensions
Prerequisites to install
- Make sure you have a healthy Kubernetes Cluster.
- Kubernetes 1.11+ is installed
kubectl apply -f https://litmuschaos.github.io/pages/litmus-operator-v1.1.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