Chaosblade Versions Save

An easy to use and powerful chaos engineering experiment toolkit.(阿里巴巴开源的一款简单易用、功能强大的混沌实验注入工具)

v1.7.3

4 months ago

This release adds some new drill experiment, fixes some bugs in 1.7.2

What's Changed

New Contributors

Installation

For Host

Download chaosblade-1.7.3-linux-amd64.tar.gz to the host and unzip it.

  • ARCH: amd64

For Kubernetes

Install

helm repo add chaosblade-io https://chaosblade-io.github.io/charts
helm install chaosblade chaosblade-io/chaosblade-operator --namespace chaosblade

Default image repository is ghcr.io/chaosblade-io/chaosblade-tool and ghcr.io/chaosblade-io/chaosblade-operator, you can append --set blade.repository or --set operator.repository flag to change the image repository. For examples:

helm install chaosblade-operator chaosblade-io/chaosblade-operator --namespace chaosblade --set blade.repository=chaosbladeio/chaosblade-tool,operator.repository=chaosbladeio/chaosblade-operator 

Uninstall

helm uninstall chaosblade-operator --namespace chaosblade

Full Changelog: https://github.com/chaosblade-io/chaosblade/compare/v1.7.2...v1.7.3

v1.7.2

11 months ago

This release adds some new drill experiment, fixes some bugs in 1.7.1.

