aws-app-mesh-roadmap icon indicating copy to clipboard operation
aws-app-mesh-roadmap copied to clipboard

Implement Fault Injection

Open jamsajones opened this issue 7 years ago • 5 comments

jamsajones avatar Nov 28 '18 18:11 jamsajones

Would like to hear some use case details, especially about whether there is already an fault injection mechanism that you are using

shubharao avatar Sep 28 '19 00:09 shubharao

I'm interested in using this feature to verify that client and service mesh deadlines/retry policies are working correctly.

hbaldwi avatar Aug 31 '20 22:08 hbaldwi

Hey @hbaldwi, cool idea. Can you tell us a little more about how you would test and verify the deadlines and retry policies are working? Is there a specific test framework and continuous integration pipeline you're targeting to make this work?

bcelenza avatar Sep 01 '20 15:09 bcelenza

As a naive implementation, I was planning to set a small percentage of the requests to be aborted with an error, and include an integration test for client services which would send a large number of unary RPCs (I'm using GRPC) to other services, and verify that there are no errors returned to the client. The retry policy would be set such that, if it was working correctly, the probability of an error being returned to the client would be so low that it would never realistically occur.
At the very least, this would verify that our client GRPC deadlines are sufficiently high for Envoy's retry policy (given its backoff strategy), and that the retry policy is functioning correctly. I'm using Jenkins for CI, and Golang's testing package for tests.

hbaldwi avatar Sep 04 '20 20:09 hbaldwi

We plan to use chaos mesh for fault injection of services on appmesh

kevinten10 avatar May 12 '22 08:05 kevinten10