Skip to content
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

Enriching AWS chaos #1472

Closed
STRRL opened this issue Jan 30, 2021 · 11 comments
Closed

Enriching AWS chaos #1472

STRRL opened this issue Jan 30, 2021 · 11 comments
Assignees

Comments

@STRRL
Copy link
Member

STRRL commented Jan 30, 2021

Here is an overview of the plan for supporting more chaos about AWS.

We have already try to implement AWS Chaos like "stop/restart" EC2, but it still lacks e2e tests. Thanks to localstack, we could emulation the AWS API at the local machine. So we could write some test cases based on localstack.

Except for e2e tests, I think we could implement more chaos about AWS based services, such as S3 or DynamoDB.

@STRRL STRRL self-assigned this Jan 30, 2021
@fewdan
Copy link
Member

fewdan commented Jan 30, 2021

I think this is a very good idea!

@someshkoli
Copy link
Contributor

Hey @STRRL, I'd like to work on this issue

Here is an overview of the plan for supporting more chaos about AWS.

Except for e2e tests, I think we could implement more chaos about AWS based services, such as S3 or DynamoDB.

From what I understand, We need to use the api that awscli uses to create more chaos on aws services such just like we do on EC2 ?

We have already try to implement AWS Chaos like "stop/restart" EC2, but it still lacks e2e tests. Thanks to localstack, we could emulation the AWS API at the local machine. So we could write some test cases based on localstack.

Not yet clear about this, could you please elaborate more ?

@STRRL
Copy link
Member Author

STRRL commented Feb 4, 2021

We need to use the api that awscli uses to create more chaos on aws services such just like we do on EC2?

It's the way that we used to implement AWS Chaos for now. We invoke the official AWS API for making some chaos. It indeed makes some breaks on the real machines.

If we could, we want to try another way to make more chaos: use localstack instead of official AWS API. You might already notice that awscli could connect to another self-hosted localhost by providing --endpoint.

We might run a modified localstasck that could provide some internal API for simulation chaos. But it's just an imagination for injecting chaos into "self-hosted cloud infrastructure".

Honstly, if we modify the localstack, these chaoses might not work on AWS, it might be useless. We will figure out the feasibility and usability in several days.

@STRRL
Copy link
Member Author

STRRL commented Feb 4, 2021

And this issue has been taken as an lfx mentorship project, you could look up here. 😜

@someshkoli
Copy link
Contributor

We need to use the api that awscli uses to create more chaos on aws services such just like we do on EC2?

It's the way that we used to implement AWS Chaos for now. We invoke the official AWS API for making some chaos. It indeed makes some breaks on the real machines.

If we could, we want to try another way to make more chaos: use localstack instead of official AWS API. You might already notice that awscli could connect to another self-hosted localhost by providing --endpoint.

We might run a modified localstasck that could provide some internal API for simulation chaos. But it's just an imagination for injecting chaos into "self-hosted cloud infrastructure".

Honstly, if we modify the localstack, these chaoses might not work on AWS, it might be useless. We will figure out the feasibility and usability in several days.

Okay got it, do we already have a POC for this ? If not I shall start by making one.

@someshkoli
Copy link
Contributor

And this issue has been taken as an lfx mentorship project, you could look up here. 😜

Great, I'll apply for this ✌️

@STRRL
Copy link
Member Author

STRRL commented Feb 4, 2021

Okay got it, do we already have a POC for this? If not I shall start by making one.

No, we have not built out any POC. Thanks a lot! 😍

@supra08
Copy link

supra08 commented Feb 5, 2021

Hi @STRRL!

I am new to the chaos-mesh community and also willing to apply to the LFX mentorship.

I had a couple of questions regarding this task. You mentioned:

We might run a modified localstack that could provide some internal API for simulation chaos.

  1. Why do we need a 'modified' localstack? Because localstack seems to provide AWS cloud mocking tools out of the box with the API endpoint given in https://github.com/localstack/localstack#configurations. Do we want a chaos simulation module over this given API?

  2. If this is to be a separate module, would it be a separate service in the chaos infrastructure?

  3. I see that a PR is present for the integration test: awschaos: add integration test with localstack #1477. Does this PR validate the localstack integration and we can proceed the module POC?

@STRRL
Copy link
Member Author

STRRL commented Feb 18, 2021

Why do we need a 'modified' localstack?

Modifying localstack is one way for injecting chaos, it doesn't mean we must do it.

If this is to be a separate module, would it be a separate service in the chaos infrastructure?

I'm not sure about what the "service" means. It mostly like DNSChaos, it contains the standalone Kubernetes Service stands for localstack, and separate CRD.

I see that a PR is present for the integration test: #1477. Does this PR validate the localstack integration and we can proceed the module POC?

Well, it's one of the test cases. But it does not bring new chaos. It shows the way that localstack could integrate easily with our test framework.

@github-actions
Copy link

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 21 days

@github-actions
Copy link

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 21 days

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants