Context
Ideal state: Extension:IPInfo shows baseline data from GeoLite2 and is supplemented by data from Spur (via iPoid-Service).
Background
In T361884: Remove $wgIPInfoGeoIP2EnterprisePath from production config, we removed the $wgIPInfoGeoIP2EnterprisePath from the operations/mediawiki-config repo, because we no longer want to use MaxMind Enterprise GeoIP2 data. The patch rOMWCbacf14164ad3: IPInfo: Remove $wgIPInfoGeoIP2EnterprisePath also set $wgIPInfoGeoLite2Prefix = '/usr/share/GeoIP/GeoLite2-';.
However, looking at this directory on a deployment server, we see:
[kharlan@deploy1002 ~]$ ls -al /usr/share/GeoIP/ | grep GeoLite2- -rw-r--r-- 1 root root 31893928 Nov 30 2020 GeoLite2-City.mmdb
In addition to missing the -ASN and -Country files, the -City file was last downloaded in 2020 (on the deployment server, not sure about app servers)
The step we missed was updating calls to operations/puppet's geoip module to specify that it should download GeoLite2 data and not GeoIP2-Enterprise or GeoIP2 data.
As a result, after deploying rOMWCbacf14164ad3: IPInfo: Remove $wgIPInfoGeoIP2EnterprisePath, we started to receive reports from users (filed in an unrelated task, to further complicate matters) about not seeing data: T363118#9796877. That makes perfect sense as Country and ASN files are missing, and the City file was last updated four years ago. On May 30 we did a temporary revert of rOMWCbacf14164ad3: IPInfo: Remove $wgIPInfoGeoIP2EnterprisePath via rOMWC429ebcfea028: Revert "IPInfo: Remove $wgIPInfoGeoIP2EnterprisePath".
Proposal
- Update the operations/puppet repo to download GeoLite2 data instead of GeoIP2-Enterprise data for IPInfo
Consequences
- GeoLite2 data will be downloaded on app and API servers
- GeoIP2 enterprise data will *no longer be downloaded* (an [[ https://wikimedia.slack.com/archives/C05FWANFT8X/p1712238553670819?thread_ts=1712072392.904389&cid=C05FWANFT8X | internal audit ]]by @ssingh and @Volans found that the only place this data is used is by Extension:IPInfo)