I'm sending a quotation of my conversation with Matt Domsch (developer of the Mirror Manager). Any opinions, suggestions and rejections will be appreciated. Vrata Podzimek > On Thu, 2011-08-04 at 09:36 -0500, Matt Domsch wrote: > > On Thu, Aug 04, 2011 at 02:04:06AM -0500, Vratislav Podzimek wrote: > > > Let me explain it in a more detailed way. We want to add some IP-based > > > geolocation features to Anaconda installer [1]. We could include GeoIP > > > (C API) and python-GeoIP libraries into the Anaconda but then we would > > > have to have also the database included and we would have to somehow get > > > the "outer IP address" (on some server the client's IP address) of the > > > machine. This solution would need some server. > > > > > > So my idea was to use already running Fedora Mirrors list server with > > > MirrorManager running in a way Yum does [2]. But we of course doesn't > > > need the whole mirror list so my question was if there is any way to get > > > info only about location. Via XML-RPC but HTTP request shouldn't be a > > > problem as well. > > > > > > I hope it's more clear from these two paragraphs. :) If you have any > > > suggestion other than using HTTP request and parsing the first > > > (commented) line from the mirror list the get the country it would be > > > really appreciated. > > > > > > > Yes, there are several ways we could handle this. > > > > 1) purchase a service from maxmind.com, and hava anaconda query their > > servers directly. http://www.maxmind.com/app/web_services#city > > > > 2) create a stand-alone small and trivial web server application to > > query a local copy of the maxmind database. This would be hosted > > by Fedora Infrastructure. > > > > 3) add a new query type to MirrorManager, and use the existing Fedora > > Infrastructure to serve this. Right now, MM doesn't use the > > City-level database. Is country-level "good enough" for your > > purposes? > > > > 4) hack MM to return something in the mirrorlist response header. I'm > > not inclined to do this. > > > > I think 3) is the best one. 1) would cost money which is not necessary > having the other solutions. 2) would be more complicated compared to 3) > and it would be time-wasting to write new application from scratch when > we already have the working code. As for 4) -- it works right now. There > already are preferred countries on the first (commented) line of the > mirrorlist returned by MM so it can be parsed to get the most preferred > country. Which is, I think, the best estimation we can do according to > algorithm and data used in MM. But we of course don't need the whole > mirror list. > > We want to use IP-geolocation data to set the default locales and > language settings (for which country-level info is enough) and if it's > possible also to set the default timezone settings (which would need > city-level info). > > Summed up, I think the best solution would be to add a new query type to > MM and use the existing Fedora Infrastructure to serve this. It would > cause only a negligible number of queries so no significant load for the > server. And if we could add the city-level information, it would be > great. > > Before any changes to MM please let me discuss this solution with the > rest of Anaconda team. If you don't mind I will CC you in that > conversation. > > Vratislav Podzimek _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list