Releases: chaosblade-io/chaosblade
v1.2.0
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:
- 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":[]}}'
- Delete operator:
helm delete xxxx
- 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)
v1.0.0-GA
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:
- 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":[]}}'
- Delete operator:
helm delete xxxx
- 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)
v0.10.0
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:
- 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":[]}}'
- Delete operator:
helm delete xxxx
- 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)
v0.9.0
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:
- 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":[]}}'
- Delete operator:
helm delete xxxx
- 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)
v0.8.0
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:jar: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:
- 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":[]}}'
- Delete operator:
helm delete xxxx
- 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)
v0.7.0
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)
v0.6.0
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:
- 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":[]}}'
- Delete operator:
helm delete xxxx
- 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)
v0.5.0
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)
v0.4.0
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)
v0.4.0-alpha(Deprecated)
This version is deprecated, please download the latest version.