Feature changed by: Duncan Mac-Vicar (dmacvicar) Feature #302923, revision 26 Title: handle redirection to mirrors robustly
openSUSE-11.0: Rejected by Stanislav Visnovsky (visnov) reject date: 2007-11-28 15:42:20 reject reason: Out of scope for 11.0 Priority Requester: Neutral
openSUSE-11.1: Rejected by Matthias Eckermann (mge1512) reject date: 2008-07-22 23:04:50 reject reason: Postponing, will not be ready. Priority Requester: Neutral
- openSUSE-11.2: Evaluation + openSUSE-11.2: Done Priority Requester: Neutral
Requested by: Ján Kupec (jkupec)
Description: The proposal is to try other mirrors from a mirror list (from the redirector?) if an error occurs on some of the mirrors while providing a file from http/ftp repository. See the references for more details.
References: https://bugzilla.novell.com/show_bug.cgi?id=337410 http://lists.opensuse.org/opensuse-buildservice/2007-10/msg00170.html http://en.opensuse.org/Libzypp/Failover http://code.google.com/soc/2008/suse/appinfo.html?csaid=6F1844AB23B67E06 + http://duncan.mac-vicar.com/blog/archives/507 + http://duncan.mac-vicar.com/blog/archives/517
Discussion: #1: Stephan Kulow (coolo) (2007-11-20 11:15:49) I would be strictly against having an own mirror list. The decision was to go with the redirector (or NCC for SLE) and be done with mirrors. If that does not work, then we have to do this whole thing again, not adding untested work arounds to the product.
#2: Stephan Kulow (coolo) (2007-11-20 11:16:55) so I would reject this. But it's basically "Eval by Klaas" now
#3: Klaas Freitag (kfreitag) (2007-12-03 09:49:44) I agree with Coolos and Peters statements, I would also reject.
#4: Klaas Freitag (kfreitag) (2008-06-12 10:06:42) I have to revert my statement that I made before in comment #3, this problem is more serious than realised in the first look. First, it should be noted that we do not control mirrors nor we do have the chance to really influence them. That means that if a mirrors decides to not longer mirror or to switch off or whatever, we have to live with it. However if a customer is sticky to a mirror that is not longer available he would not get any packages from it and thus installation or update fails. The worst thing about that is that this seems to happen regularly but we do not realise that because we're not involved. A solution would be to have a list of possible mirrors that is used by the software installation stack to find a working mirror. Peter knows much more here. But I am not sure at the moment if not Yast/zypper already has this functionality in 11.0?
#5: Peter Poeml (poeml) (2008-10-01 11:58:38) YaST/zypper in 11.1 will have preliminary support for this. The essential part of http://en.opensuse.org/Libzypp/Failover has been implemented during a GSoC project this year. See http://lists.opensuse.org/zypp-devel/2008-09/msg00142.html for the status. There is a number of things left to do, like * making it the default * better debuggability - show what it does * better progress report * testing * integration into the install system so it is available during installation Further features from the proposal (mirror preference, simultaneous downloads) are not tackled yet.
#6: Federico Lucifredi (flucifredi) (2009-01-07 16:29:58) I would like to see robust redirection, if possible. The details about a list, probably should not be in the feature description.
#7: Todd R (theblackcat) (2009-01-22 22:20:45) Would this also be able to handle changes in the Buildservice, like renaming or moving of a certain Buildservice repository?
#8: Peter Poeml (poeml) (2009-01-23 11:56:48) (reply to #7) No, that is outside the scope. Changing repositories when the system is upgraded to a next major version is also outside the scope. Maybe that can be covered by http://en.opensuse.org/Standards/Repository_Index_Service, if I am not mistaking it.
#9: Duncan Mac-Vicar (dmacvicar) (2009-02-03 16:28:54) Today playing with aria (I am trying to switch the default in factory) I found out an interesting switch: --server-stat-of=file --server-stat-if=file The first one ouputs the mirror statistics of the servers used, and the second one uses its as input: cat stats host=download.opensuse.org, protocol=http, dl_speed=0, last_updated=1233674714, status=OK host=widehat.opensuse.org, protocol=http, dl_speed=8525008, last_updated=1233674714, status=OK It may make sense to make the MediaAria backend to store this in var/cache/zypp and use it as input for next time too.
+ #10: Duncan Mac-Vicar (dmacvicar) (2009-03-03 16:36:03) + This feature is done, see the blog posts in the references. + everything else, bugzilla.