Scenarios

Overview

A Scenario is a set of Gremlin attacks that you define with a title, description, hypothesis, and detailed results. Once created and configured, a Scenario is run through a sequence of attacks with an expanding blast radius (number of hosts included in the attack) and magnitude (intensity of the attack). After each run of a Scenario, you can easily record your observations.

Scenarios can be used to recreate a past outage that impacted your system, or it can be used to automate a sequence of attacks to iteratively grow the blast radius of a Chaos Engineering experiment.

Creating a Scenario

Name, Description, and Hypothesis

Create a Scenario by entering a name, description, and a hypothesis. For the description, it's helpful to include services you're testing, use cases for the Scenario, or when, and when not, to use that Scenario. For the hypothesis, think through how you expect your application or environment to behave when a sequence of attacks within your Scenario is run. How will your system react to the failure modes you'll be exposing it to? Is your system designed to handle this type of failure? If so, is the system working as designed?

A hypothesis can be useful to record and validate expected behavior and assumptions about your system to see how actual behavior may differ from what is expected.

Attacks

Start crafting your Scenario by either adding a completed attack or by creating a new attack. Selecting the option to add a completed attack will show you a list of all attacks that have run in the past. Find the attack you'd like to add to the Scenario and choose targets to impact. Once you've selected the tags of hosts to impact, the attack will be added to your Scenario.

Alternatively, to start with a new attack, add a new attack to the Scenario. Select the tags of hosts to impact, followed by the attack type and configuration options.

Continue to add as many attacks to the Scenario as you like, changing the tags of hosts to target and attack configuration as desired to grow the blast radius.

A Scenario can only include one attack type.

A delay of 5 seconds is added between each attack you add to the Scenario. This delay can be set to any number of seconds, minutes, or hours.

Targets

Use tags to select targets for attacks within your Scenario. By default, no hosts or containers are selected. This is done for safety to prevent users from accidentally attacks all targets. To expand the blast radius of the attack, select one or more tags per category.

The Exact targeting method is not an option for attacks within a Scenario, tags must be used.

Drafts & Archive

Save the Scenario to have it enter a draft state. The Scenario will be visible in the list of Scenarios and the attack configuration can continue to be edited.

When a Scenario is no longer relevant or needed, you can archive the Scenario to remove it from the active set. Navigate to the Archived tab to view these Scenarios. Unarchive a Scenario if you'd like to return it to the set of active Scenarios.

Running a Scenario

To start running through the sequence of attacks defined in a Scenario, run the Scenario from either the Scenario configuration view or on each Scenario card. A Scenario will show that it's running with a message at the top along with a Halt Scenario button. Halting a Scenario will halt the attack underway, along with the Scenario itself so that no further attacks will begin. The active attack within the Scenario will be visually indicated. As each attack progresses, the state and logs of each attack are available.

Results

The Scenario details view shows on which day and when the Scenario has been run. For each run of a Scenario, the result of the Scenario is available. You can enter notes and observations for the Scenario run, as well as indicating with checkboxes whether the Scenario produced an expected result or if an incident was detected and/or mitigated.

History

View a history of a Scenario's runs by going to the details page of the Scenario and clicking the days on the calendar that have a dot indicating the Scenario ran that day.

Duplicating a Scenario

Once a Scenario is run, you can add results, and re-run a Scenario, but it cannot be edited.

To duplicate a Scenario, select the Scenario from the list, go to the details page, and select "Duplicate". This will create a copy of the previous Scenario. From there, the details, attacks, and targets can be changed. The Scenario can then be saved or run.