chaosblade

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

APACHE-2.0 License

Stars
5.8K
Committers
49

Bot releases are hidden (Show)

chaosblade - v1.7.3 Latest Release

Published by MandssS 10 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

chaosblade - v1.7.3

Published by Yuaninga about 1 year ago

chaosblade - v1.7.2

Published by tiny-x over 1 year 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
chaosblade - v1.7.1

Published by MandssS almost 2 years 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

chaosblade - v1.7.0

Published by MandssS about 2 years 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

chaosblade - 1.6.1

Published by tiny-x over 2 years 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
chaosblade - v1.6.0-alpha

Published by tiny-x over 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
chaosblade - v1.5.0

Published by xcaspar almost 3 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
chaosblade - v1.4.0(Deprecated)

Published by xcaspar almost 3 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

chaosblade - v1.3.0

Published by xcaspar about 3 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)

chaosblade - v1.2.0

Published by tiny-x over 3 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)

chaosblade - v1.0.0-GA

Published by tiny-x over 3 years ago

This is a production-ready GA version, fixes some bug.

Features/Enhancements

  • Servlet return custom status code(4xx,5xx). (chaosblade-io/chaosblade-exec-jvm#166 )

Bug Fixes

  • Fix if jvm restart run experiment error . (480 )
  • Fix cpu percentage in container. (chaosblade-io/chaosblade-exec-os#80 )

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.0.0-linux-amd64.tar.gz
chaosblade-1.0.0-darwin-amd64.tar.gz
chaosblade-operator-1.0.0-v2.tgz
chaosblade-operator-1.0.0-v3.tgz

Docker images

chaosblade-tool:1.0.0

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

chaosblade-operator:1.0.0

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

chaosblade - v0.10.0

Published by tiny-x over 3 years ago

This version supports many scenarios, including Kafka, Hbase, lettuce and more.

Features/Enhancements

  • Support hbase plugin. (chaosblade-io/chaosblade-exec-jvm#154 )
  • Support elasticsearch plugin. (chaosblade-io/chaosblade-exec-jvm#155 )
  • Support thread increased action. (chaosblade-io/chaosblade-exec-jvm#156 )
  • Support redisson. (chaosblade-io/chaosblade-exec-jvm#159 )
  • Support Lettuce client & MySQL Driver 8.x. (chaosblade-io/chaosblade-exec-jvm#160 )
  • Support kafka plugin. (chaosblade-io/chaosblade-exec-jvm#164 )

Bug Fixes

  • Change cpu's kernel to core. (chaosblade-io/chaosblade-exec-os#75 )
  • Fix chaosblade resource status . (chaosblade-io/chaosblade-operator#63 )
  • fix compile. (chaosblade-io/chaosblade-exec-jvm#157)

Others

  • add scenario category in action model
  • Update README_CN.md. (chaosblade-io/chaosblade-operator#59 )

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-0.10.0-linux-amd64.tar.gz
chaosblade-0.10.0-darwin-amd64.tar.gz
chaosblade-operator-0.10.0-v2.tgz
chaosblade-operator-0.10.0-v3.tgz

Docker images

chaosblade-tool:0.10.0

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

chaosblade-operator:0.10.0

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

chaosblade - v0.9.0

Published by tiny-x almost 4 years ago

This version supports regular cleaning of invalid blade crd, fixed the Java experiment destroy problem, support for compiling chaosblade-tool-arm images, and increases stability.

Features/Enhancements

  • Support for build ARM chaosblade-tool images. (#441 )
  • Periodically clean up invalid blade. (chaosblade-io/chaosblade-operator#53 )

Bug Fixes

  • Blade destroy fail. (#440 )
  • Under some systems, processes cannot exit using kill -HUP. (chaosblade-io/chaosblade-exec-os#67 )

Others

  • constraint ExpModel json format. (chaosblade-io/chaosblade-spec-go#18 )

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-0.9.0-linux-amd64.tar.gz
chaosblade-0.9.0-linux-arm64.tar.gz
chaosblade-0.9.0-darwin-amd64.tar.gz
chaosblade-operator-0.9.0-v2.tgz
chaosblade-operator-0.9.0-v3.tgz

Docker images

chaosblade-tool:0.9.0

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

chaosblade-tool:0.9.0-arm64

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

chaosblade-operator:0.9.0

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

chaosblade - v0.8.0

Published by tiny-x almost 4 years ago

This version optimized compilation, fixes a few bugs, recover node daemonset, and increases stability.
Thanks for the contributors: @xcaspar @tiny-x @arthur657834

Features/Enhancements

  • Support to prepare JVM asynchronously. (#422 )
  • Improvement compile, add usage. (#423 )
  • Add a parameter --url-pattern to support drop package by match a url. (chaosblade-io/chaosblade-exec-os#58 )
  • SSH channel add key authorization. (chaosblade-io/chaosblade-exec-os#59 )
  • Add ignore-not-found flag in process experiments. (chaosblade-io/chaosblade-exec-os#61 )
  • Exclude cache in container. (chaosblade-io/chaosblade-exec-os#62 )
  • Add ignore-not-found flag in process experiments. (chaosblade-io/chaosblade-exec-os#65 )
  • Add qps and reconcile count configs. (chaosblade-io/chaosblade-operator#48 )
  • Script support load external jar. (chaosblade-io/chaosblade-exec-jvm#138 )
  • Add mongoDB plugin. (chaosblade-io/chaosblade-exec-jvm#147 )

Bug Fixes

  • use --timeout flag in k8s environment. (#429, chaosblade-io/chaosblade-operator#47 )
  • Destroy java experiment by action. (#432 )
  • blade create k8s node-disk burn error (#433 )
  • Multiple exclude-port is invalid. (chaosblade-io/chaosblade-exec-os#63 )
  • Parse the docker CLI return message (chaosblade-io/chaosblade-exec-docker#13 )
  • Could not find artifact com.sun:tools🫙1.8. (chaosblade-io/chaosblade-exec-jvm#139 )
  • Compile script exception. (chaosblade-io/chaosblade-exec-jvm#146 )

Others

  • improvement use case. (chaosblade-io/chaosblade-exec-docker#12, chaosblade-io/chaosblade-operator#49)
  • Recover node daemonset. (chaosblade-io/chaosblade-operator#49 )
  • bump junit from 4.12 to 4.13.1. (#140 #141 #142 #143 #144 #145 )

Thanks for the contributors: @xcaspar @tiny-x @arthur657834

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-0.8.0-linux-amd64.tar.gz
chaosblade-0.8.0-darwin-amd64.tar.gz
chaosblade-operator-0.8.0-v2.tgz
chaosblade-operator-0.8.0-v3.tgz

Docker images

chaosblade-tool:0.8.0

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

chaosblade-operator:0.8.0

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

chaosblade - v0.7.0

Published by xcaspar about 4 years ago

The long-awaited v0.7.0 version is released~, especially the kubernetes chaos experiment scenarios have been enhanced, and the new features are as follows:

  • Support all drill scenarios of Java under kubernetes;
  • Added file chaos experiment scenarios;
  • Added ssh execution channel, which can remotely execute chaos experiments on the target host;
  • Optimize the implementation of kubernetes scenarios, only need to deploy a chaosblade-operator pod to achieve a general chaos experiment, add --set damonset.enable=false during installation; for the target Pod or container in the network scenarios where the network permissions or commands are missing, you can Use -set damonset.enable=true to solve;
  • The kubernetes scenarios execute on-demand deployment of plug-ins, and the execution speed is greatly improved;
  • There are many known bug fixes and scenarios optimization;

Welcome to use.

Features/Enhancements

  • Support pod starting failed experiment.(chaosblade-io/chaosblade-operator#30 )
  • Support container-index flag to specify container. (chaosblade-io/chaosblade-operator#36 )
  • Replace ssh channel to kubernetes api for node chaos experiments. (chaosblade-io/chaosblade-operator#38 )
  • Optimize chaos experiments execution. (chaosblade-io/chaosblade-operator#41, chaosblade-io/chaosblade-operator#42 )
  • Support exclude-process flag in killing process experiment. (chaosblade-io/chaosblade-exec-os#34 )
  • Replace ps command to gopsutil. (chaosblade-io/chaosblade-exec-os#35 )
  • Add --include-buffer-cache flag for mem experiment. (chaosblade-io/chaosblade-exec-os#37 )
  • Add file chaos experiments. (chaosblade-io/chaosblade-exec-os#39 )
  • Add cpu climb time feature. (chaosblade-io/chaosblade-exec-os#40 )
  • Support file content encoded by base64 in file chaos experiments. (chaosblade-io/chaosblade-exec-os#45 )
  • Support ssh channel to execute chaos experiments. (chaosblade-io/chaosblade-exec-os#51, chaosblade-io/chaosblade-exec-os#53 )
  • Add programs field in experiment model and split yaml with bin file. (chaosblade-io/chaosblade-exec-os#55 )
  • Support file chaos experiments for docker. (chaosblade-io/chaosblade-exec-docker#10 )
  • Improvement fail inject to non-root container. (chaosblade-io/chaosblade-exec-docker#9 )
  • Support dubbo generic invoke.
  • Support Okhttp3 plugin. (chaosblade-io/chaosblade-exec-jvm#131 )
  • Add rabbitmq plugin. (chaosblade-io/chaosblade-exec-jvm#132 )
  • Replace fastjson to jackon. (chaosblade-io/chaosblade-exec-jvm#133 )
  • Add programs field in model specfication. (chaosblade-io/chaosblade-exec-jvm#136 )
  • Refactor chaosblade-exec-cplus project codes to golang language. (chaosblade-io/chaosblade-exec-cplus#5 )
  • Improvement the action use cases. (chaosblade-io/chaosblade-operator#37 ,chaosblade-io/chaosblade-exec-os#49,chaosblade-io/chaosblade-exec-jvm#134)

Bug Fixes

  • Fix network experiments don't take effect using destination-ip and exclude-port. (chaosblade-io/chaosblade-exec-os#41 )
  • Fix stopping memory load without mode flag. (chaosblade-io/chaosblade-exec-os#48 )
  • Fix stopping disk io burning failed. (chaosblade-io/chaosblade-exec-os#50 )
  • Fix the BeforeEnhancer is still executed when destroying.
  • Fix psql plugin does not get the database field.
  • Fix jvm return aciton, if expression parameter is double type add overflow.

Others

  • Reduce the operator image size. (chaosblade-io/chaosblade-operator#39 )
  • Slim down the blade toolkit. (chaosblade-io/chaosblade-exec-os#52 )
  • Delete ifconfig command validation. (chaosblade-io/chaosblade-exec-os#56 )
  • Improvement on the CONTRIBUTING.md file. (chaosblade-io/chaosblade-exec-jvm#126 )
  • Add doc design.md plugin.md quick-start.md and improvement servlet plugin. (chaosblade-io/chaosblade-exec-jvm#127 )

Thanks for the contributors: @Ghostbaby @lvchazaizai @CZacker @tiny-x @xcaspar @anje123 @tiny-x @pengpj @raygenyang @nic-6443

Helm v2

Install

Download chaosblade-operator-0.7.0-v2.tgz to install.

helm install --namespace chaosblade --name chaosblade-operator chaosblade-operator-0.7.0-v2.tgz 

Important!!

If you have previously installed pre version, please note the following:

  • Before installing the new version, please execute kubectl delete crd chaosblades.chaosblade.io first. 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":[]}}'
  • Execute helm del --purge chaosblade-operator command to delete previous version.
  • Execute helm install command to re-install.

Uninstall

kubectl delete crd chaosblades.chaosblade.io command must be executed first. 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":[]}}'

Then execute helm del --purge chaosblade-operator command.

Helm v3

Install

Download chaosblade-operator-0.7.0-v3.tgz package to install.

helm install chaosblade-operator chaosblade-operator-0.7.0-v3.tgz --namespace chaosblade

Uninstall

Same as v2.

Image Repository

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 --set blade.repository=chaosbladeio/chaosblade-tool --set operator.repository=chaosbladeio/chaosblade-operator  --namespace chaosblade --name chaosblade-operator chaosblade-operator-0.7.0-v2.tgz

Other download addresses

aliyun oss

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

Docker images

chaosblade-tool:0.7.0

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

chaosblade-operator:0.7.0

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

chaosblade - v0.6.0

Published by xcaspar over 4 years ago

This version adds the Pod file IO experiments and optimizes the chaosblade operator to make it more stable. In addition, the version adds some new features and fix some bugs.

Thank you for the flowing contributors: @jianxingzhe @zousheng  @saikei @Stool233 @Ahlfors @x22x22 @zhyErick @jenson93 @mingcheng

Features/Enhancements

  • Add pod file system I/O experiments (#318 )
  • The killing process experiment supports signal flag (#357)
  • Add force overwrite flag for network experiments (#346)
  • Support port occupation expriment (#345)
  • Optimize chaosblade resource state flow in k8s experiments (#336)
  • Retain file handle for disk fill experiment (#325)
  • Remove destroy command parameter strong checksum when not using UID (#324)
  • Randomly select resources from the result set in k8s experiments (#307)
  • Specify local port to kill process (#275)
  • Add support for tars component (chaosblade-io/chaosblade-exec-jvm#124)

Bug Fixes

  • Fix tools.jar path finding bug in Java experiments (#327)
  • Inject network experiments into container or Pod, sometimes report "cannot get output message" error (#334)
  • cannot destroy experiment by blade server (#321 )
  • evict-percent parameter is invalid in k8s experiments (#306)
  • Cannot destroy the experiment if it was kept alive for a long time. (#305)

Others

  • Normalize flags and logs in chaosblade-operator project (#356)
  • Upgrade operator sdk version to 1.17.0 in chaosblade operator (#350)
  • Optimize hard code issue about version number in docker executor (#331)

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-0.6.0-linux-amd64.tar.gz
chaosblade-0.6.0-darwin-amd64.tar.gz
chaosblade-operator-0.6.0-v2.tgz
chaosblade-operator-0.6.0-v3.tgz

Docker images

chaosblade-tool:0.6.0

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

chaosblade-operator:0.6.0

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

chaosblade - v0.5.0

Published by xcaspar over 4 years ago

This version fixes a lot of issues.

Features/Enhancements

  • Support multiple ip configuration for network experiments like delay, loss, corrupt, reorder and duplicate(#294 )
  • Add network packets re-ordering and corruption experiments(#293 )
  • Add network packet duplication experiment(#292 )
  • Support mem and disk experiments for k8s(#283 )
  • Add rate and mode flags for mem load experiment (#278 )
  • Exclude the peer port automatically when exclude-port flag is specified in a network experiment(#277 )
  • Support --reserve flag for mem load and disk fill experiments(#270 )
  • Change create request method from get to post for jvm experiments(#266 )
  • Enhance the JVM return function to increase the function and operator calculation of return value(chaosblade-io/chaosblade-exec-jvm#113)

Bug Fixes

  • Fix error handled about creating java and cplus experiments(#272 )
  • Fix throwCustomExecption --exception-message no take effect(#274 )
  • Fix error "too many process" returned when running ./blade prepare jvm with java keyword(#287 #288 )
  • Fix compile source code error by make build_linux(#298 )

Others

  • Add git alert message when version older then 1.8.5(#280 )

ChaosBlade Operator

See chaosblade-operator for chaosblade operator detailed installation command.

Thank you for the flowing contributors: @jianxingzhe @zousheng @SunMuxin @gentleyu @arthur657834 @hhstu @yixy

Other download addresses

aliyun oss

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

Docker images

chaosblade-tool:0.5.0

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

chaosblade-operator:0.5.0

  • registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-operator:0.5.0
  • chaosbladeio/chaosblade-operator:0.5.0 (hub.docker.com)
chaosblade - v0.4.0

Published by xcaspar almost 5 years ago

This version fixes a lot of issues.

Features/Enhancements

  • Enhance status command to support more flag to filter (#251 )
  • Support to destroy experiment without uid (#239 )
  • Support percent flag for disk fill experiment (#217 #241 )
  • Support count limit in kill process experiment (#249 )
  • Support for setting ip flag when use server start command (#246 )
  • Remove sudo command when current user is equals application user (#240 )
  • Support method after event processing for java experiments (chaosblade-io/chaosblade-exec-jvm#91)
  • Support targe object in params for java experiments (chaosblade-io/chaosblade-exec-jvm#94)
  • Support for dubbo 2.7 version for java experiments (chaosblade-io/chaosblade-exec-jvm#100)
  • Support to specify any namespace to deploy for chaosblade operator (chaosblade-io/chaosblade-operator#3 )

Bug Fixes

  • Fix disk experiments cannot be continuously run (#238, chaosblade-io/chaosblade-exec-os#5 )
  • Fix error when specified script function error message contains spaces (chaosblade-io/chaosblade-exec-os#9 )
  • Fix process filter in process name contains blank condition (chaosblade-io/chaosblade-exec-os#10 )
  • Fix unable to find non-public method of super class for java experiments (chaosblade-io/chaosblade-exec-jvm#96)
  • Fix experiments stopped when uninstall java agent directly (chaosblade-io/chaosblade-exec-jvm#99)
  • Fix pod network experiment (#242, chaosblade-io/chaosblade-operator#4)
  • Fix compile of chaosblade project (#244, #245 )
  • Fix chaosblade deployed in docker (#233, chaosblade-io/chaosblade-exec-docker#2 )
  • Fix failed to prepare a jvm experiment if the process creator‘s name is too long(#236 )

ChaosBlade Operator

See chaosblade-operator for chaosblade operator detailed installation command.

Thank you for the flowing contributors: @zousheng @zouc

Other download addresses

aliyun oss

chaosblade-0.4.0-darwin-amd64.tar.gz
chaosblade-0.4.0-linux-amd64.tar.gz
chaosblade-operator-0.4.0.tgz
chaosblade-operator-0.4.0-v3.tgz

Docker images

chaosblade-tool:0.4.0 (registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-tool:0.4.0)
chaosblade-operator:0.4.0 (registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-operator:0.4.0)

chaosblade - v0.4.0-alpha(Deprecated)

Published by xcaspar almost 5 years ago

This version is deprecated, please download the latest version.