2.9.0
Release Notes (2.9.0)
Core Component Updates -
-
Adds GCP Instance Stop and Disk Fill Experiments by the label that supports multiple target selection using common labels.
-
Refactor the GCP disk loss experiment to remove the device name input and auto-derive it within the experiment.
-
Enhance EC2 Terminate experiment checks when the managed nodegroup env is enabled to validate the node recovery through AWS APIs instead of Kubernetes APIs.
-
Introduces GCP IAM integration through workload identity for keyless authentication in GKE clusters.
-
Fixes Litmus SDK and introduces the default app health check feature in the SDK template.
-
Fixes error handling for an invalid appinfo input. The experiments are now supposed to fail in the pre chaos validation and won’t go to the chaos injection stage.
-
Fixes chaos injection issues on OpenShift due to the helper pod failure caused due to the same IP it was assigned as the experiment pod, it occurs due to the same annotation shared by helper and experiment pods. Now, this can be tuned via an env called SET_HELPER_DATA if we don’t want to use the experiment data inside helper pods we can enable it.
-
Adds chaos charts for process kill experiment which is in beta version and runs with the help of m-agent.
-
Fixes the default value of the chaos tunable in the stress chaos experiment to support the default execution of the experiment.
-
Cleanup the stale workflows from chaos charts and retain the active workflows only.
-
Adds document fixes for stress chaos experiment and introduces docs for GCP IAM integration.
-
Adds m-agent e2e pipeline that includes tests for process kill experiment.
ChaosCenter Updates -
-
Weight and experiments mapping logic has been updated for handling cases where one workflow contains more than one instance of the same experiment. Now chaosengine name will be used for mapping experiment to the corresponding weight.
-
Refactored GQL server APIs for better documentation & following a standard schema.
-
Updated API docs according to new changes and added missing APIs.
-
Added support for using a custom image registry inside the experiment when using a custom image registry.
-
Updated the namespaced scope manifest to reduce the complexity of installation instructions.
-
Fixed permission issue for event-tracker in namespaced mode.
-
Fixed image version in revert-chaos step for using versioned tag instead of latest.
-
Fixed error logging in subscriber for handling error when there are fewer permissions available due to old installation.
-
Fixed error logging in Control-plane upgrade agent when new and current versions are the same by providing a warning instead of the error.
NOTE: As all the APIs on graphql-server have been updated for following a standard schema, Litmusctl has also been updated for supporting the same. So, ChaosCenter v2.9.0 will be compatible with Litmusctl v0.10.0. Please make sure to upgrade the litmusctl before using with ChaosCenter v2.9.0.
Installation
Litmus-2.9.0 (Stable) cluster scope manifest
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.9.0/mkdocs/docs/2.9.0/litmus-2.9.0.yaml
Or
Litmus-2.9.0 (Stable) namespace scope manifest.
#Create a namespace eg: litmus
kubectl create ns litmus
#Install CRDs, if SELF_AGENT env is set to TRUE
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/2.9.0/litmus-portal-crds-2.9.0.yml
#Install ChaosCenter
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/2.9.0/litmus-namespaced-2.9.0.yaml -n litmus
Upgrading from 2.8.0 to 2.9.0
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.9.0/mkdocs/docs/2.9.0/upgrade-agent.yaml