From 0a9561e8146949b51fc90d4ede57baa3267a6e57 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sun, 8 May 2016 22:38:22 +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. Change-Id: I8afb0f55b08c1680903a09e07ac96b4d29415ed5 Signed-off-by: Alexandru Avadanii (cherry picked from commit 5837be3b12a39bbf85f267182618fd28f8b2529e) --- ...build-Repeat-mirror-build-up-to-ten-times.patch | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 patches/opnfv-fuel/0026-f_repobuild-Repeat-mirror-build-up-to-ten-times.patch 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 00000000..0b1f92f1 --- /dev/null +++ b/patches/opnfv-fuel/0026-f_repobuild-Repeat-mirror-build-up-to-ten-times.patch @@ -0,0 +1,73 @@ +From: Alexandru Avadanii +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 +--- + 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 -- 2.16.6