Announcing Chaos Discover and Chaos Init

Bootstrap your chaos experiments quickly and simply using the Chaos Toolkit’s ‘discover' and 'init'

Russ Miles
Chaos Toolkit

--

The combination of 'chaos discover’ and 'chaos init’ offer a great way to rapidly start exploring and building your own chaos engineering experiments.

Getting started with creating your automated chaos experiments can be hard. Often it’s hard enough just figuring out what you might be able to do with your system, let alone then formulating that into a well-formed and exploratory chaos experiment.

As well as building the “Open API to Chaos Engineering”, the Chaos Toolkit’s mission includes making it as easy and simple as possible for you to get started with the discipline. The challenge is that crafting a full JSON-based chaos experiment from scratch was a big ask for anyone looking to simply explore what they might want to poke or probe on their systems, and so chaos discover and chaos init were borne.

Discover what you can do with ‘chaos discover’

The chaos discover command helps you to capture details of your system as well as the probes and actions that are supported from a given extension that is tuned for your system. For example, if you were targeting your Kubernetes cluster you would use the chaos discover chaostoolkit-kubernetes command to build a local picture of what you might want to consider when building your experiments for your environment.

Using ‘chaos discover’ to capture probes and actions against your Kubernetes Cluster

When you run the chaos discover a JSON file is produced that describes everything the Chaos Toolkit can find that you might want to consider for your experiments against your Kubernetes environment. You’re then set to begin to create your initial experiments using this discovered information using the next new command in the toolkit: chaos init.

Bootstrap Chaos Experiments Simply and Easily with ‘chaos init’

The chaos discover command sets the stage, but it is the new chaos init command that really brings everything together. chaos init takes the JSON file produced by chaos discover and prompts you, based on that discovered information, for what you might want to use in a new chaos experiment.

Using ‘chaos init’ to explore what’s been discovered and to begin to build your experiments

With chaos init you can get straight into selecting what probes and actions you want in your experiment’s method, without getting bogged down in the experiment’s JSON format.

You can use ‘discover’ and ‘init’ right now!

These new commands are in the latest version of the chaos toolkit, which you can upgrade to by executing:

$ pip install -U chaostoolkit

Also if you’d like to see these commands in action without installing anything locally, you can give them a spin using the free Chaos Toolkit tutorials now available on the awesome Katacoda system.

Summary

The combination of chaos discover and chaos init offer a great way to rapidly start exploring and building your own chaos engineering experiments. Over the coming weeks we’ll be extending these features so you can do more and more to accelerate building your first experiments and even maintaining and adding to existing ones.

As always though, this is a community-driven project and we’d love to get your feedback and input into the Chaos Toolkit. Whether you’re interested in new extensions, correcting bugs you see, or even just up-voting the issues and projects to let us know you find them interesting or useful, it’s your engagement with the projects that makes things happen.

To get involved you can join our community Slack team and chat to other contributors, raise issues, or just peruse the projects or reference documentation. All input is valuable and we are dedicated to maintaining an open and friendly environment for everyone to contribute into.

--

--

Russ Miles
Chaos Toolkit

People, Team and Organizational Developer. Writer, psychologist, speaker and humanistic Head of Engineering. https://twitter.com/russmiles