[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: GeoIP and mirrors in anaconda



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]