Releases: litmuschaos/litmus
3.0.0-beta6
What's Changed
- Removing bettercodehub (Better Code Hub has retired!) and betterci by @imrajdas in #3921
- Update directory name from MyHub to ChaosHub by @namkyu1999 in #3928
- Move to using interface for better mocking at chaoshub package by @namkyu1999 in #3933
- chore(docs): Replaces default container runtime to containerd by @neelanjan00 in #3905
- [ChaosCenter]: Migrating graphql-server from Gorilla mux to Gin (#3923) by @namkyu1999 in #3923
- Adding .gitattributes to show golang as the major lang for litmus project by @imrajdas in #3942
- chore: migrate from k8s.gcr.io to registry.k8s.io by @ahmedwaleedmalik in #3945
- Better logging for backend components by @namkyu1999 in #3939
- chore(3.0.0-beta6): Adding the manifests for 3.0.0-beta6 by @ispeakc0de in #3948
- Added upgrade agent changes for 3.0.0-beta6 by @amityt in #3949
- Updated version in 3.0.0-beta6 manifest by @amityt in #3950
- Updating the litmus SDK to latest experiment schema by @ispeakc0de in litmuschaos/litmus-go#644
- ProbeSuccessPercentage should not be 100% if experiment terminated with Error by @ispeakc0de in litmuschaos/litmus-go#645
- Update Probe failure descriptions and error codes by @neelanjan00 in litmuschaos/litmus-go#648
- Adding units(ms,s,m,h) to the probe duration fields by @ispeakc0de in litmuschaos/litmus-go#650
New Contributors
- @namkyu1999 made their first contribution in #3928
- @ahmedwaleedmalik made their first contribution in #3945
Full Changelog: 3.0.0-beta5...3.0.0-beta6
3.0.0-beta5
What's Changed
- chore(docs): Removes kafka and cassandra experiment charts by @neelanjan00 in #3904
- Changed container path to socket path and runtime by @avaakash in #3909
- feat: Improving the env vars management in the graphql-server by @imrajdas in #3868
- Removing subscriberConfigurationVars struct and make the envs reusable from variables.go and improving some go functions by @imrajdas in #3913
- Replacing ArgoWorkflowControllerImage environment variable by @imrajdas in #3916
- Fixing node selector and toleration issue while generating the delegate manifest by @imrajdas in #3920
- Added version changes in upgrade agent and updated readme with 3.0.0-beta5 by @amityt in #3914
- Added experiment verdict as Error inside ChaosResult by @ispeakc0de in litmuschaos/litmus-go#637
- Added backend compatibility to probe retry by @ispeakc0de in litmuschaos/litmus-go#639
- Updated the HTTP probe interval to ms by @neelanjan00 in litmuschaos/litmus-go#643
Full Changelog: 3.0.0-beta4...3.0.0-beta5
3.0.0-beta4
What's Changed
- removed usage of fonts.googleapis.com (#3698) by @krak7602 in #3815
- chore(rbac): adding deletecollection permissions in server by @ispeakc0de in #3889
- (update)(maintainers)update maintainer list for litmus org by @ksatchit in #3890
- (fix)maintainers: fix typos in maintainers file by @ksatchit in #3891
- Updating Raj Das username and email in Maintainer.md by @imrajdas in #3893
- Adding manifest and readme for litmus-3.0.0-beta4 by @Adarshkumar14 in #3898
- Updating the Upgrade agent version by @Adarshkumar14 in #3899
- Added the capability to generate a distinct run ID for a given timestamp has been included by @ispeakc0de in litmuschaos/litmus-go#633
- Probe timeout unit has been converted to milliseconds by @ispeakc0de in litmuschaos/litmus-go#634
- Added filtering VM instances by tag by @avaakash in litmuschaos/litmus-go#635
- The probe retries have been modified to simplify the mean time to repair (MTTR) and utilize the per-attempt timeout by @ispeakc0de in litmuschaos/litmus-go#636
New Contributors
Full Changelog: 3.0.0-beta3...3.0.0-beta4
3.0.0-beta3
Release Notes
Core Component Updates -
-
Added the sidecar support to the experiment and helper pods by @ispeakc0de in litmuschaos/litmus-go#630
-
Added the probe failure root cause inside the probe description of the chaosresult by @ispeakc0de in litmuschaos/litmus-go#628
-
Added the chaosengine labels inside the experiment pod by @ispeakc0de in litmuschaos/chaos-runner#189
ChaosCenter(3.0.0-beta3) Updates -
-
Delete the subscriber by its labels by @ispeakc0de in #3867
-
Fixed the bug when chaos logs from subscriber contains special character & UI shows experiment in Running state infinitely by @ispeakc0de in #3886
Full Changelog: 3.0.0-beta2...3.0.0-beta3
3.0.0-beta2
Release Notes
Core Component Updates -
-
Simplified the error logging with a stack trace and added user-friendly fail steps by @ispeakc0de in litmuschaos/litmus-go#615
-
Depreciated the Pumba and Powerfulseal libs by @ispeakc0de in litmuschaos/litmus-go#613
-
Enhanced the disk-fill experiment to use pod PID instead of container path by @avaakash in litmuschaos/litmus-go#605
ChaosCenter(3.0.0-beta2) Updates -
-
Adding multiple workloads and pod filtering by @ispeakc0de in #3836
-
Updated upgrade agent for 3.0.0-beta2 and minor fix with version checks by @amityt in #3860
-
Fixed analytics graph and empty retry option in probes by @amityt in #3861
Litmusctl (0.16.0) -
-
Made
litmsuctl create scenario
command independent ofinstall-chaos-experiments
step by @iamnicoj in litmuschaos/litmusctl#114 -
Enhanced Litmusctl to check for existence of
workflowName
before scheduling & add the same if not present already by @iamnicoj in litmuschaos/litmusctl#117
Shoutouts!
Thanks to our existing and new contributors for this release
@iamnicoj @amityt @Saranya-jena @ispeakc0de @avaakash
Full Changelog: 3.0-beta1...3.0.0-beta2
3.0-beta1
Release Notes (3.0-beta1)
-
Improved scalability in the execution of network & stress experiments via helper pod optimization (one helper per node).
-
Introduction of new experiment category for chaos on springboot applications.
-
Enhanced K8s probe which allows filter by resource names (in addition to label and field selectors).
-
Fixes regression caused in experiment helper base images which prevents execution of privileged tasks.
-
Simplification of chaos candidate selection process - via removal of annotation checks.
-
Fixes a bug (race condition) in installation of execution plane components (workflow controller/configmap).
2.14.0
Release Notes (2.14.0)
Core Component Updates -
-
Adds the containerd CRI support to the DNS experiments litmuschaos/litmus-go#577
-
Adds support for execution of http-chaos experiments in service-mesh environments litmuschaos/litmus-go#578
-
Enhances the network experiments to support port specification in source and destination FQDN/IPs for faults injection litmuschaos/litmus-go#570
-
Adds an option to provide the custom labels to the chaos-runner pod. It can be defined at
spec.components.runner.labels
inside the chaosengine litmuschaos/chaos-operator#427 -
Enhances the cmdprobe-source pods to inherit the experiment pod spec attributes. It allows the source pod to inherit the ENVs, volumes, and volumeMounts litmuschaos/chaos-operator#421
-
Enhances the probe status schema representation inside the chaos-result to add the probe verdict, description, and mode litmuschaos/chaos-operator#419 litmuschaos/litmus-go#566
-
Upgraded the operator-sdk version from 0.15.2 to 1.19.0 to remove the indirect unlicensed dependencies litmuschaos/chaos-operator#420
-
Enhance the HTTP probe to use the global probe timeout as response timeout. litmuschaos/chaos-operator#422
-
Adds the probe retry as an optional parameter inside the probe to support 0 retries(single iteration) and rename the defaultAppHealthCheck to defaultHealthCheck litmuschaos/chaos-operator#424
-
Refactored the chaos-operator for better logging and event creation litmuschaos/chaos-operator#428
-
Fixes chaosresult update conflict issue in abort scenarios litmuschaos/litmus-go#567
-
Fixes the probeSuccessPercentage evaluation inconsistency for the probe failures litmuschaos/litmus-go#568
-
Fixes the stress experiments to clean all the stress-ng child processes during abort litmuschaos/litmus-go#569
-
Adds the steady state checks as tunables based on appHealthChecks parameter inside the chaosengine and removed the AUT status checks from the node and infra experiments litmuschaos/litmus-go#576
ChaosCenter Updates -
-
Enhances MyHub to clone a single branch with one depth #3776 #3792
-
Updates the httpProbe UI screens to remove responseTimeout parameters from the httpProbes/inputs and uses the global timeout #3796
-
Adds the probe retry parameter to an optional field #3797
Shoutouts!
Thanks to our existing and new contributors for this release
@asashiskumarnaik @chinmaym07 @SaptarshiSarkar12 @amityt @avaakash @imrajdas @ispeakc0de @Jonsy13 @neelanjan00 @uditgaurav
Installation
Litmus-2.14.0 (Stable) cluster scope manifest
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.14.0/mkdocs/docs/2.14.0/litmus-2.14.0.yaml
Or
Litmus-2.14.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.14.0/litmus-portal-crds-2.14.0.yml
#Install ChaosCenter
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/2.14.0/litmus-namespaced-2.14.0.yaml -n litmus
Upgrading from 2.13.0 to 2.14.0
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.14.0/mkdocs/docs/2.14.0/upgrade-agent.yaml
Full Changelog: 2.13.0...2.14.0
3.0-beta0
Release Notes (3.0-beta0)
-
Introduction of HTTP Chaos experiment suite
-
Support for network & stress experiments on new versions of Kubernetes (1.21+) & OpenShift (>4.x)
-
Support for network chaos experiments (Latency, Packet Loss, HTTP, DNS) on service-mesh enabled environments
-
Randomization (across range) support for fault inputs
-
Redundancy (HA) for the Chaos Operator
-
Chaos Workflow trigger, list and delete support using CLI (litmusctl)
-
Improved support for containerd & CRIO runtime (DNS, HTTP)
-
More powerful experiment bootstrapping with Litmus SDK
-
Newer faults centered on Kubernetes Nodes (targeting storage volumes)
-
Enabling more powerful hypothesis validation (by widening the scope of command probes)
-
Refactoring of Chaos Server APIs to make them more user-friendly
-
Improvements to the automated e2e test suite
-
Creation of GoogleCodeLabs based Litmus usage tutorials
-
Improvement of security posture (optimization of execution privileges, simplifying docs)
2.13.0
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 -
-
Adds changes for Error handling in litmusctl apply manifest logic for better debugging & Usability. litmuschaos/litmusctl#97
-
Adds .exe extension to binaries on Windows litmuschaos/litmusctl#96
-
Upgrades gopkgs for argo-workflows to
v3.3.1
and chaos-operator to2.12.0
versions reducing vulnerabilities. litmuschaos/litmusctl#98
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
- @chandra-dixit-hcl made their first contribution in #3752
Full Changelog: 2.12.0...2.13.0
2.12.0
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 tov3.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
andcreated_at
column showinginvalid 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 nowlitmusctl connect chaos-delegate
litmusctl disconnect agent
is nowlitmusctl disconnect chaos-delegate
litmusctl get agents
is nowlitmusctl get chaos-delegates
litmusctl create workflow
is nowlitmusctl create chaos-scenario
litmusctl delete workflow
is nowlitmusctl delete chaos-scenario
litmusctl describe workflow
is nowlitmusctl describe chaos-scenario
litmusctl get workflows
is nowlitmusctl get chaos-scenarios
litmusctl get workflowruns
is nowlitmusctl get chaos-scenario-runs
litmusctl upgrade agent
is nowlitmusctl upgrade chaos-delegate
-
Improves error handling logic for
upgrade chaos-delegate
,describe chaos-scenario
anddisconnect agent
commands. litmuschaos/litmusctl#81 -
Adds
--kubeconfig
flag inupgrade 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