You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of the ServiceInstance that a discovery client returns, there is a field called metadata, which is some meta information about the service. As part of it, we return a so called port name and port number, it really does not even matter what they mean or where they come from.
The relevant part for this issue is that sometimes port name might not be present. In that case:
fabric8 ignores that field
k8s takes that field into account
For example, here is how fabric8 would represent a response:
imo, k8s is not doing the correct thing, for a few reasons:
in general, we do not care about this metadata too much. We care about the "primary port" of the service, that is returned elsewhere and is computed correctly for both clients.
if there are multiple ports without a name, k8s will override each other, because it does:
Map<String, String> ports = ...
for (CoreV1EndpointPorts onePort: allOfServicesPorts) {
if (onePort.getName == null) {
ports.put("<unset>", onePort.getNumber())
}
}
you can see that if there are more then one port without a name, one will override the other.
I am open to any suggestions, cause this is rather confusing for me too.
The text was updated successfully, but these errors were encountered:
As part of the
ServiceInstance
that a discovery client returns, there is a field calledmetadata
, which is some meta information about the service. As part of it, we return a so called port name and port number, it really does not even matter what they mean or where they come from.The relevant part for this issue is that sometimes port name might not be present. In that case:
For example, here is how fabric8 would represent a response:
while k8s:
Notice the
"<unset>", "8080"
.imo, k8s is not doing the correct thing, for a few reasons:
you can see that if there are more then one port without a name, one will override the other.
I am open to any suggestions, cause this is rather confusing for me too.
The text was updated successfully, but these errors were encountered: