envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
25k stars 4.81k forks source link

Runtime configuration of HTTP fault injection per upstream cluster #10173

Open kota65535 opened 4 years ago

kota65535 commented 4 years ago

Title: HTTP fault injection filter can have runtime settings per downstream cluster, but not upstream cluster.

Description: I'm trying to simulate a failure of an external service. In my case, fault injection filter should be configured as one of the egress http filters to inject delay or abort requests to the external service. I want to inject failure only to the requests to the specific upstream cluster (the external service) in runtime. But as described here, fault injection filter allows runtime setting only per downstream cluster by , not upstream cluster.

Thanks

mk46 commented 4 years ago

@dio I would like to take up this issue.

mk46 commented 4 years ago

@kota65535 I run the sandbox for Fault injection filter, there are a backend service(upstream) and an envoy sidecar container. Downstream will send the request to envoy sidecar and fault injection will occur if we configure fault injection filter for the backend service to the envoy sidecar. IMO, You need to configure the fault injection filter for those external services only where you want to inject fault.
Could you please explain more about the scenario? Is envoy configured as a sidecar for external service or something else? cc @alyssawilk

ggmm-0 commented 2 years ago

@mk46 Is there a way to use fault injection on per route basis? I want to apply it to specific requests only (based on e.g. path prefix).