Requirement failed: You must specify host and port in hosts


#1

Issue type: bug/misconfiguration.
Expected response: 200 ok status with response
Actual: exception- requirement failed
Env: k8s on aws
Linkerd version: 1.4.6

Below is the response from our endpoint through linkerd.
The endpoint is healthy and individual curl to the endpoint works fine, can you help us understand what does the exception mean specifically??

TxnId=ad95e835-9b66-4606-8e54-8e5167b870cf] [sourceApp=someApp] INFO c.c.n.c.Command - Notification Response: Unable to route request!

service name: /svc/foo.bar.com:443
resolutions considered:
/#/io.l5d.k8s.http/com:443/http/barcom (neg)
/#/io.l5d.k8s.http/default/http/com:443 (neg)
/$/io.buoyant.rinet/443/foo.bar.com (pending)
/$/io.buoyant.rinet/80/Foo.bar.com
foo.bar.com:443 (exception: requirement failed: You must specify host and port in hosts: foo.bar.com:443:80
dtab:
/ph => /$/io.buoyant.rinet
/svc => /ph/80
/svc => /$/io.buoyant.porthostPfx/ph
/k8s => /#/io.l5d.k8s.http
/portNsSvc => /#/portNsSvcToK8s
/host => /portNsSvc/http/default
/host => /portNsSvc/http
/svc => /$/io.buoyant.http.domainToPathPfx/host
base dtab:

override dtab:


[2018-12-03 19:24:54,285] [http-nio-8080-exec-5] [txnId=1543865094167-292625377] [clientIp=98.191.xx.xx] [accountNumber=] [sessionHashCode=] [methodPath=/recovery/v1/acc/verification/notify:POST] [sesTxnId=ad95e835-9b66-4606-8e54-8e5167b870cf] [sourceApp=someApp] ERROR c.c.n.c.Command - Notification Service Error:
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Unable': was expecting ('true', 'false' or 'null')
at [Source: Unable to route request!

#2

also, I observe that the resolution for the endpoint is in pending state,

/$/io.buoyant.rinet/443/foo.bar.com (pending)

#3

copying slack chat here, reply by @dennis.ab
@zshaik try running a diagnostic trace to see how Linkerd resolves that IP. You can do it by http_proxy=l5d:4140 curl -X TRACE -H "l5d-add-context: true" http://foo.bar.com:443