New Features & Enhancements
-
Supports automated rollback/abort of chaos depending upon predefined conditions (defined in the probes). The probes can now be configured with a StopOnFailure property set to true or false to control the execution flow of the experiment.
-
Enhances the ChaosResult status schema to provide details of (a) the target resource impacted (b) success of the chaos revert operation.
-
Introduces additional labels for the “interleaved” chaos metrics (
litmus_awaited_experiments
&litmus_experiment_verdict
) to indicate workflow name & chaos injection timestamp. This is expected to help in the construction of more meaningful dashboards to track app behavior under chaos. -
Adds the golang chaoslib and experiment logic for docker-service-kill (from ansible)
-
Introduces the tech-preview of a new category (aws-ssm) of chaos experiments that can inject common resource and network chaos in EC2 instances (which is part of a kubernetes cluster or a standalone/vanilla instance).
-
Introduces the tech-preview of refactored pod-cpu-hog & pod-memory-hog chaos experiments that can inject resource chaos on target apps externally (non-exec mode) via cgroup operations.
-
Improves/dockerizes the build process for most components (removes vendor packages stored on the repo and migrates to github workflows)
-
Reduces the size of the experiment (go-runner) image by creating a single chaos helper component that takes specific chaos operations as flags
-
Extends the StatusCheckTimeout property to the helper pods (earlier releases had this only for pre/post chaos checks), thereby helping the flexible evaluation of application availability/readiness during the chaos
-
Adds a new event for “Abort” on the ChaosResult
-
Increases coverage in the commit-based e2e runs on the litmus-go repo with the addition of node chaos tests
-
Adds a new helm chart for kube-aws (chaos experiment bundle) in the litmus-helm repository.
-
Enhances the litmus-sdk to (a) create a highly generic experiment scaffolding that can trigger and kill chaos via shell commands passed as environment variables (change from an earlier sample of pod-delete) and (b) push all non-code files (CR yamls) into a dedicated directory that can be directly copied/committed to the chaos-charts repo.
-
Cuts the first tagged release on the test-tools repository and sets up downloadable artifacts for the dependent chaos utils (nsutil, pauseutil, promql, dns-interceptor).
Major Bug Fixes
-
Adds missing environment variables for kill sequence and pod affected percentage in the kafka-broker-pod-failure experiment
-
Fixes the missing environment variable for defining the spoof map within the dns-spoof experiment.
-
Fixes the ChaosScheduler to work with the latest versions of the chaos-operator and updates documentation with missing mandatory properties in the .spec.engineTemplate
Installation
kubectl apply -f https://litmuschaos.github.io/litmus/litmus-operator-v1.13.6.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