这是indexloc提供的服务,不要输入任何密码
Skip to content
This repository was archived by the owner on Mar 4, 2021. It is now read-only.

Conversation

@justinsb
Copy link
Contributor

Add a bunch more chaos types, using the new script support.

Also make sure that the Apache license is on all the files I added.

The chaos monkey army is documented here:
https://github.com/Netflix/SimianArmy/wiki/The-Chaos-Monkey-Army

Shutting down an instance is just one way an instance can fail.

This patch makes it pluggable, so that we can simulate more failure types.
This should simulate an EBS failure.  With luck, the instance will keep running though,
and keep responding to pings.  All I/O will fail though, and eventually the kernel will
hang, crash or panic.
Conflicts:
	src/main/java/com/netflix/simianarmy/chaos/ChaosType.java
	src/main/java/com/netflix/simianarmy/chaos/ShutdownInstanceChaosType.java
Conflicts:
	src/main/java/com/netflix/simianarmy/chaos/ShutdownInstanceChaosType.java
Conflicts:
	src/main/java/com/netflix/simianarmy/chaos/ChaosType.java
We had a circular initialization loop (at least in theory)
Conflicts:
	src/main/java/com/netflix/simianarmy/basic/chaos/BasicChaosMonkey.java
Whoops ... pains of doing a manual merge!
Because we're blocked from detaching it, we shouldn't count it when deciding whether it's a valid strategy.
Conflicts:
	src/main/java/com/netflix/simianarmy/CloudClient.java
	src/main/java/com/netflix/simianarmy/basic/chaos/BasicChaosMonkey.java
	src/main/java/com/netflix/simianarmy/client/aws/AWSClient.java
@cloudbees-pull-request-builder

SimianArmy-pull-requests #85 SUCCESS
This pull request looks good

@cloudbees-pull-request-builder

SimianArmy-pull-requests #86 FAILURE
Looks like there's a problem with this pull request

@cloudbees-pull-request-builder

SimianArmy-pull-requests #87 FAILURE
Looks like there's a problem with this pull request

@cloudbees-pull-request-builder

SimianArmy-pull-requests #88 SUCCESS
This pull request looks good

@cloudbees-pull-request-builder

SimianArmy-pull-requests #89 FAILURE
Looks like there's a problem with this pull request

@cloudbees-pull-request-builder

SimianArmy-pull-requests #90 SUCCESS
This pull request looks good

@cloudbees-pull-request-builder

SimianArmy-pull-requests #91 FAILURE
Looks like there's a problem with this pull request

@cloudbees-pull-request-builder

SimianArmy-pull-requests #92 SUCCESS
This pull request looks good

@justinsb
Copy link
Contributor Author

I think this is ready for review/consideration again. I implemented all the suggestions, exception the randomized volume on filldisk & burnio (for now); I'm not really sure whether randomization belongs in a script or "chaos-monkey-side". I did implement the 'burnmoney' option though, so users must opt-in by setting burnmoney=true, otherwise we won't run filldisk or burnio if the root volume is on EBS. I added a summary of our discussion to the code as a pair of (long) enhancement notes in each of the strategy classes.

There's also a unit test (TestChaosMonkeyArmy) which should test each of the strategies, which helps with the test coverage. (I'm not sure Cobertura is calculating the % coverage correctly, even locally, but the coverage is definitely better!). In order to support the tests, I had to move some functions into CloudClient; I also added the ChaosType to the email notifier and use that in the tests to detect which ChaosType was selected. It's also nice to have the ChaosType in the emails, I think!

@coryb
Copy link
Contributor

coryb commented Oct 8, 2013

Sorry for the delay again. Thanks for all the work Justin, the changes look good. Will merge now.

-Cory

coryb added a commit that referenced this pull request Oct 8, 2013
@coryb coryb merged commit 8e5d422 into Netflix:master Oct 8, 2013
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants