-
Notifications
You must be signed in to change notification settings - Fork 1.1k
More chaos types #93
More chaos types #93
Conversation
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
Used to cache SSH connection state.
|
SimianArmy-pull-requests #85 SUCCESS |
|
SimianArmy-pull-requests #86 FAILURE |
|
SimianArmy-pull-requests #87 FAILURE |
For testing purposes, but probably a good idea anyway
|
SimianArmy-pull-requests #88 SUCCESS |
|
SimianArmy-pull-requests #89 FAILURE |
…ant to randomize the target.
|
SimianArmy-pull-requests #90 SUCCESS |
…ll definitely cost money
|
SimianArmy-pull-requests #91 FAILURE |
|
SimianArmy-pull-requests #92 SUCCESS |
|
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! |
|
Sorry for the delay again. Thanks for all the work Justin, the changes look good. Will merge now. -Cory |
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