[go: nahoru, domu]

Skip to content

Releases: litmuschaos/litmus

2.11.0

15 Jul 06:10
84d7a63
Compare
Choose a tag to compare

Release Notes (2.11.0)

Core Component Updates -

  • Introduce different new HTTP chaos experiments for Kubernetes targets, this will allow users to introduce the following faults:

    • pod-http-status-code (modifies the status code of the response)
    • pod-http-modify-body (modifies the body of the response)
    • pod-http-modify-header (modify headers of incoming requests or the response from the service targetted)
    • pod-http-reset-peer (stops outgoing http requests by resetting the TCP connection)

    To know more checkout the experiment-docs.

  • Upgrade the operator SDK version to 1.14.0 for chaos operator and code refator for other litmus components to achieve compatibility.

  • Adds support for non-default vpc for the AWS ELB az-down experiment. As earlier the experiment only targets the ELB(s) that are associated with default vpc, so this will also allow the user to target the ELB(s) that are not associated with default vpc.

  • Enhance cmd probe spec to support different configuration for probe pod and containers like imagePullPolicy, cmd, args and so on. This will allow the user to run the cmd probe in more controlled way when used in source mode.

  • Fixes the error handling for application status check with litmus annotation for pod-level experiments.

  • Adds litmusctl docker image which will allow the users to install the agents (delegates) from a pod/container.

ChaosCenter Updates -

  • Updates terminologies for different entities -

    • Agents --> Chaos Delegates
    • Workflows --> Chaos Scenarios
    • Charts --> Chaos Experiments
  • Reduces the permissions in namespaced mode for execution plane components

  • Fixes an issue in SyncHub API when there is an error in communication between graphql-server and MongoDB and all hubs were getting deleted while trying to reclone current chaoshub.

NOTE: - Along with above terminologies updates, we will also be updating directory structure of ChaosHub for better readability and scalability of experiments and scenarios. With upcoming release, the charts will be renamed to experiments directory and workflows will be renamed to scenarios. Same changes have been already done in 2.11.0 version of ChaosHub. So, Users are requested to upgrade their ChaosHub directory structure with provided changes before upgrading to upcoming release - 2.12.0 version of ChaosCenter.

Installation

Litmus-2.11.0 (Stable) cluster scope manifest

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.11.0/mkdocs/docs/2.11.0/litmus-2.11.0.yaml

Or

Litmus-2.11.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.11.0/litmus-portal-crds-2.11.0.yml
#Install ChaosCenter
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/2.11.0/litmus-namespaced-2.11.0.yaml -n litmus

Upgrading from 2.10.0 to 2.11.0

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.11.0/mkdocs/docs/2.11.0/upgrade-agent.yaml

2.10.0

15 Jun 09:52
8ac8199
Compare
Choose a tag to compare

Release Notes (2.10.0)

Core Component Updates -

  • Adds HTTP chaos experiment for Kubernetes applications using toxiproxy. This will allow you to introduce latency in the target application service and check the application availability.

  • Introduces the first Beta version for m-agent (machine-agent) which enable us to run chaos on non-k8s target. It also includes a new cpu-stress experiment that can run CPU chaos on the target VM(s).

  • Adds the missing –stress-image parameter for the pod-io-stress experiment that enables us to add a custom stress image for the experiment when using Pumba lib.

  • Enhanced the recovery of node cordon experiment when app status check fails during the chaos.

  • Fixes the chaos result verdict update for GCP disk loss by label experiment during the different stages of chaos.

  • Fixes node level e2e check for every build on a pull request for the litmus-go repository.

  • Adds docs for the new HTTP chaos experiment, updates the GCP experiment docs, and introduces some more examples in docs for pod network latency experiment with jitter.

  • Adds chaos charts for AWS AZ down experiment in the hub this will help to get the manifest for the experiment workflow preparation.

  • Fixes the GCP and m-agent e2e pipeline to run the automated tests seamlessly.

ChaosCenter Updates -

  • Refactored graphql-server for extracting queries, mutations, and subscriptions to the respective schema files

  • Added support for Envoy proxy when using frontend nginx.

  • Added UI enhancement for allowing scrolling to the invitations tab after clicking on the Invitations button.

  • Fixed issues with httpProbe and promProbe in tune workflow section due to the addition of httpProbe/inputs: {} when adding multiple probes.

  • Added check for invalid schedule type when trying to proceed in workflow construction wizard without selecting schedule type.

  • Fixed issue in GitOps when updating the git repository configuration.

  • Added CHAOS_CENTER_UI_ENDPOINT env for specifying a one-time UI endpoint for the control plane, so that all external agents can be provided with the same (Available for cluster and namespace scope).

  • Added support for automatically adding imagePullSecrets in for Engine, Runner & Experiments pods from configured image registry.

Litmusctl Updates:

  • Added commands like litmusctl get workflows , litmusctl create workflow , litmsuctl describe workflow , litmusctl delete workflow and litmusctl get workflow-runs for workflow CRUD operations.

  • Renamed litmusctl create agent command to litmusctl connect agent

  • Added new command disconnect agent for disconnecting agents from the Control plane.

  • Enhanced logging for better debugging.

Note:
- For using newly added commands, users will have to download the v0.11.0 version of litmusctl.
- litmusctl v0.11.0 only supports litmus v2.10.0 or higher versions

New Contributors

Full Changelog: 2.9.0...2.10.0

2.9.0

16 May 16:55
ffe9959
Compare
Choose a tag to compare

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

2.8.0

15 Apr 21:10
227a4a1
Compare
Choose a tag to compare

Release Notes (2.8.0)

Core Component Updates

  • Fixes the incorrect target container name passed to the helper pod. This occurs when multiple different applications containing different container names were selected as chaos candidates. litmuschaos/litmus-go#496

  • Fixes the statusCheckTimeout feature for container kill experiment to enable the helper pod to use custom timeouts. The helper pod of the container kill experiment was only using 180sec as a timeout. litmuschaos/litmus-go#498

  • Fixes the default path of the SSM docs (fault template) used in the SSM chaos experiments to support the chaos execution. The SSM docs contain the chaos injection logic, one can also provide their own docs to run this experiment using configmap or secrets. litmuschaos/litmus-go#508

  • Enhance experiment logs to handle warnings like “Neither --kubeconfig nor --master was specified for InClusterConfig” - such warnings were appearing in experiment logs for every run which are now handled properly. litmuschaos/litmus-go#507

  • Fixes litmus-python vulnerability issues by bumping the python version from 3.8 to 3.8.13. litmuschaos/litmus-python#41

  • Enable litmus snyk image to support python libraries which also fixes snyk security scan check on litmus-python.

  • Adds docs examples to show the selection of target pods from a specific node using a NODE_LABEL env.

Chaos Center Updates

  • Migrated FluxCD to ArgoCD and added terraform scripts to provision EKS cluster to deploy LitmusChaos applications (v1-Docs, Docs, Hub)

  • Added ability to configure self-agent component's node selector and tolerations

  • Added support to subscriber and event tracker to store and retrieve CLUSTER_ID and ACCESS_KEY in Kubernetes secrets

  • Added email validation and RBAC check get_user_with_project API

  • Added workflow type filter, pre-defined workflow redirect link, and updated analytics routes

  • Fixed workflow failure issue while adding experiments with the same name

  • Synced the ChaosCenter APIs document with the latest schema changes

  • Upgraded Workflow-controller (v3.2.9), Argo-executor(v3.2.9) and LitmusCore(2.7.0)

Installation

Litmus-2.8.0 (Stable) cluster scope manifest

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.8.0/mkdocs/docs/2.8.0/litmus-2.8.0.yaml

Or

Litmus-2.8.0 (Stable) namespace scope manifest.

export LITMUS_PORTAL_NAMESPACE="<namespace>"
kubectl create ns ${LITMUS_PORTAL_NAMESPACE}
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.8.0/litmus-portal/litmus-portal-crds.yml
curl https://raw.githubusercontent.com/litmuschaos/litmus/2.8.0/mkdocs/docs/2.8.0/litmus-namespaced-2.8.0.yaml --output litmus-portal-namespaced-k8s-template.yml
envsubst '${LITMUS_PORTAL_NAMESPACE}' < litmus-portal-namespaced-k8s-template.yml > ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml
kubectl apply -f ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml -n ${LITMUS_PORTAL_NAMESPACE}

