litmus-docs/website/docs/litmusctl/chaos-workflow-creation.md

4.1 KiB

id title sidebar_label
chaos-workflow-creation Create Scenarios using Litmusctl Create Chaos Scenarios

Usage: Litmusctl v0.10.0

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