Skip to content

Releases: litmuschaos/litmus

2.13.0

15 Sep 14:11
41b546a
Compare
Choose a tag to compare

Release Notes (2.13.0)

Core Component Updates -

  • Enhance network experiments to derive IPs of the pods for Kubernetes service if the target pod has a service mesh sidecar. This will enable us to run all network chaos experiments with service mesh enabled effectively. litmuschaos/litmus-go#558

  • Adds Chaos SDK Templates for non-Kubernetes experiments (that is aws, gcp, vmware, azure) this will help us to speed up the experiment development process with a proper template for non-k8s services. To know more refer to the developer docs. litmuschaos/litmus-go#560

  • Fixes the stress-chaos experiments to run chaos (helper pod) with minimum capabilities. This will allow running the stress experiments in a restricted environment (like Openshift) with lesser capabilities as mentioned in SCC docs. litmuschaos/litmus-go#557

  • Enhance the HTTP status code experiment to have the ability to modify the response body. Also, it adds support to provide the content type and encoding for the body in modify body and status code experiment. litmuschaos/litmus-go#556

  • Adds the ability to provide custom Service Account value for helper pod using CHAOS_SERVICE_ACCOUNT Env. It is optional, if not provided the helper pod will run with the same service account as the experiment pod. litmuschaos/chaos-runner#178

  • Enhance chaos-operator to enable the leader-elect this ensures with multiple replicas a leader is elected and is the only one actively reconciling the set.litmuschaos/chaos-operator#417

  • Refactor chaos operator code to convert the History field in ChaosResult spec as a Go pointer. litmuschaos/chaos-operator#416

  • Enhance the chaos (helper pod) status check when waiting for completion with proper error handling. litmuschaos/litmus-go#552

  • Adds document content for a better understanding of new HTTP chaos experiments and tunables. #3755

ChaosCenter Updates -

  • Adds enhancement in chaos-scenarios replacing instance-id label with workflow-run-id, which is generated at runtime resulting in unique scenario/run creation on any scenario CRUD operations #3758

  • Upgraded chaos operator go-pkg to 2.12.0 in gql-server & subscriber introducing support for source imagePullSecrets in chaosEngine & along with updates in core components based on 2.12.0. #3759

  • Updated CRDs for ChaosEngines with source attributes updates in 2.12.0 CRD manifest #3742

  • Adds support for providing service-type & makes clusterIP as default service-type for all services in helm-chart litmuschaos/litmus-helm#257

LitmusCTL Updates -

Shoutouts!

Thanks to our existing and new contributors for this release- @chandra-dixit-hcl @alebcay @Jasstkn @amityt @Saranya-jena @SarthakJain26 @Adarshkumar14 @Jonsy13 @ispeakc0de @avaakash @uditgaurav

Installation

Litmus-2.13.0 (Stable) cluster scope manifest

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

Or

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

Upgrading from 2.12.0 to 2.13.0

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

New Contributors

Full Changelog: 2.12.0...2.13.0

2.12.0

12 Aug 16:45
90021fe
Compare
Choose a tag to compare

Release Notes (2.12.0)

Core Component Updates:

  • Adds toxicity support in HTTP Chaos experiments. Toxicity can be used to define the percentage of HTTP requests that should be affected for example 50% toxicity will mean only half of the HTTP requests will be affected. litmuschaos/litmus-go#544

  • Introduce randomized status code selection when multiple status code is provided as a fault in input for HTTP status code chaos experiment. litmuschaos/litmus-go#545

  • Adds support for experiments with helper pod in chaoslib in litmus SDK with this, the user can create a chaos template with helper pod model using the same litmus SDK. litmuschaos/litmus-go#546

  • Adds support for imagePullSecret in source cmd Probe this will enable the user run cmd probe pod with private image. litmuschaos/chaos-operator#415

  • Fixes litmus-e2e pipeline and unit test pipeline by specifying version for creating k3s cluster. litmuschaos/litmus-e2e#391

  • Fixes chaos execution on openshift-4.x by providing finalizer permission to chaos-operator service account, with the new operator upgrade in litmus 2.11.0 brings down this requirement. litmuschaos/chaos-operator#413

  • Fixes chaos-operator vulnerabilities detected by snyc and trivy in the build pipeline. litmuschaos/chaos-operator#414

ChaosCenter Updates -

  • Adds an advanced tuning feature for experiments individually with more supported configurations #3715

  • Adds a new feature for connecting a remote ChaosHub to ChaosCenter #3722

  • Adds a new API getServerVersion for fetching GQL server version #3721

  • Makes clusterIP to be used by default for generating endpoints for internal delegates/self-agent #3709

  • Adds an additional permission required for execution plane to be deployed in openshift clusters #3708

  • Upgrades gopkgs for Chaos-Operator to v2.11.0 & Argo to v3.3.1 reducing some of the vulnerabilities in Graphql-server & Subscriber. #3718

  • Removes the support for dashboards & datasources configuration from UI. #3716

  • Fixes a bug of workflow getting failed when using dex/ providing email as username #3705

  • Fixes a bug of frontend crashing when providing invalid cron-syntax #3714

  • Fixes a bug when editing schedule for first time due to state not getting cleaned up #3727

  • Adds fix for workflows comparison plot not coming #3729

  • Adds fix for logs not coming for install experiments step #3729

  • Adds fix for UI not getting updated for deactivate user and created_at column showing invalid date in Users Table in admin-account #3733

Litmusctl Updates -

  • With litmusctl 0.12.0 release, we have updated some commands with the new terminologies ✨:

    • litmusctl connect agent is now litmusctl connect chaos-delegate
    • litmusctl disconnect agent is now litmusctl disconnect chaos-delegate
    • litmusctl get agents is now litmusctl get chaos-delegates
    • litmusctl create workflow is now litmusctl create chaos-scenario
    • litmusctl delete workflow is now litmusctl delete chaos-scenario
    • litmusctl describe workflow is now litmusctl describe chaos-scenario
    • litmusctl get workflows is now litmusctl get chaos-scenarios
    • litmusctl get workflowruns is now litmusctl get chaos-scenario-runs
    • litmusctl upgrade agent is now litmusctl upgrade chaos-delegate
  • Improves error handling logic for upgrade chaos-delegate, describe chaos-scenario and disconnect agent commands. litmuschaos/litmusctl#81

  • Adds --kubeconfig flag in upgrade chaos-delegate command. litmuschaos/litmusctl#89

  • Adds fix for passing namespace in the SelfSubjectAccessReviews function. litmuschaos/litmusctl#82

  • litmusctl will now prompt if installed version of litmusctl is not compatible with installed litmus control plane. litmuschaos/litmusctl#84

  • Users can check the compatibility matrix in the readme or by using litmusctl version command. litmuschaos/litmusctl#84

Users can also find the commands in readme: https://github.com/litmuschaos/litmusctl#readme

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 directory will be renamed to experiments directory and workflows will be renamed to scenarios directory. Same changes have been already done in 2.11.0 branch/version of ChaosHub. So, Users are requested to upgrade their ChaosHub directory structure with provided changes before upgrading to upcoming release - 2.13.0 version of ChaosCenter.

Shoutouts!

Thanks to our existing and new contributors for this release- @dnielsen @deividMatos @amityt @Saranya-jena @SarthakJain26 @Adarshkumar14 @imrajdas @Jonsy13

Full Changelog: 2.11.0...2.12.0

Installation

Litmus-2.12.0 (Stable) cluster scope manifest

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

Or

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

Upgrading from 2.11.0 to 2.12.0

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

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