Skip to content

Commit 8a43be3

Browse files
authored
Merge pull request #34 from oumkale/info
Adding Overview for litmus-python experiment flow
2 parents c79105d + 0233b9f commit 8a43be3

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

Diff for: README.md

+30
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,36 @@ It generates the custom chaos experiments with some default Pre & Post Chaos Che
2424

2525
Refer [Litmus-SDK](https://github.com/litmuschaos/litmus-python/blob/master/contribute/developer-guide/README.md) for more details
2626

27+
### Overview
28+
29+
Litmus-Python chaos experiments are fundamental units within the LitmusChaos architecture. Users can choose between readily available chaos experiments or create new ones to construct a required Chaos Workflow.
30+
31+
To know more about LitmusChaos experiments [refer](https://litmuschaos.github.io/litmus/) to this.
32+
33+
#### Experiment Flow :
34+
- Experiment business logic image has to be updated in `spec.definition.image` along with experiment entrypoint and tunable parameters in ChaosEngine (CR) which holds experiment-specific chaos parameters. ChaosExperiment is created by chaos runner which is managed by chaos operator [Refer litmus-python pod-delete experiment](https://github.com/litmuschaos/chaos-charts/blob/master/charts/generic/pod-delete/python/experiment.yaml)
35+
- Chaos Engine holds experiment-specific parameters. This CR is also updated/patched with the status of the chaos experiments, making it the single source of truth concerning the chaos.
36+
- Now we need to fit Experiment and Engine into the workflow, Chaos Workflow is a set of different operations coupled together to achieve desired chaos impact on a Kubernetes Cluster. LitmusChaos leverages the popular workflow & GitOps tool, Argo, to achieve this.
37+
- Add experiment manifest in `install-experiment` artifacts and engine in `run-chaos` artifacts.
38+
- Follow the steps in [pod-delete workflow](https://github.com/litmuschaos/chaos-charts/blob/master/workflows/pod-delete/workflow.yaml) or [User guide](https://docs.litmuschaos.io/docs/user-guides/construct-workflow/)
39+
- Now fork and clone [chaos-charts](https://github.com/litmuschaos/chaos-charts), Enter into [workflow](https://github.com/litmuschaos/chaos-charts/tree/master/workflows) directory.
40+
- Enter into `charts` directory to add charts which has been generated using sdk, for [reference](https://github.com/litmuschaos/chaos-charts/tree/master/charts/cassandra)
41+
- Enter into `workflow` directory and add workflow manifests for [reference](https://github.com/litmuschaos/chaos-charts/tree/master/workflows/podtato-head)
42+
- **Note**: Update `sample_category` and `sample_exec_chaos` to `sample-category` and `sample-exec-chaos` inside manifest in every chart name while updating chaos-charts. Example: `sample_category.package.yaml` to `sample-category.package.yaml`
43+
- Connect your Git repository with chaos-center [ChaosHub](https://docs.litmuschaos.io/docs/concepts/chaoshub/)
44+
- Workflow can be added as a predefined workflow in Github and users can test by following the given steps:
45+
- Fork and clone [chaos-charts](https://github.com/litmuschaos/chaos-charts), now Enter into [workflow](https://github.com/litmuschaos/chaos-charts/tree/master/workflows) directory.
46+
- Follow the same structure for your workflow and push it. For [example](https://github.com/litmuschaos/chaos-charts/tree/master/workflows/podtato-head)
47+
- Connect your Git repository with chaos-center [ChaosHub](https://docs.litmuschaos.io/docs/concepts/chaoshub/)
48+
- Schedule your workflow with chaos-center in [given](https://docs.litmuschaos.io/docs/user-guides/schedule-workflow) manner, by selecting your connected [ChaosHub](https://docs.litmuschaos.io/docs/user-guides/schedule-workflow/#2-choose-a-workflow)
49+
- To Run your [first workflow](https://docs.litmuschaos.io/docs/getting-started/run-your-first-workflow/) follow the step-by-step guidelines.
50+
- After scheduling it one can [observe the workflow](https://docs.litmuschaos.io/docs/user-guides/observe-workflow)
51+
- To [Analyze the workflow](https://docs.litmuschaos.io/docs/user-guides/analyze-workflow/#) follow these guidelines
52+
- Now User can [setup own Observablity](https://docs.litmuschaos.io/docs/user-guides/observability-set-up) and [Compare](https://docs.litmuschaos.io/docs/user-guides/comparative-analysis) it with other scheduled workflows with the help of monitoring dashboard
53+
- It can be scheduled for repeated execution.
54+
- Select [edit Schedule](https://docs.litmuschaos.io/docs/user-guides/edit-schedule#3-change-the-schedule) to schedule recurrent workflow by selecting proper timing.
55+
- [Refer manifest](https://github.com/litmuschaos/chaos-charts/blob/master/workflows/podtato-head/workflow_cron.yaml) manifest.
56+
2757
## How to get started?
2858

2959
Refer the LitmusChaos documentation [litmus docs](https://docs.litmuschaos.io)

0 commit comments

Comments
 (0)