Skip to content

Commit 3149e5d

Browse files
committed
Proposal: New Chaos Fault for Amazon ECS
Signed-off-by: Jongwoo Han <[email protected]>
1 parent ed7b5a8 commit 3149e5d

File tree

2 files changed

+83
-0
lines changed

2 files changed

+83
-0
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
| title | authors | creation-date | last-updated |
2+
|----------------------------------------------|------------------------------------------|---------------|--------------|
3+
| Adding a New Chaos Fault - AWS ECS Task Stop | [@jongwooo](https://github.com/jongwooo) | 2024-10-22 | 2024-10-22 |
4+
5+
# Adding a New Chaos Fault - AWS ECS Task Stop
6+
7+
- [Summary](#summary)
8+
- [Motivation](#motivation)
9+
- [Goals](#goals)
10+
- [Non-Goals](#non-goals)
11+
- [Proposal](#proposal)
12+
- [Use Cases](#use-cases)
13+
- [Implementation Details](#implementation-details)
14+
- [Risks and Mitigations](#risks-and-mitigations)
15+
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
16+
- [Drawbacks](#drawbacks)
17+
- [Alternatives](#alternatives)
18+
- [References](#references)
19+
20+
## Summary
21+
22+
[Amazon Elastic Container Service (ECS)](https://aws.amazon.com/ecs/) is a highly scalable, high-performance container orchestration service that supports Docker containers and allows you to easily run and scale containerized applications on AWS.
23+
ECS is a widely used service in AWS.
24+
But there is no Chaos Fault for ECS in Litmus ChaosHub.
25+
So I want to add a new Chaos Fault for ECS.
26+
Adding 'ecs task stop' Chaos Fault to Litmus ChaosHub can help create a more resilient system.
27+
28+
## Motivation
29+
30+
Litmus ChaosHub has plenty of Chaos Faults.
31+
But there is no Chaos Fault for Amazon ECS.
32+
ECS is a widely used service in AWS.
33+
So I want to add a new Chaos Fault for ECS.
34+
Adding 'ecs task stop' Chaos Fault to Litmus ChaosHub can help create a more resilient system.
35+
36+
### Goals
37+
38+
- Adding an 'ecs task stop' Chaos Fault to [Litmus ChaosHub](https://hub.litmuschaos.io/)
39+
- Fixing [litmus-go](https://github.com/litmuschaos/litmus-go) and [chaos-charts](https://github.com/litmuschaos/chaos-charts) codes
40+
41+
### Non-Goals
42+
43+
- Fixing Litmus codes except for [litmus-go](https://github.com/litmuschaos/litmus-go) and [chaos-charts](https://github.com/litmuschaos/chaos-charts) is a non-goal
44+
45+
## Proposal
46+
47+
### Use Cases
48+
49+
#### Use case 1
50+
51+
In Chaos Studio, Users can select 'ecs task stop' Chaos Fault as part of the Chaos Experiment.
52+
They can compose it with other Chaos Faults.
53+
54+
### Implementation Details
55+
56+
Here's a Chaos Fault Scenario.
57+
58+
![ecs-task-stop](./images/ecs-task-stop-fault-scenario.png)
59+
60+
#### Phase 1 - Add scenario to the litmus-go repository
61+
62+
I will use `litmuschaos/go-runner` image.
63+
So I am going to add a new case in the litmus-go repository.
64+
65+
#### Phase 2 - Add a new Chaos Fault to the Litmus ChaosHub
66+
67+
After Phase 1 PR gets merged, I will raise a PR that adds an 'ecs task stop' Chaos Fault to the `chaos-charts` repository.
68+
When all is done, the user can easily assault the ECS service.
69+
70+
## Risks and Mitigations
71+
72+
We need to grant proper RBAC permissions to the runner container.
73+
Granting override permissions may affect other systems.
74+
75+
## Upgrade / Downgrade Strategy
76+
77+
## Drawbacks
78+
79+
## Alternatives
80+
81+
## References
82+
83+
- [Amazon Elastic Container Service Documentation](https://docs.aws.amazon.com/ecs/)
347 KB
Loading

0 commit comments

Comments
 (0)