Features

  • feature: Add dns down. @lengdanran (chaosblade-io/chaosblade-exec-os#156)
  • feature: Add two redis experiments. @Yuaninga (chaosblade-io/chaosblade-exec-middleware#5)

What's Changed

  • fix: failed to create the systemd experiment. @Yuaninga (chaosblade-io/chaosblade-exec-os#147)
  • fix error when use exclude port in tc. @xlgao-zju (chaosblade-io/chaosblade-exec-os#149)
  • fix file chmod bug. @hengyoush (chaosblade-io/chaosblade-exec-os#154)
  • fix: Remove unused import pkg path. @lengdanran (chaosblade-io/chaosblade-exec-os#157)
  • fix: oom fill with precision. @binbin0325 (chaosblade-io/chaosblade-exec-jvm#157)
  • fix: getActionFlag parseBoolean. @binbin0325 (chaosblade-io/chaosblade-exec-jvm#290)
  • fix a typo from design.md. @cxxCoolStar (chaosblade-io/chaosblade-exec-jvm#298)
  • fix: unable to access java.lang in JDK 11 version. @beiketianzhuang (chaosblade-io/chaosblade-exec-jvm#301)
  • fix: jackson-core version bump to 2.12.7. @tiny-x (chaosblade-io/chaosblade-exec-jvm#308)
  • fix: cgroups load failed, cgroups: cgroup delete. @tiny-x (chaosblade-io/chaosblade-exec-cri#12)

Installation

For Host

Download chaosblade-1.7.2-linux-amd64.tar.gz to the host and unzip it.

  • ARCH: amd64

For Kubernetes

Install

helm repo add chaosblade-io https://chaosblade-io.github.io/charts
helm install chaosblade chaosblade-io/chaosblade-operator --namespace chaosblade

Default image repository is ghcr.io/chaosblade-io/chaosblade-tool and ghcr.io/chaosblade-io/chaosblade-operator, you can append --set blade.repository or --set operator.repository flag to change the image repository. For examples:

helm install chaosblade-operator chaosblade-io/chaosblade-operator --namespace chaosblade --set blade.repository=chaosbladeio/chaosblade-tool,operator.repository=chaosbladeio/chaosblade-operator 

Uninstall

helm uninstall chaosblade-operator --namespace chaosblade

v1.7.1

1 year ago

This release adds some new drill experiment, fixes some bugs in 1.7.0.

Features

What's Changed

  • move file backup

  • fix: Change the value pass in slope to a reference pass

  • Fix variable name error, from precpu to percpu.

  • delete docker yaml build

  • optimize: support mongo count method

  • spring security plugin

  • extension of log plugin enable it to support log4j2

  • Extend plugin-mysql to support shardingJdbc

  • fix http b-params

  • optimize: modify the wrong class comment

  • Complete makefile to build arm64 image.

  • Fix bug: can not find nodes

  • fix: get containerId when getting matched container

  • feat: add node file

  • add node and pod about file exprient examples

Installation

For Host

Download chaosblade-1.7.1-linux-amd64.tar.gz to the host and unzip it.

  • ARCH: amd64

For Kubernetes

Install

Download chaosblade-operator-1.7.1.tgz package to install.

helm install chaosblade-operator chaosblade-operator-1.7.1.tgz --namespace chaosblade

Default image repository is chaosbladeio/chaosblade-tool and chaosbladeio/chaosblade-operator, you can append --set blade.repository or --set operator.repository flag to change the image repository. For examples:

helm install chaosblade-operator chaosblade-operator-1.7.1.tgz --namespace chaosblade --set blade.repository=chaosbladeio/chaosblade-tool,operator.repository=chaosbladeio/chaosblade-operator 

Uninstall

helm uninstall chaosblade-operator --namespace chaosblade

New Contributors

Full Changelog: https://github.com/chaosblade-io/chaosblade/compare/v1.7.0...v1.7.1

v1.7.0

1 year ago

This release adds some new drill experiment, fixes some bugs in 1.6.*, and greatly improves jvm performance optimization.

Features

  • Add time travel experiment.
  • Made process kill and stop support --pid flag
  • Undepends on blade binaries
  • Depend sandbox 1.3.4 to support jdk18
  • Lazy load plugin (#663)
  • Add plugin zookeeper and clickhouse (chaosblade-io/chaosblade-exec-jvm#235)

Bugfixes

  • Pod mem exp
  • Cri yaml scope
  • Kill k8s pod with multi labels not work. (chaosblade-io/chaosblade#770)
  • Add missing files from clickhouse plugin'
  • Servlet support business params (chaosblade-io/chaosblade-exec-jvm#261)
  • Mock value by expr (chaosblade-io/chaosblade#743)
  • Create injection failed:null
  • Fix node cpu exp (#172 )
  • Fix: ssh exec (#755 )
  • Fix spec to build chaosblade.spec.yaml (#780 )
  • Fix prepare cplus process name

What's Changed

Installation

For Host

Download chaosblade-1.7.0-linux-amd64.tar.gz to the host and unzip it.

  • ARCH: amd64

For Kubernetes

Install

Download chaosblade-operator-1.7.0.tgz package to install.

helm install chaosblade-operator chaosblade-operator-1.7.0.tgz --namespace chaosblade

Default image repository is chaosbladeio/chaosblade-tool and chaosbladeio/chaosblade-operator, you can append --set blade.repository or --set operator.repository flag to change the image repository. For examples:

helm install chaosblade-operator chaosblade-operator-1.7.0.tgz --namespace chaosblade --set blade.repository=chaosbladeio/chaosblade-tool,operator.repository=chaosbladeio/chaosblade-operator 

Uninstall

helm uninstall chaosblade-operator --namespace chaosblade

New Contributors

Full Changelog: https://github.com/chaosblade-io/chaosblade/compare/v1.6.0...v1.7.0

v1.6.1

1 year ago

This release is based on the 1.6.0-Alpha release with a number of bug fixes and improved stability.

Features

  • Network dns support multiple domain. (chaosblade-io/chaosblade-exec-os#110)
  • Add spring cloud feign plugin. (chaosblade-io/chaosblade-exec-jvm#249)

Bugfixes

  • Fix Action flag bind default value from spec.ExpFlagSpec. (#683)
  • Error passing arguments to chblade-exec-os. (#708)
  • Fix Eliminate useless for loops. (#709)
  • Fix a typo in check_os.go. (#710)
  • Fix deleting multiple experiments when specifying uid. (chaosblade-io/chaosblade-exec-os#114)
  • Fix cpu variable name precpu to perCpu. (chaosblade-io/chaosblade-exec-os#117)
  • Fix cpu exp destroy mode when suid is empty. (chaosblade-io/chaosblade-exec-os#118)
  • Fix network port parse. (chaosblade-io/chaosblade-exec-os#120)
  • Fix mem exp avoid-being-killed flag invlid. (chaosblade-io/chaosblade-exec-os#120)
  • Fix exclude port not work in ipv6. (chaosblade-io/chaosblade-exec-os#121)
  • Fix network destroy. (chaosblade-io/chaosblade-exec-os#123)
  • Fix select containers by labels. (chaosblade-io/chaosblade-exec-cri#6)
  • Fix container network dns exp. (chaosblade-io/chaosblade-exec-cri#6)
  • Fix ns common executor's destroy command for network experiment. (chaosblade-io/chaosblade-operator#151)
  • Fix nsexec for stress experiment. (chaosblade-io/chaosblade-operator#156)
  • Fix get template url return null problem. (chaosblade-io/chaosblade-exec-jvm#251)

Others

  • Update jvm-sandbox version to 1.3.3. (chaosblade-io/chaosblade-exec-jvm#256)

Installation

For Host

Download chaosblade-1.6.1-linux-ARCH.tar.gz to the host and unzip it.

  • ARCH: amd64

For Kubernetes

Install

Download chaosblade-operator-1.6.1.tgz package to install.

helm install chaosblade-operator chaosblade-operator-1.6.1.tgz --namespace chaosblade

Default image repository is chaosbladeio/chaosblade-tool and chaosbladeio/chaosblade-operator, you can append --set blade.repository or --set operator.repository flag to change the image repository. For examples:

helm install chaosblade-operator chaosblade-operator-1.6.1.tgz --namespace chaosblade --set blade.repository=chaosbladeio/chaosblade-tool,operator.repository=chaosbladeio/chaosblade-operator 

Uninstall

helm uninstall chaosblade-operator --namespace chaosblade

v1.6.0

2 years ago

This release mainly updates execution through the input process namespace, no longer requires the copy tool, this is the alpha release, please use caution.

Features

  • Experiment by entering the process namespace, eliminating the need for replication tools
  • Merge docker and cri exp
  • Support container jvm exp
  • Merge OS bin to reduce package size

Changes involved

  • chaosblade-io/chaosblade#703
  • chaosblade-io/chaosblade-exec-os#112
  • chaosblade-io/chaosblade-spec-go#42
  • chaosblade-io/chaosblade-exec-cri#4
  • chaosblade-io/chaosblade-operator#149

Others

  • Improvement compilation

Installation

For Host

Download chaosblade-1.6.0-linux-ARCH.tar.gz to the host and unzip it.

  • ARCH: amd64

For Kubernetes

Install

Download chaosblade-operator-1.6.0.tgz package to install.

helm install chaosblade-operator chaosblade-operator-1.6.0.tgz --namespace chaosblade

Default image repository is chaosbladeio/chaosblade-tool and chaosbladeio/chaosblade-operator, you can append --set blade.repository or --set operator.repository flag to change the image repository. For examples:

helm install chaosblade-operator chaosblade-operator-1.6.0.tgz --namespace chaosblade --set blade.repository=chaosbladeio/chaosblade-tool,operator.repository=chaosbladeio/chaosblade-operator 

Uninstall

helm uninstall chaosblade-operator --namespace chaosblade

v1.5.0

2 years ago

This version supports Kubernetes v1.22 and fixes some bugs of the previous version. Supports Java experimental scenes in the container.

Features

  • Support Kubernetes v1.22. (chaosblade-io/chaosblade-operator#129)
  • Support for in-container Java experiments. (chaosblade-io/chaosblade-exec-cri#1)
  • Support getBusinessParams method in Dubbo Provider scene (chaosblade-io/chaosblade-exec-jvm#217)

Bugfixes

  • Fix the error when destroying the network experiment. (chaosblade-io/chaosblade-exec-os#105)
  • Fix the execution failure of file content appending scene. (chaosblade-io/chaosblade-exec-os#106)
  • Fix memory overflow experimental scene problem. (chaosblade-io/chaosblade-exec-os#107)
  • Fix dubbo thread pool doesn't take effect under some conditions.(chaosblade-io/chaosblade-exec-jvm#222)
  • Fix the problem that the business param parameter is empty. (chaosblade-io/chaosblade-exec-jvm#216)

Others

  • Fix compilation error

Thanks for the contributors: @sanxun0325 @wufunc @jfl929930 @MandssS @xcaspar

Installation

For Host

Download chaosblade-1.5.0-linux-ARCH.tar.gz to the host and unzip it.

  • ARCH: amd64, arm64

For Kubernetes

Install

Download chaosblade-operator-1.5.0.tgz package to install.

helm install chaosblade-operator chaosblade-operator-1.5.0.tgz --namespace chaosblade

Default image repository is chaosbladeio/chaosblade-tool and chaosbladeio/chaosblade-operator, you can append --set blade.repository or --set operator.repository flag to change the image repository. For examples:

helm install chaosblade-operator chaosblade-operator-1.5.0.tgz --namespace chaosblade --set blade.repository=chaosbladeio/chaosblade-tool,operator.repository=chaosbladeio/chaosblade-operator 

Uninstall

helm uninstall chaosblade-operator --namespace chaosblade

v1.4.0

2 years ago

Please use the latest version.

This version supports new features such as containerd container, Linux arm64 (aarch64) platform, and support for Java application business-level data matching.

Features

  • Add add business data match in java chaos experiments. (chaosblade-io/chaosblade-exec-jvm#204)
  • Support turning off the printing of the debug log in java chaos experiments. (chaosblade-io/chaosblade-exec-jvm#206)
  • Exclude the influence of JAVA_TOOL_OPTIONS variable. (#577)
  • Add new way of process search. (chaosblade-io/chaosblade-spec-go#32)
  • Added support for containerd container chaos experiments. Later, the container chaos experiments will be updated in the chaosblade-exec-cri project, and the original chaosblade-exec-docker project will no longer be maintained. Support for arm64 system platform, including host(VM)、kubernetes.

Bugfixes

  • Fix the problem of wrong return value of destroy under non root Linux.(chaosblade-io/chaosblade-exec-os#100)
  • Fix conflict of flags.(chaosblade-io/chaosblade-spec-go#33)
  • Handle the failure to read the os-release file (chaosblade-io/chaosblade-exec-os#98)
  • Fix async http client call-point feature and rest timeout. (chaosblade-io/chaosblade-exec-jvm#200)
  • Fix asynchronous experiment creation. (#564)
  • Fix the return code of the check result under ok condition. (#565)

Others

  • Setting once initially for seed PRNG. (chaosblade-io/chaosblade-spec-go#37)
  • Network delay: set default offset value to 0 (chaosblade-io/chaosblade-exec-os#97)
  • Build and deploy optimize in chaosblade-operator project. (chaosblade-io/chaosblade-operator#115)
  • Optimize sqllit access closure. (#614)

Thanks for the contributors: @MandssS @wufunc @zhucegep @NigelWu95 @ms2008 @sanxun0325 @laixintao @Grrui @jfl929930 @xcaspar

Installation

In stand-alone mode, download the installation package and unzip it before use. Kubernetes cluster, please refer to https://github.com/chaosblade-io/chaosblade-operator#install-and-uninstall

v1.3.0

2 years ago

This version adds many new Java plugins, enhances the kubernetes experiment capabilities, and fixes many problems. The version introduction: EN , 中文

Features

  • Support download mode for deploying chaosblade tool to target container. (#553)
  • Support chaosblade-tool daemonset yaml configuration. (#527)
  • Support for using container-name to execute container experiments .(#522)
  • Add action and flag parameter in status command.(#519)
  • Add chaosblade-override flag to re-deploy chaosblade tool to target container. (#523)
  • Add refresh flag to support java agent reloading. (#528)
  • Change jvm-sandbox namespace from default to chaosblade. (#525)
  • Support systemd stop feature. (chaosblade-io/chaosblade-exec-os#90)
  • Support spring cloud gateway plugin. (chaosblade-io/chaosblade-exec-jvm#197)
  • Support jvm fullgc experiment. (chaosblade-io/chaosblade-exec-jvm#184)
  • Support logback plugin for chaos. (chaosblade-io/chaosblade-exec-jvm#183)
  • Support regex pattern parameter for servlet to minimize blast radius. (chaosblade-io/chaosblade-exec-jvm#177)
  • Support httpclient timeout feature. (chaosblade-io/chaosblade-exec-jvm#174)
  • Support for specifing javaHome when creating java experiments. (#551)

Bugfixes

  • Fix "dd: invalid argument dsync to oflag" error. (chaosblade-io/chaosblade-exec-os#94)
  • Fix mem-burn process killed too early by kernel oom_killer (chaosblade-io/chaosblade-exec-os#89)
  • Fix error message for server response is not json in 1.2.0 version. (#513)
  • Fix destroy experiment failed for pod network experiments.

Others

  • Update result return format

Thanks for the contributors: @zhucegep @arthur657834 @kelvinguo0210 @buhuipao @carolwu-1206 @tiny-x @shihaodong8899 @orangle @xcaspar

Other download addresses

aliyun oss

chaosblade-1.3.0-linux-amd64.tar.gz chaosblade-1.3.0-darwin-amd64.tar.gz chaosblade-operator-1.3.0-v2.tgz chaosblade-operator-1.3.0-v3.tgz

Docker images

chaosblade-tool:1.3.0

registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-tool:1.3.0 chaosbladeio/chaosblade-tool:1.3.0 (hub.docker.com)

chaosblade-operator:1.3.0

registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-operator:1.3.0 chaosbladeio/chaosblade-operator:1.3.0 (hub.docker.com)

v1.2.0

2 years ago

This version enhances stability and fixes the problem of slow pod execution for a large number of pods and separate cli, chaosblade-exec-os.

Features/Enhancements

  • Support async create. (#504 )
  • Separate cli and exec-os. (#505)
  • Parallelize exec command in matched pods. (chaosblade-io/chaosblade-operator#78 )

Bug Fixes

  • Copy chaos_os bin. (chaosblade-io/chaosblade-operator#81 )

Thanks for the contributors: @StephenLiuYa

ChaosBlade Operator

Important!! If you update the operator, please follow these steps:

  1. Delete crd: kubectl delete crd chaosblades.chaosblade.io. If no results are returned for a long time, please execute the following command:
blades=($(kubectl get blade | grep -v NAME | awk '{print $1}' | tr '\n' ' ')) && kubectl patch blade $blades --type merge -p '{"metadata":{"finalizers":[]}}'
  1. Delete operator: helm delete xxxx
  2. Reinstall the operator.

Other download addresses

aliyun oss chaosblade-1.2.0-linux-amd64.tar.gz chaosblade-1.2.0-darwin-amd64.tar.gz chaosblade-operator-1.2.0-v2.tgz chaosblade-operator-1.2.0-v3.tgz

Docker images

chaosblade-tool:1.2.0

registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-tool:1.2.0 chaosbladeio/chaosblade-tool:1.2.0 (hub.docker.com)

chaosblade-operator:1.2.0

registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-operator:1.2.0 chaosbladeio/chaosblade-operator:1.2.0 (hub.docker.com)