[mirrorbrain] [PATCH] statically configured mirrors to be used as fallback

From: Peter Pöml <poeml_at_cmdline.net>
Date: Mon, 30 Nov 2009 00:26:28 +0100
Hi,

to be able to run MirrorBrain with pseudo files, I have been working  
on a way to make sure that it never attempts to deliver a file on its  
own. For that, there clearly needs to be one or more fallback mirrors  
that requests are redirected to, even if the database doesn't find  
files.

With a big database of lots of mirrors it will hardly ever happen -  
there will always be some mirrors - but in a setup with only 2 or 3  
mirrors it could easily happen that all mirrors go offline. I had such  
a setup lately, when experimenting with a MirrorBrain instance for  
"UltimateEdition" (a Ubuntu respin).

In addition, the idea of a degraded mode, an operation mode that  
allows for MirrorBrain keeping working without a database, always  
seemed like a useful one.


The attached patch seems to achieve the former, and prepares  
implementation of the latter.

It allows configuration like this:

     MirrorBrainFallback na us ftp://linuxfreedom.com/ultimate/
     MirrorBrainFallback eu de http://www.ultimate-edition.org/~ue/

When no reachable mirror is known to the database, MirrorBrain will  
use these base URLs for redirection. It'll do the normal geographical  
mirror selection by country/region.

Thus, these mirrors get requests that MirrorBrain would normally  
deliver itself - and thus this default behaviour can effectively be  
switched off.

They are also used in the mirror lists (with priority 1) and  
metalinks. They are used "blindly", so they really need to have the  
full file tree.

This also allows to run a MB instance with a pseudo file tree (which  
can be created with the recently added null-rsync script.)  
MirrorBrainExclude* directives must not be configured, and  
MirrorBrainMinSize must be 0 then.

A "degraded mode" that continues to work in case of a complete  
database outage is easily achievable now. However, for now, the code  
path is less robust in that regard. (The reason is that now the code  
path is to keep running, where there was an early abort in the past.)  
This should be fixed before the next release (2.11.0), in which the  
new code will be shipping (if there are no objections).

Peter






_______________________________________________
mirrorbrain mailing list
Archive: http://mirrorbrain.org/archive/mirrorbrain/

Note: To remove yourself from this mailing list, send a mail with the content
 	unsubscribe
to the address mirrorbrain-request_at_mirrorbrain.org


Received on Sun Nov 29 2009 - 23:26:35 GMT

This archive was generated by hypermail 2.3.0 : Thu Mar 25 2010 - 19:30:55 GMT