Skip to main content
Version: 3.0.0-beta8

Create Scenarios using Litmusctl


Notes:

  • For litmusctl v0.10.0 or latest
  • Compatible with Litmus 2.9.0 or latest

litmusctl Syntax

litmusctl has a syntax to use as follows:

litmusctl [command] [TYPE] [flags]
  • Command: refers to what you do want to perform (create, get and config)
  • Type: refers to the feature type you are performing a command against (chaos delegate, project etc.)
  • Flags: It takes some additional information for resource operations. For example, --installation-mode allows you to specify an installation mode.

Litmusctl is using the .litmusconfig config file to manage multiple accounts

  1. If the --config flag is set, then only the given file is loaded. The flag may only be set once and no merging takes place.
  2. Otherwise, the ${HOME}/.litmusconfig file is used, and no merging takes place.

Steps to create a Chaos Scenario

  • To setup an account with litmusctl
litmusctl config set-account --endpoint="" --username="" --password=""
  • To create a Chaos Scenario by passing a manifest file

    Note:

    • To get project-id, apply litmusctl get projects
    • To get chaos-delegate-id, apply litmusctl get chaos-delegates --project-id=""
litmusctl create chaos-scenario -f custom-chaos-scenario.yml --project-id="" --chaos-delegate-id=""

Verify the new Chaos Scenario

To verify the successful creation, you can either view the list of chaos scenarios at the ChaosCenter dashboard or run the below given command to list the chaos scenarios within a given project.

litmusctl get chaos-scenarios --project-id=""

Output:

CHAOS SCENARIO ID                          CHAOS SCENARIO NAME                    CHAOS SCENARIO TYPE     NEXT SCHEDULE CHAOS DELEGATE ID                             CHAOS DELEGATE NAME LAST UPDATED BY
9433b48c-4ab7-4544-8dab-4a7237619e09 custom-chaos-scenario-1627980541 Non Cron Scenario None f9799723-29f1-454c-b830-ae8ba7ee4c30 Self-Chaos-Delegate admin
Showing 1 of 1 chaos scenarios

Additional commands

  • To list all the chaos scenario runs within a project, issue the following command.
litmusctl get chaos-scenario-runs --project-id=""

Output:

CHAOS SCENARIO RUN ID                      STATUS  RESILIENCY SCORE CHAOS SCENARIO ID                          CHAOS SCENARIO NAME                    TARGET CHAOS DELEGATE LAST RUN                 EXECUTED BY
8ceb712c-1ed4-40e6-adc4-01f78d281506 Running 0.00 9433b48c-4ab7-4544-8dab-4a7237619e09 custom-chaos-scenario-1627980541 Self-Chaos-Delegate June 1 2022, 10:28:02 pm admin
Showing 1 of 1 scenario runs
  • To describe a particular chaos scenario, issue the following command.
litmusctl describe chaos-scenario 9433b48c-4ab7-4544-8dab-4a7237619e09 --project-id=""

Output:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
creationTimestamp: null
labels:
cluster_id: f9799723-29f1-454c-b830-ae8ba7ee4c30
subject: custom-chaos-scenario_litmus
workflow_id: 9433b48c-4ab7-4544-8dab-4a7237619e09
workflows.argoproj.io/controller-instanceid: f9799723-29f1-454c-b830-ae8ba7ee4c30
name: custom-chaos-scenario-1627980541
namespace: litmus
spec:
...
  • To delete a particular chaos scenario, issue the following command.
litmusctl delete chaos-scenario df91c6b2-ad33-45ae-9a2f-00cb87978657 --project-id=""

Output:

🚀 Chaos scenario successfully deleted.

For more information related to flags, Use litmusctl --help.


Learn More