Closed cfredri4 closed 2 years ago
@cfredri4 thanks for trying this out.
If I comment out this check then everything works fine using xds also. Should this check be changed to allow UNSPECIFIED as well?
I would expect the control plane (Istio in this case) to use the appropriate direction and in this case i.e. for the server side listener it has to be TrafficDirection.INBOUND
.
So I would like to find out from @costinm if this can be fixed in Istio or if there is a reason why this listener direction has to be unspecified even in case of Envoy. If it has to be unspecified in case of Envoy (since it creates a single listener for both inbound and outbound traffic) then can Istio treat the proxyless case specially to it sets the direction as inbound for server side listener?
@cfredri4 based on what we hear we'll need to make this change cross language since all gRPC languages currently enforce this check and that will need to be changed.
Not sure what traffic direction is used for - but better to be consistent with go and c++.
It would be GREAT if we could have some yaml files with all the fields supported by each implementation, at least as a reference.
I think this is fixed by #9173. If not pls reopen
With the changes in #9173 then Java will still reject TrafficDirection.OUTBOUND, but Go and C++ will still accept this as they have no check at all. Is it important that all languages are consistent? And should then Go and C++ implement a similar check, or should the check in Java actually be removed altogether?
Good question. Having an outbound listener doesn't make sense for a server side listener. I'd wait until there is an actual issue before trying to change anything
Core/C++ does not make any check on traffic direction
I have a grpc-java (1.46.0) server in an Istio (1.13.2) mesh that works fine using Envoy proxy, but which fails if I convert it to use xds instead:
The LDS response is attached below, clearly there is no trafficDirection specified but the exact same setup works fine using Envoy. If I comment out this check then everything works fine using xds also. Should this check be changed to allow
UNSPECIFIED
as well?(ping @sanjaypujare)