Upgrading from 2.7.0 to 2.8.0

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.8.0/mkdocs/docs/2.8.0/upgrade-agent.yaml

2.7.0

15 Mar 07:33
4085bc0
Compare
Choose a tag to compare

Release Updates

Core Component Updates

  • Fixes the higher image vulnerabilities for different litmus components by updating the binaries used in it.

  • Fixes the code scan vulnerabilities (CVEs) by updating the go packages for different litmus components. Also, adds sync actions to get the code vulnerabilities on every code commit.

  • Enhance pod-level experiments by supporting randomized chaos tunables which enable us to provide the range of value in chaos parameter.

  • Adds support for cgroup version 2 in stress chaos experiments(pod cpu/mem/io).This will be backward compatible with the version 1 as well.

  • Adds node label filter for selecting the target pods in pod-level experiments. This helps us to select the pods scheduled on specific nodes as chaos candidates. This feature requires having a node-level permission for filtering pods on a specific node.

  • Adds some more experiment example docs at https://litmuschaos.github.io/litmus/

Chaos Center Updates

  • Added RBAC checks in all the APIs of the chaos center to make it more secure

  • Optimized MyHub APIs to fetch the data more efficiently

  • Added /readiness route for readiness probes

  • Following changes in the deployment manifest and helm charts

    • Added resource {limit, request}, automountServiceAccountToken, readOnlyRootFilesystem and securityContexts for all the components
    • Separated auth-server container from litmus-server deployment and made it as deployment
    • Moved some credentials from configmap to secrets
    • Added a headless service to mongo statefulsets

Installation

Litmus-2.7.0 (Stable) cluster scope manifest

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.7.0/mkdocs/docs/2.7.0/litmus-2.7.0.yaml

Or

Litmus-2.7.0 (Stable) namespace scope manifest.

export LITMUS_PORTAL_NAMESPACE="<namespace>"
kubectl create ns ${LITMUS_PORTAL_NAMESPACE}
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.7.0/litmus-portal/litmus-portal-crds.yml
curl https://raw.githubusercontent.com/litmuschaos/litmus/2.7.0/mkdocs/docs/2.7.0/litmus-namespaced-2.7.0.yaml --output litmus-portal-namespaced-k8s-template.yml
envsubst '${LITMUS_PORTAL_NAMESPACE}' < litmus-portal-namespaced-k8s-template.yml > ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml
kubectl apply -f ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml -n ${LITMUS_PORTAL_NAMESPACE}

Upgrading from 2.6.0 to 2.7.0

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.7.0/mkdocs/docs/2.7.0/upgrade-agent.yaml

2.6.0

14 Feb 16:52
098c1da
Compare
Choose a tag to compare

Release Updates

  • Enhance CPU stress experiments (both node-cpu-hog and pod-cpu-hog) to consume the resources in percentage of available CPU cores.

  • Fixes the permission issue faced by container user of experiment image to access its directory in an Openshift cluster.

  • Adds AWS AZ (Availability Zone) experiment in litmus python which disables availability zones for load-balancer. litmuschaos/litmus-python#36

  • Fixes the verdict metrics in chaos exporter now it won't export/override the metrics if chaosengine is in completed state and experiment's final verdict is already exported.

  • Adds more docs examples for the new experiment tunables in https://litmuschaos.github.io/litmus/

  • Enhances the interface to make workflows more auditable by adding a new field “Executed by” in the runs/schedules table that shows the username who scheduled the corresponding workflow.

  • Bug fixed to ignore deleted workflows during the schedule of a new workflow.

  • Lower down the vulnerabilities of the docker images.

  • Added a new set of API tests for MyHub & User related operations.

Installation

Litmus-2.6.0 (Stable) Cluster Scope manifest

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.6.0/mkdocs/docs/2.6.0/litmus-2.6.0.yaml

Or

Litmus-2.6.0 (Stable) namespace scope manifest.

