chaosblade-io / chaosblade Goto Github PK
View Code? Open in Web Editor NEWAn easy to use and powerful chaos engineering experiment toolkit.(阿里巴巴开源的一款简单易用、功能强大的混沌实验注入工具)
Home Page: https://chaosblade.io
License: Apache License 2.0
An easy to use and powerful chaos engineering experiment toolkit.(阿里巴巴开源的一款简单易用、功能强大的混沌实验注入工具)
Home Page: https://chaosblade.io
License: Apache License 2.0
Issue模板还没有,建议加上。
The Documentation is currently in Chinese and the Readme doesn't provide enough information.
This is a weekly report of Chaos Blade. It summarizes what have changed in the project during the passed week, including pr merged, new contributors, and more things in the future.
It is all done by @chaosblade-bot which is a collaborate robot.
Baisc data shows how the watch, star, fork and contributors count changed in the passed week.
Watch | Star | Fork | Contributors |
---|---|---|---|
51 | 802 (↑83) | 100 (↑14) | 2 (↑1) |
Issues & PRs show the new/closed issues/pull requests count in the passed week.
New Issues | Closed Issues | New PR | Merged PR |
---|---|---|---|
4 | 9 | 2 | 3 |
Thanks to contributions from community, Chaos Blade team merged 3 pull requests in the repository last week. They are:
Chaos Blade encourages everyone to participant in code review, in order to improve software quality. Every week @chaosblade-bot would automatically help to count pull request reviews of single github user as the following. So, try to help review code in this project.
Contributor ID | Pull Request Reviews |
---|
It is Chaos Blade team's great honor to have new contributors from community. We really appreciate your contributions. Feel free to tell us if you have any opinion and please share this open source project with more people if you could. If you hope to be a contributor as well, please start from https://github.com/chaosblade-io/chaosblade/blob/master/CONTRIBUTING.md .
Here is the list of new contributors:
Thanks to you all.
Note: This robot is supported by Collabobot.
Type: bug report or feature request
Because of the quality of blade, sometime it may lead to us can't interact with target system. For example, we inject network fault with 80% loss rate, and cause we can't connect the server by ssh never. May be the full load for CPU also cause the system couldn't response us at all.
So, we need guardian, and it could terminate something and recover state after we loss control. I think the param 'timeout' may be appropriate our requirement.
blade cpu --timeout 60s ...
blade network --timeout 30s ...
and so on
run "docker fullload" ,return "No such container"
First,I use docker ps
find the containerID ,
Then,use blade c docker cpu fl --container containerID
Return:{"code":604,"success":false,"error":"Error: No such container: 3b42b47c83e4-cpu\n exit status 1"}
Am I using it correctly ?
This is a weekly report of Chaos Blade. It summarizes what have changed in the project during the passed week, including pr merged, new contributors, and more things in the future.
It is all done by @chaosblade-bot which is a collaborate robot.
Baisc data shows how the watch, star, fork and contributors count changed in the passed week.
Watch | Star | Fork | Contributors |
---|---|---|---|
30 | 361 (↑322) | 33 (↑31) | 1 (-) |
Issues & PRs show the new/closed issues/pull requests count in the passed week.
New Issues | Closed Issues | New PR | Merged PR |
---|---|---|---|
11 | 2 | 1 | 0 |
Thanks to contributions from community, Chaos Blade team merged 0 pull requests in the repository last week. They are:
Chaos Blade encourages everyone to participant in code review, in order to improve software quality. Every week @chaosblade-bot would automatically help to count pull request reviews of single github user as the following. So, try to help review code in this project.
Contributor ID | Pull Request Reviews |
---|
We have no new contributors in this project this week.
Chaos Blade team encourages everything about contribution from community.
For more details, please refer to https://github.com/chaosblade-io/chaosblade/blob/master/CONTRIBUTING.md .
Note: This robot is supported by Collabobot.
Type: feature request
Network experiments for k8s pod, for example, network delay, network loss and network block
kubernetes
对于 Dubbo 开发的框架的故障注入是原生支持的吗?有没有详细的使用文档呢?想要学习一下。
This is a weekly report of Chaos Blade. It summarizes what have changed in the project during the passed week, including pr merged, new contributors, and more things in the future.
It is all done by @chaosblade-bot which is a collaborate robot.
Baisc data shows how the watch, star, fork and contributors count changed in the passed week.
Watch | Star | Fork | Contributors |
---|---|---|---|
55 | 930 (↑31) | 109 (↑3) | 3 (-) |
Issues & PRs show the new/closed issues/pull requests count in the passed week.
New Issues | Closed Issues | New PR | Merged PR |
---|---|---|---|
3 | 0 | 1 | 1 |
Thanks to contributions from community, Chaos Blade team merged 1 pull requests in the repository last week. They are:
Chaos Blade encourages everyone to participant in code review, in order to improve software quality. Every week @chaosblade-bot would automatically help to count pull request reviews of single github user as the following. So, try to help review code in this project.
Contributor ID | Pull Request Reviews |
---|
We have no new contributors in this project this week.
Chaos Blade team encourages everything about contribution from community.
For more details, please refer to https://github.com/chaosblade-io/chaosblade/blob/master/CONTRIBUTING.md .
Note: This robot is supported by Collabobot.
Type: doc
Chaosblade and its executors rely on this model implementation, this document can help you understand the internal implementation of chaosblade.
Type: other request
the --device
flag in network experiment means network interface, so changed to --interface
is more better.
blade create network delay --time 3000 --interface eth0
Type: problem issue
blade prepare jvm -- process dubbo.consumer,
info:
{"code":408,"success":false,"error":"too many process"}
{"code":200,"success":true,"result":"********"}
win10 subsystem: ubuntu
java version: 1.8.0_201
spring framework: 5.1.4
feature request
Network command prompt to optimize. After change the port command will be easier to understand.
invoke-port change to foreign-port
service-port change to local-port
blade create network delay --invoke-port 9527 --time 5000 --device eth0
--invoke-port string Port for invoke
--offset string Delay offset time, ms
--service-port string Port for external service
目前有对dubbo支持,后续会对springcloud进行支持吗
Hi
I'm using blade to kill k8s pods. But can only kill one pod at one time
Is it possilbe to kill multiple pods at the same time ?
Thanks in advance
Type: bug report
blade create disk fill
fill the wrong mount point with max size data.
fill the right mount point with specified size data.
Ubuntu 18.04
blade 0.0.1
Until now, it could be only used by Blade CLI, but if chaosblade could provide the invoke ways of API, it should be more popular in the future.
Type: bug report
./blade create k8s delete --pod <podname> --namespace <namespace>
{"code":200,"success":true,"result":"9673223f227275fe"}
在创建混沌实验-删除pod后,停止混沌实验
./blade destroy 9673223f227275fe
{"code":604,"success":false,"error":"Error from server (NotFound): pods \"<podname>\" not found\n exit status 1"}
停止混沌实验失败,找不到这个pod。原因是该pod已被删除,重启后并不在是原来的podname。
这里应该正常停止混沌实验,虽然pod已被正确的删除,而新pod也已经启动成功,整体来说实验室成功的,但是不能正常停止实验,对代码有强迫症的人来说是很难受的。
建议这里验证pod有无重启,并并忽略后5位的hash码。
MacOS,kubectl v1.13.0
Use 'make build_linux' on mac, occued error.
error meassage :
docker run --rm
-v :/go
-w /go/src/github.com/chaosblade-io/chaosblade
chaosblade-build-musl:latest
make: *** No targets specified and no makefile found. Stop.
make: *** [build_linux] Error 2
I have to install go env?
这是阿里开源的chaosblade对么? 我看文章里有针对k8s的功能。 我现在的工作也是需要模拟各种k8s的故障来测试。所以也用go写了个k8s chaos。 不知道能交流一下么。 如果有必要,我也可以贡献一下自己的代码
Type: feature request
Execute the following commands to inject a delay or an error code into a function in a specified script:
blade c script delay --time 3000 --file /home/admin/appctl.sh --function-name offline
blade c script exit --file /home/admin/appctl.sh --function-name offline --exit-code 2
feature request
For most users , the first time applying chaos experiments must be very nervous. And there may be some reasons lead to failure. So consider to implement a dry_run mod .
dry_run mod may achieve the following effects:
If you are interested in this topic, please refer to : #73
求中文版 英文版看的费劲
when i blade prepare jvm --process business, it return 604, why?
{"code":604,"success":false,"error":"Error: Unable to access jarfile /root/lib/sandbox/lib/sandbox-core.jar\n exit status 1"}
cmd
sudo ./blade create network drop --service-port 8888
response
{"code":200,"success":true,"result":"2b3bf570994e859e"}
查看iptables下已新增drop配置,接口测试后发现配置生效
cmd
sudo ./blade destroy 2b3bf570994e859e
接口测试后发现配置依然存在,查看iptables rules发现未被清除
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8888
2 DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:8888
This is a weekly report of Chaos Blade. It summarizes what have changed in the project during the passed week, including pr merged, new contributors, and more things in the future.
It is all done by @chaosblade-bot which is a collaborate robot.
Baisc data shows how the watch, star, fork and contributors count changed in the passed week.
Watch | Star | Fork | Contributors |
---|---|---|---|
48 | 713 (↑124) | 83 (↑18) | 1 (-) |
Issues & PRs show the new/closed issues/pull requests count in the passed week.
New Issues | Closed Issues | New PR | Merged PR |
---|---|---|---|
9 | 4 | 4 | 4 |
Thanks to contributions from community, Chaos Blade team merged 4 pull requests in the repository last week. They are:
Chaos Blade encourages everyone to participant in code review, in order to improve software quality. Every week @chaosblade-bot would automatically help to count pull request reviews of single github user as the following. So, try to help review code in this project.
Contributor ID | Pull Request Reviews |
---|
We have no new contributors in this project this week.
Chaos Blade team encourages everything about contribution from community.
For more details, please refer to https://github.com/chaosblade-io/chaosblade/blob/master/CONTRIBUTING.md .
Note: This robot is supported by Collabobot.
对于 Dubbo 开发的框架的故障注入是原生支持的吗?有没有详细的使用文档呢?想要学习一下。
Type: feature request
Necessary flags such as the --mount-on
flag of disk experiments and the --device
flag of network experiments.
For example:
Execute blade query network device
command to query network interfaces, the command returns: ["eth0", "eth1", ...]
.
Execute blade query disk mounted-on
command to query mounted disks, the command returns: ["/", "/home"]
.
We can abstract the following model:
blade query <TARGET> <FILED> <FLAGS>
In the future, we can control the output format by extending flags, for example, -o json|wide
.
The advantage of this feature is that the user does not have to consider the chaos experiment parameters which type of value he should choose.
@aspnetdb @chaosblade-io/chaosblade_team
blade 的执行路径为相对路径无法正常返回,在配置了PATH后希望能够在任何的目录可以正确返回。
blade 相对路径无法获得正确返回。
bash-4.4# pwd
/root
bash-4.4# blade status --type create
{
"code": 200,
"success": true,
"result": []
}
blade 绝对路径获得正确返回。
`
bash-4.4# /usr/local/chaosblade/blade status --type create
{
"code": 200,
"success": true,
"result": [
{
"Uid": "19e24c09575c72a3",
"Command": "cpu",
"SubCommand": "fullload",
"Flag": "--debug false --help false --numcpu =",
"Status": "Error",
"Error": "--numcpu value must be a positive integer",
"CreateTime": "2019-04-22T06:53:05.976019806Z",
"UpdateTime": "2019-04-22T06:53:06.004371602Z"
},
{
"Uid": "e152863c6c363c92",
"Command": "cpu",
"SubCommand": "fullload",
"Flag": "--debug false --help false --numcpu 8",
"Status": "Success",
"Error": "",
"CreateTime": "2019-04-22T06:53:15.452192207Z",
"UpdateTime": "2019-04-22T06:53:16.605675253Z"
}
]
}
`
When I was creating a chaotic experiment for a servlet, I wanted a specific access address to be delayed for a few seconds. After the configuration was completed, it did not take effect. The configuration information is as follows.
Jar package start command:nohup java -Dserver.port=8081 -Djava.net.preferIPv4Stack=true -Dproject.name=ttt -jar ttt.jar > ttt.nohup.log 2>&1 &
Java agent:./blade prepare jvm --process ttt
Created command:./blade create servlet delay --time 3300 --pathinfo /test1 --process ttt --servletpath http://192.168.139.135:8081
After the configuration is complete, after all the displays are successful, the URL is accessed and found to be invalid.
If there is a solution, you can send the solution to my email address at [email protected]
I hope that you can have a detailed Chinese document to describe the role of each parameter and the configuration entry case for mounting different types of services. thank you very much. At the same time, I hope that chaosblade will be more perfect in the future road show and can go further.
bug report
./blade create docker -h Examples don't contain argument numcpu
Examples:
chaosbd create docker cpu fullload --container 1c8986a4f899
CentOS Linux release 7.2.1511 (Core)
Type: feature request
the command "blade p jvm --process application name", the application name means what? the PID of java application?
Type: bug report
I used './blade create disk fill --mount-on /home --size 1024' to create disk fill experiment, then I found a file named 'chaos_diskfilled.log.data' in /home, but the size of it is 2G (I use 'du -sh /home/chaos_diskfilled.log.data'), and this could not be destroyed by using './blade destroy uid'
Issue Description
Type: help wanted
Describe what happened (or what feature you want)
First:
Though I read issue #12, I still can't understand.
I haven't pull docker image registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-agent:0.0.3 or other version. When I run
./blade create docker cpu fullload --container 4c5c3a7706ec --numcpu 8 on the Ubuntu system ,it return {"code":200,"success":true,"result":"83484e440a710e46"} .
But when I run on the Centos system, it return ******no such container .
Second:
When create docker cpu fullload failed on the Centos System, I pull the images "registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-agent:0.0.3" , and run "docker run -d -t --pid container:4c5c3a7706ec --ipc container:4c5c3a7706ec --name 4c5c3a7706ec-cpu sh -c /usr/local/chaosblade/bin/chaos_burncpu --start " , it return "docker: --pid:invalid PID mode". Where is my mistake?
command: blade create docker cpu fullload --container containerID
return:
{"code":604,"success":false,"error":"Error:` No such container: 8e8c31d91a2c-cpu\n exit status 1"}
Do i need enter the container and run the command ?
Type: bug report
sudo blade prepare jvm -p 23306
{"code":802,"success":false,"error":"Get http://127.0.0.1:38895/sandbox/default/module/http/sandbox-module-mgr/reset?1=1: dial tcp 127.0.0.1:38895: connect: connection refused"}
succeed.
cannot.
Linux 3.12.74-60.64.96-default
Remote host may not response while benchmarking CPU by full loads. So need add param to auto stop benchmark.
Maybe this param name can be named timeout
, just as same as stress
.
`stress' imposes certain types of compute stress on your system
Usage: stress [OPTION [ARG]] ...
...
-t, --timeout N timeout after N seconds
...
from stress --help
command, in blade we can use with the same param name:
blade create cpu fullload --timeout 5
First of all, thanks sincerely for constantly using and supporting ChaosBlade. We will try our best to keep ChaosBlade better, and keep growing ChaosBlade community. To attract more people to use and contribute to ChaosBlade, please comment in this issue to include the following information:
You can refer to the following sample answer for the format:
首先诚挚地感谢每一位持续关注并使用 ChaosBlade 的朋友。我们会持续投入,力图把 ChaosBlade 变得更好,把 ChaosBlade 社区变得更加繁荣。为了更好的聆听社区的声音,吸引更多的人使用和参与,我们期待您在此提交一条评论, 评论内容包括:
您可以参考下面的样例来提供您的信息:
如果你被邀请加入 Google Group 后没有权限访问内容,则参考一下链接解决:
https://support.google.com/groups/answer/1067205?hl=zh-Hans#join
再次感谢你的参与!!!
The server has N CPUs
Mount one of the CPUs fullload
./blade create cpu fullload --numcpu 1
{"code":200,"success":true,"result":"51d50db1faf4fb80"}
Then mount one of the CPUs fullload
./blade create cpu fullload --numcpu 1
{"code":200,"success":true,"result":"96a4b01617f5f2f7"}
Destroy one of the mount experiments
./blade destroy 51d50db1faf4fb80
At this time, both CPU mount experiments will be destroyed.
This is a weekly report of Chaos Blade. It summarizes what have changed in the project during the passed week, including pr merged, new contributors, and more things in the future.
It is all done by @chaosblade-bot which is a collaborate robot.
Baisc data shows how the watch, star, fork and contributors count changed in the passed week.
Watch | Star | Fork | Contributors |
---|---|---|---|
44 | 588 (↑155) | 64 (↑23) | 1 (-) |
Issues & PRs show the new/closed issues/pull requests count in the passed week.
New Issues | Closed Issues | New PR | Merged PR |
---|---|---|---|
10 | 7 | 2 | 2 |
Thanks to contributions from community, Chaos Blade team merged 2 pull requests in the repository last week. They are:
Chaos Blade encourages everyone to participant in code review, in order to improve software quality. Every week @chaosblade-bot would automatically help to count pull request reviews of single github user as the following. So, try to help review code in this project.
Contributor ID | Pull Request Reviews |
---|---|
@aspnetdb | 1 |
We have no new contributors in this project this week.
Chaos Blade team encourages everything about contribution from community.
For more details, please refer to https://github.com/chaosblade-io/chaosblade/blob/master/CONTRIBUTING.md .
Note: This robot is supported by Collabobot.
Can you support the chaos experiment of memory, such as, out of memory and memory leak ? Thank you for all you do.
This is a weekly report of Chaos Blade. It summarizes what have changed in the project during the passed week, including pr merged, new contributors, and more things in the future.
It is all done by @chaosblade-bot which is a collaborate robot.
Baisc data shows how the watch, star, fork and contributors count changed in the passed week.
Watch | Star | Fork | Contributors |
---|---|---|---|
53 | 891 (↑85) | 106 (↑5) | 3 (↑1) |
Issues & PRs show the new/closed issues/pull requests count in the passed week.
New Issues | Closed Issues | New PR | Merged PR |
---|---|---|---|
7 | 1 | 1 | 1 |
Thanks to contributions from community, Chaos Blade team merged 1 pull requests in the repository last week. They are:
Chaos Blade encourages everyone to participant in code review, in order to improve software quality. Every week @chaosblade-bot would automatically help to count pull request reviews of single github user as the following. So, try to help review code in this project.
Contributor ID | Pull Request Reviews |
---|
It is Chaos Blade team's great honor to have new contributors from community. We really appreciate your contributions. Feel free to tell us if you have any opinion and please share this open source project with more people if you could. If you hope to be a contributor as well, please start from https://github.com/chaosblade-io/chaosblade/blob/master/CONTRIBUTING.md .
Here is the list of new contributors:
Thanks to you all.
Note: This robot is supported by Collabobot.
Type: feature request
Thank you.
*I want to simulate high io of network card on linux
maybe it can be simulate by limit the network card bandwidth on machine*
Type: bug report
when create cpu fulload, setting cpu-count and cpu-list parameters at the same time, only the cpu-list parameter works and the system ignores the cpu-count parameter.
创建cpu fullload故障时,如果同时设定cpu-count和cpu-list参数,只有cpu-list参数生效,系统自动无视了cpu-count参数
Add extra parameter explanation or prohibit coexistence.
添加额外的参数解释,或禁止两个参数共存
Ubuntu 19.04
希望支持 php,golang语言的接口的超时,延时测试,这样会更加有实用性的。
Type: bug report or feature request
feature request
It's common to use multi-core cpu. So I want the blade command has the ability to burn cpu on specific cores .
add cpu cores flag to cpu like this
blade c cpu fullload -cores 0,1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.