Merge "KVMFORNFV: Implementing kvmfornfv Scenarios."
[fuel.git] / build / f_isoroot / f_repobuild / select_ubuntu_repo.sh
index 10a8411..5618eb7 100755 (executable)
@@ -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
@@ -52,14 +69,14 @@ if [ "$1" == "-d" ]; then
 fi
 
 # Hardcode for testing purposes
-DEBUG=1
+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 -P -B8 "statusUP|statusONE|statusSIX" | \
     grep -o -P "(f|ht)tp.*\""  | \
     sed 's/"$//' | sort | uniq > $TMPFILE
 
@@ -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