export LITMUS_PORTAL_NAMESPACE="<namespace>"
kubectl create ns ${LITMUS_PORTAL_NAMESPACE}
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.6.0/litmus-portal/litmus-portal-crds.yml
curl https://raw.githubusercontent.com/litmuschaos/litmus/2.6.0/mkdocs/docs/2.6.0/litmus-namespaced-2.6.0.yaml --output litmus-portal-namespaced-k8s-template.yml
envsubst '${LITMUS_PORTAL_NAMESPACE}' < litmus-portal-namespaced-k8s-template.yml > ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml
kubectl apply -f ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml -n ${LITMUS_PORTAL_NAMESPACE}

Upgrading from 2.5.0 to 2.6.0

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/2.6.0/upgrade-agent.yaml

Shoutouts!

Thanks to our existing and new contributors for this release- @victorlcm @Aman-Codes @neelanjan00 @amityt @gdsoumya @Jonsy13 @rajdas98 @uditgaurav

2.5.0

14 Jan 11:37
a1635f9
Compare
Choose a tag to compare

Core Component Updates

  • Introduce a pre-alpha version of litmus m-agent (Machine Agent) which is a platform-generic daemon agent that can remotely inject faults into an OS scoped resource, as part of the LitmusChaos Experiments.

  • Adds an pre-alpha version of process kill experiment that makes use of m-agent to inject process kill chaos in the target OS.

  • Enhance pod network latency experiment to support jitter functionality in the network delay simulated by the experiment.

  • Introduces new helm charts (kube-azure and kube-gcp) for azure and gcp chaos experiments.

  • Fixes to support the custom experiment for pod level stress-chaos experiment (cpu, memory, IO). This will enable us to use any custom names for the experiment.

  • Adds new e2e-pipeline for testing the azure chaos experiments from hub. It supports both nightly and manual builds.

  • Updates failstep messages for Litmus Go SDK and refactor azure chaos experiment to improve the code quality.

Chaos Center Updates

  • Adds support for skipping SSL verification & Self-signed certificates for agent connection.

  • Updates the API documentation.

  • Fixes the issue with Minikube & GRPC by making localhost as grpc endpoint.

  • Fixes the Role-based permission issues in some specific APIs.

  • Enhances the logs for better debugging & logging.

  • Adds E2E Tests for observability dashboards configuration & deletion.

Notes

  • For using Self-signed certificates & skip-agent-ssl flag, users will have to use litmusctl v0.9.0

Installation

Litmus-2.5.0 (Stable) Cluster Scope manifest

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.5.0/mkdocs/docs/2.5.0/litmus-2.5.0.yaml

Or

Litmus-2.5.0 (Stable) namespace scope manifest.

export LITMUS_PORTAL_NAMESPACE="<namespace>"
kubectl create ns ${LITMUS_PORTAL_NAMESPACE}
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.5.0/litmus-portal/litmus-portal-crds.yml
curl https://raw.githubusercontent.com/litmuschaos/litmus/2.5.0/mkdocs/docs/2.5.0/litmus-namespaced-2.5.0.yaml --output litmus-portal-namespaced-k8s-template.yml
envsubst '${LITMUS_PORTAL_NAMESPACE}' < litmus-portal-namespaced-k8s-template.yml > ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml
kubectl apply -f ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml -n ${LITMUS_PORTAL_NAMESPACE}

2.4.0

15 Dec 08:55
6da3a0a
Compare
Choose a tag to compare

Core Component Updates

  • Fixes the permission issue faced by container user (of different litmus components) to access its directory in an Openshift cluster as the openshift cluster runs the container with an arbitrary uid in the root group.

  • Enhance the stress chaos experiments to gracefully terminate the stress process in case it is not completed and remove on its own.

  • Enhance the node drain experiment to skip the uncordon step post chaos if the target node is not available. It occurs if we enable the autoscaling for the node pool on the cloud provider.

  • Updates the experiment contributing docs with the usage of litmus SDK and also adds the chaos-chart details in the repo readme.

  • Adds an overview section in litmus-python with the detailed steps for preparing and using the experiment and workflows in python.

  • Adds new e2e-pipeline for testing the vm-ware experiments from hub. It supports both nightly and manual builds.

  • Enhance the e2e-dashboard to show the logs of the tests running in the e2e pipeline.

  • Enhance GitHub Chaos Actions to support AWS EKS clusters, with this now we can integrate any external EKS cluster with chaos action to run the experiments.

