Over the last several weeks, I’ve been working developing stateful applications on top of Mesos in Azure. As part of the testing for this work, I needed a tool to help tweak various resources on Azure to see how both Mesos and the stateful application behave in a chaotic environment.
Initial searches for Chaos Monkey pulled up the work being done at Netflix for AWS and the work at Pivotal for Cloud Foundry. Refining the search for Azure, Azure Search has Search Chaos Monkey which isn’t public; and Steve Marx released WazMonkey but it hasn’t been updated in over three years and doesn’t support the new Azure Resource Manager services.
So, I decided to roll my own. And thus I introduce Chaos Dingo. Like WazMonkey, Chaos Dingo is fairly simple for the moment. It currently supports basic operations on VM resources — start, stop, restart, and powercycle (a combination of stop and start with a pause in between). It is also “scriptable” allowing one to define tests using a JSON file.
This is the initial release, but I will be adding operations for other resources shortly, including network cards and attached disks.
Please have at Chaos Dingo on GitHub. Feel free to suggest improvements, report bugs, or submit changes.