mayadata-io / mayadata-io/d-operators
generate ChaosEngine from a deployment under chaos
@amitbhatt818 is already working on this.
Since Apr 7, 2020.
- Dominant language
- Go
- Stars
- 10
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
Requirement:
- The users workflow to trigger/abort chaos should be as simple as annotating and de-annotating his application deployment.
- In other words, ChaosEngine resources should be created (triggering the experiment) and removed (aborting the experiment) upon adding an experiment specific annotation. For example:
litmuschaos.io/pod-delete: true | false(or removal). - This can be extended to handle repeated/scheduled execution, say
litmuschaos.io/pod-delete-schedule: <time units>which might create a schedule custom resource (the scheduler controller then creating the engine)
Considerations:
-
The chaosengine spec is today holds (a) app info / (b) experiment info / (c) run-properties. Out of these (c) and to an extent (b) are static information as far as a user/SRE is concerned and can be derived from
templatesthe user can pull. The app info (a) is desired to be pulled by the controller under discussion: as part of generating the chaosengineattachment. -
Schedule are subject to halt/resumption. Lets say that is handled by other controllers (scheduler, as discussed above). In such cases the current engine/schedule generator should be aware and reconcile accordingly.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.