Chaos Center Updates

  • Upgrading argo workflow and event tracker API versions to support chaos center on Kubernetes 1.22.0+

  • Addition of a new event tracker policy operator (known as Change) to track values of any field in the Kubernetes resource and removed the dependency of event tracker from last applied configuration annnotation

  • Addition of new permissions to docker images of ChaosCenter server to OpenShift friendly

  • Migration of APIs from graphql-server to auth-server and introduction of gRPC for the internal communication

  • Addition of "--skipSSL" flag in litmusctl to disable SSL for the communication between control-plane and execution plan

  • IPV6 support for control plane

  • Addition of new E2E tests for observability.

Notes

  • The CRDs for ChaosCenter will be versioned now . So, CRDs for ChaosCenter v2.x.x will be available in 2.x.x branch.
  • The Project DB migration has been done in this release along with some enhancements (like addition of new flag --skipSSL), so any version of litmusctl below v0.7.0 won't be compatible with ChaosCenter 2.4.0 or above.

Installation

Litmus-2.4.0 (Stable) Cluster Scope manifest

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.4.0/mkdocs/docs/2.4.0/litmus-2.4.0.yaml

Or

Litmus-2.4.0 (Stable) namespace scope manifest.

export LITMUS_PORTAL_NAMESPACE="<namespace>"
kubectl create ns ${LITMUS_PORTAL_NAMESPACE}
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.4.0/litmus-portal/litmus-portal-crds.yml
curl https://raw.githubusercontent.com/litmuschaos/litmus/2.4.0/mkdocs/docs/2.4.0/litmus-namespaced-2.4.0.yaml --output litmus-portal-namespaced-k8s-template.yml
envsubst '${LITMUS_PORTAL_NAMESPACE}' < litmus-portal-namespaced-k8s-template.yml > ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml
kubectl apply -f ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml -n ${LITMUS_PORTAL_NAMESPACE}

Shoutouts!

Thanks to our existing and new contributors for this release- @Aman-Codes @DhananjayPurohit @tuananh @andrewhu-hcl @Vr00mm @nicjohnson145 @DarthBenro008 @mehabhalodiya @bbarin @amityt @gdsoumya @Saranya-jena @SarthakJain26 @ispeakc0de @Jonsy13 @rajdas98 @uditgaurav

2.3.0

15 Nov 11:39
5894e03
Compare
Choose a tag to compare

New Features & Enhancements

  • Adds support for ipv6 inside network experiments and other litmus components which enable us to run litmus on ipv6 (ipFamily) clusters

  • During the initial few seconds of the pod run, sometimes pods failed to request the kubeapi server. Adds the retries inside experiment & runner pods while querying kubeapi server.

  • Upgrade the Pumba older version(0.8.0) to the latest version. It fixes the vulnerability of the Pumba binaries.

  • Adds the networking policies permissions(which are required for the pod-network-partition experiment) inside the litmus-admin rbac.

  • Removes an extra job-name label from the helper pods and refactor the experiment code to improve the logs

  • Fixes stress chaos experiment with Pumba lib to take custom stress image

  • Reorder the RBAC permissions and add comments description for all the experiments

  • Updates the Kyverno pod security policies. Also, enhance the FAQ and PSP in the experiment-docs

  • Adds test-cases, readme, and rbac for pod-delete experiment in litmus-python. Modified the litmus-python SDK documentation for the latest changes

  • Introduces chaosresult tag annotation to the dashboard for Postgres to add.

  • Enhance e2e-dashboard to include card view for different pipelines, support dark-mode, and add all-workflows.

ChaosCenter -

  • Fixed Subscriber version compatibility check for the smooth upgrade process.

  • Upgraded Litmus-ui version for components optimization.

  • Updated the token name to litmus-cc-token.

  • Added advanced tune section for workflows for better visibility & allowing users to have more control over workflows.

  • Optimized upload functionality for allowing upload of basic argo workflow ( Users will be able to run any generic workflow )

  • Fixed some bugs in the frontend & graphql-server.

  • Enhanced E2E pipeline by adding resource validation on k8s cluster after scheduling the workflows.

Note:

  • With this release of ChaosCenter, Litmus core components are upgraded to v2.2.0 & default chaoshub is updated to 2.2.x

Installation

Litmus-2.3.0 (Stable) Cluster Scope manifest

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.3.0/mkdocs/docs/2.3.0/litmus-2.3.0.yaml

Or

Litmus-2.3.0 (Stable) namespace scope manifest.

export LITMUS_PORTAL_NAMESPACE="<namespace>"
kubectl create ns ${LITMUS_PORTAL_NAMESPACE}
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/litmus-portal-crds.yml
curl https://raw.githubusercontent.com/litmuschaos/litmus/2.3.0/mkdocs/docs/2.3.0/litmus-namespaced-2.3.0.yaml --output litmus-portal-namespaced-k8s-template.yml
envsubst '${LITMUS_PORTAL_NAMESPACE}' < litmus-portal-namespaced-k8s-template.yml > ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml
kubectl apply -f ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml -n ${LITMUS_PORTAL_NAMESPACE}

2.2.0

13 Oct 14:33
0248d4a
Compare
Choose a tag to compare

New Features & Enhancements

  • Adds more secure litmus hardened alpine base images to all litmus components.

  • Fixes the image vulnerability, add security scanner and health checks for all the litmus components

  • Adds the ability to provide terminationGracePeriodSeconds inside the helper pods. This also fixes the execution of node-level service kill experiments for a longer chaos duration.

  • Refactor the experiments with enhanced logging, error handling, and go-report.

  • Adds support to execute the vm-poweroff experiment in serial or parallel sequence

  • Adds the okteto configuration to test the experiments generated by litmus python-sdk

  • Introduces E2E tests for the litmus-python repository via GitHub actions

  • Adds kyverno pod security policies for the litmus pods to enable the execution of all supported (out-of-the-box) experiments listed in the chaoshub.

  • Adds the support of the hostNetwork inside the cmdProbe in workflows.

  • Introduced a first-cut visualization of the e2e dashboard to monitor different pipelines and stability of an experiment

  • Add a new pipeline to test GCP based chaos experiments that is vm-instance-stop and vm-disk-loss tests

ChaosCenter

  • Adds frontend Bug fixes in Probes wizard, Analytics & Teaming

  • Adds Nginx configuration in a separate configMap for more configuration

  • Adds kelseyhightower/envconfig pkg for validating the environment variables

  • Adds RBAC for the newly added mutations

  • Adds Agent Upgrade feature, which will help in upgrading agents when the control plane is upgraded.

  • Moves DB_ADMIN, DB_PASSWORD, and JWT_SECRET environment variables to k8s secret

  • Adds option for adding tolerations to the agent plane components using litmusctl

  • Enhances the ChaosCenter e2e pipeline for testing with LoadBalancer & Ingress based access setups.

Note:

  • With this release of ChaosCenter, Litmus core components are upgraded to v2.1.1, which is having cmd probeSchema changes. In case users have their workflows scheduled with an older schema, they will have to update it according to the new schema.

  • For using agent upgrade feature & tolerations addition to agents plane components, Users have to use v0.5.0 of litmusctl

Installation

Litmus-2.2.0 (Stable) Cluster Scope manifest

kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.2.0/mkdocs/docs/2.2.0/litmus-2.2.0.yaml

Or

Litmus-2.2.0 (Stable) namespace scope manifest.

export LITMUS_PORTAL_NAMESPACE="<namespace>"
kubectl create ns ${LITMUS_PORTAL_NAMESPACE}
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/litmus-portal-crds.yml
curl https://raw.githubusercontent.com/litmuschaos/litmus/2.2.0/mkdocs/docs/2.2.0/litmus-namespaced-2.2.0.yaml --output litmus-portal-namespaced-k8s-template.yml
envsubst '${LITMUS_PORTAL_NAMESPACE}' < litmus-portal-namespaced-k8s-template.yml > ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml
kubectl apply -f ${LITMUS_PORTAL_NAMESPACE}-ns-scoped-litmus-portal-manifest.yml -n ${LITMUS_PORTAL_NAMESPACE}