Skip to content

Update chaos engg docs with recent product changes #1256

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 57 commits into from
Jul 25, 2024
Merged

Conversation

viren-nadkarni
Copy link
Member

@viren-nadkarni viren-nadkarni commented May 10, 2024

Caution

Reviewers please do not merge

Background

Following product changes are planned for the LocalStack Chaos Engineering tool suite:

FIS

  • The emulation capabilities are being moved to Enterprise tier
  • Lower pro tiers will retain the mock capabilities
  • LocalStack-specific actions are being deprecated

Outages Extension

  • Support is being dropped

Chaos Plugin

  • New feature
  • Supports everything that outages extension and FIS earlier supported
  • Features a powerful configuration language that allows for a finer control over faults and network effects

Changes

  • Adds the Chaos Plugin's new internal endpoints
  • Tutorial for FIS is removed. Most of the content is migrated to the new Chaos Plugin tutorial
  • Route53 Failover tutorial, which earlier used FIS, now makes use of the Chaos Plugin
  • A tutorial highlighting the Error Probabilities config options in Community
  • Updates the FIS service page to reflect deprecations and other updates
  • Add new page for Chaos Plugin in the Chaos Engineering section
  • The FIS page in Chaos Engineering section is updated to warn about reprecations
  • Outages Extension page in Chaos Engineering section now has the appropriate warning about EOL
  • The page documenting the Error Probabilities config options in Community is removed to encourage use of the Chaos Plugin

TODO

@viren-nadkarni viren-nadkarni self-assigned this May 10, 2024
Copy link

github-actions bot commented May 10, 2024

🎊 PR Preview has been successfully built and deployed to https://localstack-docs-preview-pr-1256.surge.sh 🎊

@viren-nadkarni viren-nadkarni force-pushed the chaos-engg branch 2 times, most recently from fa2f697 to 56df276 Compare June 12, 2024 12:00
@viren-nadkarni viren-nadkarni changed the title Fix chaos engineering docs to reflect product updates Update chaos engg docs with recent product changes Jun 19, 2024
Comment on lines +70 to +71
- `POST`: Add new configuration
- `PATCH`: Add a rule
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is a configuration and what is a rule?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have defined this on line 46:

Service faults can be configured using the endpoint at /_localstack/chaos/faults.
The configuration schema consists of an array of one or more rules, where each rule specifies the conditions for the fault to occur.
When active, rules are evaluated sequentially on every request to LocalStack until the first match.

Is it unclear?

Copy link
Contributor

@SimonWallner SimonWallner Jun 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah, now I see that the payload accepts an array. so this array would be the configuration and each element a rule?

that would mean that a configuration is identified by an id, and GET ./chaos/faults would return the configs with their ids? To update a configuration I'd then PATCH ./chaos/faults/<configuration_id>

similarly for the rules there is a DELETE so I'd assume they are also identified by an id DELETE ./chaos/faults/<fault_id>/<rule_id>

but maybe I'm thinking to complicated here... 🤔 having all that auto generated with make things much easier :D

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is just one configuration. Multiple configurations are not supported.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, then I guess just needs to be updated

GET: Get current configuration
POST: Add new configuration
PATCH: Add a rule
DELETE: Delete a rule

maybe a GET and PUT is sufficient here then. instead of the term 'configuration' just 'list of rules' might be easier to understand.

Copy link
Contributor

@SimonWallner SimonWallner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

briefly went through changes and comments since my last review. It's a good first step and to be extended in the near future.

Copy link
Contributor

@tinyg210 tinyg210 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall. left 2 comments, but i think the label/tag one is more important.

@HarshCasper HarshCasper merged commit 0e4708a into main Jul 25, 2024
5 checks passed
@HarshCasper HarshCasper deleted the chaos-engg branch July 25, 2024 07:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants