From: Stefan K. Berg Date: Tue, 11 Oct 2016 10:33:08 +0000 (+0200) Subject: Re-introduce mirror blacklisting X-Git-Tag: danube.1.RC1~96^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F75%2F22975%2F1;p=fuel.git Re-introduce mirror blacklisting Some mirrors are misbehaving, for instance due to flood protection, which makes them unreliable. This change re-introduces the possibility to blacklist them locally. Change-Id: I7840ac0a622f2997395e54911685f9eea393dee4 Signed-off-by: Stefan K. Berg --- diff --git a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh b/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh index 10a841171..24bd42234 100755 --- a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh +++ b/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh @@ -1,4 +1,8 @@ #!/bin/bash + +BLACKLIST="http://mirrors.se.eu.kernel.org/ubuntu/" +#BLACKLIST+=" http://foo.bar" + cleanup() { rm -f $TMPFILE } @@ -7,6 +11,19 @@ debugmsg() { test -n "$DEBUG" && echo "$@" >&2 } + +# Check if url is blacklisted in this script +blacklisted () { + for blackurl in $BLACKLIST + do + if [ "$1" == "$blackurl" ]; then + return 0 + fi + done + return 1 +} + + # Check mirror's integrity check_mirror () { mirror=$1 @@ -57,7 +74,7 @@ DEBUG=1 TMPFILE=$(mktemp /tmp/mirrorsXXXXX)A trap cleanup exit -# Generated a list of mirrors considered as "up" +# Generate a list of mirrors considered as "up" curl -s https://launchpad.net/ubuntu/+archivemirrors | \ grep -P -B8 "statusUP|statusSIX" | \ grep -o -P "(f|ht)tp.*\"" | \ @@ -67,8 +84,11 @@ curl -s https://launchpad.net/ubuntu/+archivemirrors | \ # and sane. for url in $(curl -s http://mirrors.ubuntu.com/mirrors.txt) do - grep -q $url $TMPFILE || debugmsg "$url Faulty (detected by Ubuntu)" - if [ -z $BESTURL ]; then + if ! grep -q $url $TMPFILE; then + debugmsg "$url Faulty (detected by Ubuntu)" + elif blacklisted $url; then + debugmsg "$url blacklisted" + elif [ -z $BESTURL ]; then if grep -q $url $TMPFILE && check_mirror $url; then debugmsg "$url: OK (setting as primary URL)" BESTURL=$url