Page MenuHomePhabricator

Restbase cannot connect to ipv6-only service
Open, LowPublic

Description

As part of T255568, a test of the envoy service proxy disabled listening on 127.0.0.1 for services. When this was applied to restbase-dev hosts, started failing to connect to the configured services as it was attempting to connect to 127.0.0.1 and then failing.

$ curl localhost:7233/en.wikipedia.org/v1/feed/announcements
{"type":"https://mediawiki.org/wiki/HyperSwitch/errors/server_error","title":"Site info fetch failed.","method":"get","detail":"connect ECONNREFUSED 127.0.0.1:6500","uri":"/en.wikipedia.org/v1/feed/announcements"}

Restbase only has "localhost" defined for these services, the IP is not hardcoded. This behaviour persisted after a restart.

Meanwhile the IPv6 proxied services are looking fine:

curl -v localhost:6017/en.wikipedia.org/v1/feed/announcements
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 6017 (#0)
...
<
* Curl_http_done: called premature == 0
* Connection #0 to host localhost left intact
{"announce":[]}

The ports in these examples differ but it's the same for all services.

Event Timeline

BPirkle added subscribers: Pchelolo, BPirkle.

@hnowlan what is the impact? Is this blocking anything at the moment?

Adding @Pchelolo for visibility.

BPirkle moved this task from Inbox to Later on the Platform Team Workboards (Clinic Duty Team) board.

@hnowlan what is the impact? Is this blocking anything at the moment?

This is not currently blocking anything but will block servicesops at some point in the future as they move towards making the service proxy IPv6-only.