Open howardjohn opened 1 month ago
/assign @keithmattix
Update: the drain manager doesn't actually support uni-directional draining. This would be a new feature, but I think it's reasonable and somewhat simple to implement. I can potentially get a PR out in the next week or so
/cc @jmarantz what're your thoughts here? The draining semantics that I see in the code don't have any existing hooks for limiting the draining to only inbound listneners
If you are reporting any crash or any potential security issue, do not open an issue in this repo. Please report the issue via emailing envoy-security@googlegroups.com where the issue will be triaged appropriately.
Title: Draining
inboundonly
andgraceful
do not work togetherDescription:
when draining listeners with
inboundonly&graceful&skip_exit
, theinboundonly
attribute is ignored.You can see here it is never used at all: https://github.com/envoyproxy/envoy/blob/277722e94187045bfe7da6d13d2835b5c5b14168/source/server/admin/listeners_handler.cc#L31-L43
Repro steps:
curl httpbin.org/get -v
and look forconnection: close
header. Note this goes through an outbound listener.curl -X POST localhost:15000/'drain_listeners?inboundonly
: no close header setcurl -X POST localhost:15000/'drain_listeners?inboundonly&graceful&skip_exit
: close header is set unexpectedly