mayadata-io / mayadata-io/d-operators

generate ChaosEngine from a deployment under chaos

Open
#25 4 comments 0 reactions 3 assignees View on GitHub

@amitbhatt818 is already working on this.

Since Apr 7, 2020.

litmus
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 templates the user can pull. The app info (a) is desired to be pulled by the controller under discussion: as part of generating the chaosengine attachment.

  • 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.