-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
For the purposes of resilience testing, the sidecar needs to be able to inject faults into the outbound API calls made by a microservice. Abort, delay and mangle are the three fault primitives that are needed. These primitives kick in before the load balancing stage.
Can these be implemented as TCP/HTTP filters (netfilter style)?
At minimum 2 types of faults are needed to construct elaborate failure scenarios across the application: (abort HTTP requests by returning with different error codes/terminate TCP connection, delay HTTP requests by specified duration). Fault injection should be scoped to a particular subset of requests (e.g., ones with a specific HTTP header or a particular cluster).
[as a wish list, being able to slow down a TCP pipe bandwidth would be cool].