I'm sending a quotation of my conversation with Matt Domsch (developer
of the Mirror Manager). Any opinions, suggestions and rejections will be
> 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 . 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 . 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
> 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
> Vratislav Podzimek
Anaconda-devel-list mailing list