DEV Community

mikotian
mikotian

Posted on

Setting up ChaosToolkit Execution Environment

Base Setup

Install Python 3.5 on your execution machine.

Windows : Download the latest binary installer from the Python website.

Linux: https://www.python.org/download/other/

Create a virtual environment. Virtual environments help us encapsulate our changes away from the larger system.

python3 -m venv ~/.venvs/resilient source ~/.venvs/resilient/bin/activate 
Enter fullscreen mode Exit fullscreen mode

Install chaostoolkit

pip install chaostoolkit 
Enter fullscreen mode Exit fullscreen mode

Verify version

chaos --version 
Enter fullscreen mode Exit fullscreen mode

This will install the base version of chaostoolkit with its inbuilt probes, tolerances & actions.

Install AWS Drivers

pip install -U chaostoolkit-aws 
Enter fullscreen mode Exit fullscreen mode

Passing Credentials to ChaosToolkit.

For AWS actions/probes to work as expected we need to place a credentials file like below in the following location. ~/.aws

The credentials can be added in the experiment itself, like so

{ "secrets": { "aws": { "aws_access_key_id": "your key", "aws_secret_access_key": "access key", "aws_session_token": "token" } } } 
Enter fullscreen mode Exit fullscreen mode

Thats it, you're all set to run AWS Chaos/resiliency experiments!

Install Toxiproxy Drivers

Install Toxiproxy Server from here: (https://github.com/Shopify/toxiproxy/releases)

Install the toxiproxy CLI (https://github.com/Shopify/toxiproxy/releases)

These are required in order to make the network changes work.

Install the chaos toolkit drivers:

pip install -U chaostoolkit-toxiproxy 
Enter fullscreen mode Exit fullscreen mode

Add the following configuration to your experiment.

"configuration": { "toxiproxy_host" : "10.124.23.183", "some_environment_variable": { "type": "environment", "key": "ENVIRONMENT_VARIABLE" } } 
Enter fullscreen mode Exit fullscreen mode

Start the toxiproxy server.

Now you are ready to run the experiment.

Top comments (0)