aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-05-08 22:38:22 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-05-09 09:14:52 +0000
commit0a9561e8146949b51fc90d4ede57baa3267a6e57 (patch)
tree2ef921b8dced6eb69956a58a5ceb7fb25ff968d7
parent957e5c11ba042e1f31931697dcea734cbe651b1d (diff)
f_repobuild: Repeat mirror build up to ten times.
OPNFV ISO build uses fuel-mirror to create a local Ubuntu partial mirror in nailgun. Work around temporary mirror issue (e.g. during rsync) by retrying mirror build up to 10 times. Change-Id: I8afb0f55b08c1680903a09e07ac96b4d29415ed5 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 5837be3b12a39bbf85f267182618fd28f8b2529e)
-rw-r--r--patches/opnfv-fuel/0026-f_repobuild-Repeat-mirror-build-up-to-ten-times.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/patches/opnfv-fuel/0026-f_repobuild-Repeat-mirror-build-up-to-ten-times.patch b/patches/opnfv-fuel/0026-f_repobuild-Repeat-mirror-build-up-to-ten-times.patch
new file mode 100644
index 0000000..0b1f92f
--- /dev/null
+++ b/patches/opnfv-fuel/0026-f_repobuild-Repeat-mirror-build-up-to-ten-times.patch
@@ -0,0 +1,73 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Sun, 8 May 2016 22:37:43 +0200
+Subject: [PATCH] f_repobuild: Repeat mirror build up to ten times.
+
+OPNFV ISO build uses fuel-mirror to create a local Ubuntu
+partial mirror in nailgun.
+
+Work around temporary mirror issue (e.g. during rsync) by
+retrying mirror build up to 10 times.
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ build/f_isoroot/f_repobuild/Makefile | 6 +++++-
+ build/f_isoroot/f_repobuild/fuel_mirror_loop | 26 ++++++++++++++++++++++++++
+ 2 files changed, 31 insertions(+), 1 deletion(-)
+ create mode 100755 build/f_isoroot/f_repobuild/fuel_mirror_loop
+
+diff --git a/build/f_isoroot/f_repobuild/Makefile b/build/f_isoroot/f_repobuild/Makefile
+index 5e7157b..9abe9bb 100644
+--- a/build/f_isoroot/f_repobuild/Makefile
++++ b/build/f_isoroot/f_repobuild/Makefile
+@@ -23,6 +23,9 @@ export OPENSTACK_VERSION
+ .PHONY: all
+ all: nailgun
+
++nailgun_mirror:
++ sudo fuel-mirror --debug --config ./opnfv-config.yaml create --group ubuntu --pattern=ubuntu
++
+ nailgun:
+ sudo apt-get install -y git libxml2-dev libxslt-dev python-dev python-pip libz-dev libyaml-dev createrepo python-yaml
+ # python-debian from Ubuntu can't parse foreign arch relationships, use pip
+@@ -35,7 +38,8 @@ nailgun:
+ sudo pip install ./fuel-mirror
+ sudo pip install ./fuel-mirror/contrib/fuel_mirror
+ ./opnfv_mirror_conf.py
+- sudo fuel-mirror --debug --config ./opnfv-config.yaml create --group ubuntu --pattern=ubuntu
++ # Repeat mirror build up to ten times
++ sudo -E ./fuel_mirror_loop
+ sudo chmod -R 755 /var/www/nailgun
+ cp -Rp /var/www/nailgun .
+ # On the end we want to have ubuntu repository in mirrors/ubuntu directory
+diff --git a/build/f_isoroot/f_repobuild/fuel_mirror_loop b/build/f_isoroot/f_repobuild/fuel_mirror_loop
+new file mode 100755
+index 0000000..f123cf2
+--- /dev/null
++++ b/build/f_isoroot/f_repobuild/fuel_mirror_loop
+@@ -0,0 +1,26 @@
++#!/bin/bash
++##############################################################################
++# Copyright (c) 2016 Ericsson AB and others.
++# Copyright (c) 2016 Enea AB and others.
++# All rights reserved. This program and the accompanying materials
++# are made available under the terms of the Apache License, Version 2.0
++# which accompanies this distribution, and is available at
++# http://www.apache.org/licenses/LICENSE-2.0
++##############################################################################
++
++maxcount=10
++cnt=0
++rc=1
++while [ $cnt -lt $maxcount ] && [ $rc -ne 0 ]
++do
++ cnt=$[cnt + 1]
++ echo -e "\n\n\n*** Starting mirror build attempt # $cnt"
++ make nailgun_mirror
++ rc=$?
++ if [ $rc -ne 0 ]; then
++ echo "### Mirror build failed with rc $rc ###"
++ else
++ echo "### Mirror build successful at attempt # $cnt"
++ fi
++done
++exit $rc