How mirrormanager works

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

 



Hi Matt,

I would like to run by you my understanding of how mirrormanager works, I hope 
I am not to far from the truth but please if I am let me know :)

Mirrormanager is splitted into three parts: the UI, the API and a cron task.

The UI is the current TurboGears1 application [1]. People can login in there and
register an institution (Site) with one or more sub-domain (Host) each mirroring
one or more Product (Fedora, EPEL...).
For each sub-domain (Host), there are a number of settings available such as
from
where the mirror pulls its updates, who can pull from it, restricting the user's
country or network.
Users manage their mirror there, admin can access any Site/Host and update their
settings as well.

The API is a cgi script, called in our case by yum, which redirects the user to
the closest mirror, active, up-to-date and according to the settings of the
mirror.

The cron task, runs daily and crawls the mirror to check if they are up to date
or not and register in the database which folder are up to date and which are
not
for every single mirror.
This cron task (or is it another?) also generates the publiclist pages [2] using
the data it just retrieved about each mirror.


I have been trying to figure out how exactly are retrieved the mirrors on
publiclist. I found the query used by MM1 [3] and I was wondering if there would
not be a way to simplify that. Would it be an option to have the cron task
setting a flag on the database saying if a host is up to date or not?
Or am I missing some of the information?
If we could simplify this part we could drop the cron task generating the
publiclist pages and just display them on the fly as part of the UI.


As part of the re-write, there is of course the UI since it is TurboGears1, but
the CGI script and the cron tasks should not need much changes, would they?

Thanks for your help,
Pierre


[1] https://admin.fedoraproject.org/mirrormanager/
[2] http://mirrors.fedoraproject.org/publiclist/
[3]
 https://git.fedorahosted.org/cgit/mirrormanager/tree/server/mirrormanager/model.py#n471
_______________________________________________
infrastructure mailing list
infrastructure@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/infrastructure





[Index of Archives]     [Fedora Development]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux