> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/resilience-testing/chaos-engineering/use-chaos-engineering/gamedays.md).

# GameDays

#### What is a GameDay? <a href="#what-is-a-gameday" id="what-is-a-gameday"></a>

GameDay is a methodology used by teams to practice chaos engineering. These teams execute chaos experiments on the application during a specific period. It is a template to schedule and execute one or more chaos experiments across your applications. It determines the incident response process, that is, how well your application responds/behaves during an outage, and how quickly and effectively it returns to normalcy.

#### Why is a GameDay important? <a href="#why-is-a-gameday-important" id="why-is-a-gameday-important"></a>

In general, GameDays helps apply a fatal scenario to your application in a safe environment, thereby determining the application's resilience and verifying the system at scale.

At every step in implementing a GameDay, you will either find a glitch in the system that you can address or gain confidence in your application.

#### Steps in a GameDay <a href="#steps-in-a-gameday" id="steps-in-a-gameday"></a>

A GameDay typically involves the following steps:

1. Run chaos experiments on your application,
2. Observe the impact of the failure,
3. Discuss the technical outcomes.

[This](https://youtu.be/X-4Ripb4e2c) video provides a step-by-step walkthrough of GameDay execution.

{% hint style="info" %}
GameDays help decide the type of failure the system would undergo based on the nature of the chaos experiments present within GameDay. Hence, HCE strongly recommends you begin with easy use cases with minimal blast radius, such as breaking one container, degrading one instance, and making one availability zone unavailable. Later, you can delve into more complex failures, such as failing an entire service or affecting a large percentage of requests.
{% endhint %}

#### How to execute a GameDay? <a href="#how-to-execute-a-gameday" id="how-to-execute-a-gameday"></a>

Running a GameDay using HCE's GameDay feature involves the following steps:

1. Plan your GameDay
2. Create a GameDay and specify the details
3. Add experiments to the GameDay and save it
4. Schedule or run the GameDay
5. Record the conclusion and action items

{% hint style="info" %}
**NOTE**

Once you create a GameDay in HCE, you can run it multiple times. HCE saves information about every run, which includes the date, summary, and any notes you add.
{% endhint %}

#### Prerequisites to execute a GameDay <a href="#prerequisites-to-execute-a-gameday" id="prerequisites-to-execute-a-gameday"></a>

1. HCE account
2. Access to a cluster
3. Appropriate permissions to execute a GameDay

#### Permissions required <a href="#permissions-required" id="permissions-required"></a>

ChaosHubs are associated with chaos experiments, hence you need permissions to create new experiments and modify existing experiments. Chaos experiments, in turn, are executed in a chaos infrastructure, hence you need to have access to **create/edit** and **view** the **chaos infrastructure**. Go to **Project Settings** -> **Access Control** -> **Roles** and create a new role or ask your project admin to create an appropriate role.

![](/files/Fj6vYikvBZj3shRtQN12)

#### Plan your GameDay <a href="#plan-your-gameday" id="plan-your-gameday"></a>

Address the following questions before proceeding to run a GameDay:

1. Which services should I test?
2. What is the goal of the GameDay?
3. What should I verify or determine by the end of the GameDay?

Once these questions have a viable answer, you can proceed to create a GameDay.

Creating a GameDay involves two steps:

1. Specifying details about the GameDay,
2. Adding chaos experiments to the GameDay.

#### Start a GameDay run <a href="#start-a-gameday-run" id="start-a-gameday-run"></a>

If you have created your GameDay earlier, select **Start New Run** to run the GameDay; otherwise, [create a GameDay](#create-a-gameday).

![](/files/aXQj6BfDqrtJXYTZh8CU)

#### Create a GameDay <a href="#create-a-gameday" id="create-a-gameday"></a>

1. Go to **Chaos** module, select **GameDay** and click **+New GameDay**.
2. Add stakeholder names, their roles, and whether they are required to approve a GameDay run. Anyone can approve or reject a GameDay run. Select **Next: Select Prerequisites**.

   ![](/files/TNaxd0iqbTs7zHTloFeM)

You can create prerequisites for your GameDay to:

* Validate environment health.
* Check the availability of relevant chaos tools.
* Check if the chaos tools are configured with the right chaos artefact sources.
* Check the availability of the team members.

3. Select **+ Add prerequisite**. Enter a title and a description (optional). Select **Save**.

   ![](/files/FFPobDNeYFpui078XfzJ)
4. Select **Next: Select Experiments** to select chaos experiments to execute.

   ![](/files/OjydOB41MYnMUoUtvL6u)
5. Select an environment, an infrastructure type, an infrastructure, and a ChaosHub. Select the chaos experiment and select **Add Experiment to GameDay**.

   ![](/files/qJhFs031lBH3Ocoy3Z8K)
6. Select **Save** (or **Discard** if you don't want to proceed). You can add a new experiment, edit or delete existing experiments in this step.

   ![](/files/py3pQ3DIZdEYTOOfpE5H)
7. Once the stakeholders approve the GameDay run, you can proceed.

   ![](/files/0SEQtUJw0uHPeQLvLntp)

{% hint style="info" %}
**NOTE**

* A stakeholder can reject the run and state reasons in the comments.

  ![](/files/PCqqaZkQYLBmOcEJ2nGI)
  {% endhint %}

9. Select **Next: Check prerequisites** to validate whether the prerequisites you mentioned earlier have been fulfilled.

   ![](/files/QFGwWfwiUNqXlJ0XL4Xi)
10. You can verify if the prerequisites are fulfilled, and check them. If one of them is not fulfilled, you will not be able to execute the experiments.

    ![](/files/O5oHIOGSmx5stP6TBYsT)

{% hint style="info" %}

* You can add comments about the prerequisite validation.

  ![](/files/y84Mci6mUqGRWkhkczJk)
  {% endhint %}

11. Once all the prerequisites are fulfilled, select **Next: Run experiments**.

    ![](/files/Cr1wdEhytkVQgnD9v7Ip)
12. Once all the experiments complete execution, select **Done Running Experiments**.

    ![](/files/p178HsolsFVUQ3iSpYsW)

{% hint style="info" %}
**NOTE**

* Select **Terminate GameDay Run** to stop GameDay execution. Select **Terminate this run** to confirm.

<img src="/files/UU3cCxr1Ixnvdf2lc4ZU" alt="" data-size="original">

* Select **Add/View Notes** to note your findings about experiments in the GameDay.

<img src="/files/2FcZTWTTBl4RiVeiK3u0" alt="" data-size="original">
{% endhint %}

13. Once the experiments complete execution, select **Complete GameDay Run**. You can view the summary of the runs and the run observations.

    ![](/files/lm3Jtmv1bU8kBkP7pfS8)

{% hint style="info" %}
**NOTE**

* Select **Done Running Experiments** to complete the run. If your chaos experiments have faults that have not run, they will be marked **Skipped**.

<img src="/files/RRwYi8IHb74swEzx8CH4" alt="" data-size="original">
{% endhint %}

### View GameDay run report <a href="#view-gameday-run-report" id="view-gameday-run-report"></a>

To view the GameDay run report, navigate to your GameDay run and select **View Report**.

![](/files/NiR3atz8sUUKzIUeRdK1)

#### Download GameDay run report <a href="#download-gameday-run-report" id="download-gameday-run-report"></a>

1. To download the report, select **Download Report** on the page where you view the GameDay run report.

   ![](/files/3RYWcvMwj2BQLa8y9lww)
2. Select **Save** and specify a name for the file (or use the default name provided).

   ![](/files/WS3Cc9TDzfhmvUPhWo0Y)

### Conclusion <a href="#conclusion" id="conclusion"></a>

Congratulations on scheduling (or running) your GameDay! Based on the results, you can take steps to improve the resilience of your application.
