The updates firehose - automatic local mirrors
Matt Domsch
Matt_Domsch at Dell.com
Mon Jun 11 13:58:09 UTC 2007
On Mon, Jun 11, 2007 at 09:21:00AM -0400, Jakub Jelinek wrote:
> On Mon, Jun 11, 2007 at 08:08:30AM -0500, Matt Domsch wrote:
> > > This would require rather simple updates to the
> > > http://mirrors.fedoraproject.org/mirrorlist script.
> >
> > I really don't want to trust that the only mirror in a given country
> > is active and fully up-to-date, and send everyone from that country to
> > that single mirror. The thresshold is 3 per country to provide some
> > reasonable guarantee that at least one of those 3 is active and
> > up-to-date at any given instance.
>
> Isn't that reasonable guarantee already the report_mirror data or
> crawler acquired data?
> Looking at current http://mirrors.fedoraproject.org/publiclist/Fedora/7/
> there are only very few countries for which non-global list is used
> (unlike FC6 times):
> Canada, Germany, Spain, France, Greece, Japan, Netherlands, Romania, USA
> E.g. Czech Rep. used to be listed, but supposedly two of the mirrors
> were kicked out for not being 100% up2date by the crawler and now we
> have just 2 mirrors, both stable though.
It's a lot better, yes, but it's not guaranteed. The crawler takes
nearly 12 hours to get through all the mirror hosts.
Tell you what. I need three changes, and we can make this a lot
better.
1) python-GeoIP needs to export the countrycode->continent mapping
table, so we can list other mirrors on the same continent at least
if the country has <3 hosts. The code is in GeoIP, it's just not
exported via python-GeoIP, and my Python C-binding foo is weak.
I'd like the countrycode->countryname (e.g. FI -> 'Finland')
mapping exported as well, so I can display the country names rather
than just the country codes.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=243696
filed to track this.
2) mirrormanager mirrorlist algorithm adds an extra step. If there
are 3 or more mirrors in a country, return all those. If not, add
in mirrors on the same continent. If still <3, add in the global
list.
In addition, mirrormanager then returns the mirrorlist in priority
order, so the country-specific mirrors appear first, then the
same-continent, then global if necessary. For each geographic
circle, randomize that sub-list so we get the same behavior as yum
failovermethod=roundrobin, but we don't rely on yum for help.
3) Jesse releases a new fedora-release RPM that adds
failovermethod=priority
to each of the [repository] sections.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=243698
filed to track this.
So, if someone can help with 1) above, the other two should be easy.
Thanks,
Matt
--
Matt Domsch
Software Architect
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
More information about the fedora-devel-list
mailing list