We currently have GeoIP/libgeoipip code in our VCL for the GeoIP cookies & geoiplookup. We should replace it with code that uses libmaxminddb & the GeoIP2 databases. This would allow us proper IPv6 lookups as well and, depending on their accuracy and our accuracy requirements, might just let us fully decommission the separate geoiplookup.wikimedia.org domain.
Description
Details
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Resolved | BBlack | T121925 [EPIC] GeoIP lookup for IPv6 connections delays banner loading | |||
| Open | None | T121937 [EPIC] Fix and improve geolocation, and ensure it's working properly for FR campaigns | |||
| Resolved | BBlack | T100902 Get rid of geoiplookup service | |||
| Resolved | BBlack | T143270 ULS GeoIP should not use meta.wm.o/geoiplookup | |||
| Resolved | • AndyRussG | T143271 CN: Stop using the geoiplookup HTTPS service (always use the Cookie) | |||
| Resolved | BBlack | T99226 Switch Varnish's GeoIP code to libmaxminddb/GeoIP2 | |||
| Resolved | BBlack | T89688 Varnish GeoIP is broken for HTTPS+IPv6 traffic | |||
| Resolved | BBlack | T146638 Remove "GeoIP lookup" service from https://status.wikimedia.org |
Event Timeline
Change 253619 had a related patch set uploaded (by Faidon Liambotis):
varnish: switch from libGeoIP to libmaxminddb
How to test accuracy? The original accuracy test for MaxMind was https://meta.wikimedia.org/wiki/MaxMindCityTesting
The vendor for both databases is the same, so the accuracy of the IPv4 data would be the same. The IPv6 switch means that we'd geolocate IPv6 directly now instead of falling back to IPv4; this would possibly be less accurate but I think we should just do it anyway (but not during the fundraiser period).
looks like this was waited for until the fundraising was over, can it be resumed now? also would the migration to varnish4 have any impact on it?
It's mostly been blocked on lack of anyone having time to work on it, too. At this point, it's probably wiser to delay this to post-varnish4 instead of doing work under varnish3 that will have to be re-evaluated/ported to varnish4 shortly after. Will update blockers.
I'm planning to merge up the new version of the Varnish GeoIP code from rOPUP371d7cc737d0 in the next couple of days. If anyone has the time to give it some review for stupid mistakes, it would be appreciated!
Change 305419 had a related patch set uploaded (by BBlack):
GeoIP VCL: re-set old IPv6 no-data cookies
Change 305647 had a related patch set uploaded (by BBlack):
Prep varnishd for libmaxminddb-based VCL
Change 305648 had a related patch set uploaded (by BBlack):
varnish: remove libgeoip from text VCL compilation
Change #1168038 had a related patch set uploaded (by Krinkle; author: Krinkle):
[operations/puppet@production] varnish: Improve GeoIP to use cookie domain similar to prod
Change #1168038 merged by BCornwall:
[operations/puppet@production] varnish: Improve GeoIP to use cookie domain similar to prod