1 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 Date: Sun, 8 May 2016 22:37:43 +0200
3 Subject: [PATCH] f_repobuild: Repeat mirror build up to ten times.
5 OPNFV ISO build uses fuel-mirror to create a local Ubuntu
6 partial mirror in nailgun.
8 Work around temporary mirror issue (e.g. during rsync) by
9 retrying mirror build up to 10 times.
11 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
13 build/f_isoroot/f_repobuild/Makefile | 6 +++++-
14 build/f_isoroot/f_repobuild/fuel_mirror_loop | 26 ++++++++++++++++++++++++++
15 2 files changed, 31 insertions(+), 1 deletion(-)
16 create mode 100755 build/f_isoroot/f_repobuild/fuel_mirror_loop
18 diff --git a/build/f_isoroot/f_repobuild/Makefile b/build/f_isoroot/f_repobuild/Makefile
19 index 5e7157b..9abe9bb 100644
20 --- a/build/f_isoroot/f_repobuild/Makefile
21 +++ b/build/f_isoroot/f_repobuild/Makefile
22 @@ -23,6 +23,9 @@ export OPENSTACK_VERSION
27 + sudo fuel-mirror --debug --config ./opnfv-config.yaml create --group ubuntu --pattern=ubuntu
30 sudo apt-get install -y git libxml2-dev libxslt-dev python-dev python-pip libz-dev libyaml-dev createrepo python-yaml
31 # python-debian from Ubuntu can't parse foreign arch relationships, use pip
32 @@ -35,7 +38,8 @@ nailgun:
33 sudo pip install ./fuel-mirror
34 sudo pip install ./fuel-mirror/contrib/fuel_mirror
35 ./opnfv_mirror_conf.py
36 - sudo fuel-mirror --debug --config ./opnfv-config.yaml create --group ubuntu --pattern=ubuntu
37 + # Repeat mirror build up to ten times
38 + sudo -E ./fuel_mirror_loop
39 sudo chmod -R 755 /var/www/nailgun
40 cp -Rp /var/www/nailgun .
41 # On the end we want to have ubuntu repository in mirrors/ubuntu directory
42 diff --git a/build/f_isoroot/f_repobuild/fuel_mirror_loop b/build/f_isoroot/f_repobuild/fuel_mirror_loop
44 index 0000000..f123cf2
46 +++ b/build/f_isoroot/f_repobuild/fuel_mirror_loop
49 +##############################################################################
50 +# Copyright (c) 2016 Ericsson AB and others.
51 +# Copyright (c) 2016 Enea AB and others.
52 +# All rights reserved. This program and the accompanying materials
53 +# are made available under the terms of the Apache License, Version 2.0
54 +# which accompanies this distribution, and is available at
55 +# http://www.apache.org/licenses/LICENSE-2.0
56 +##############################################################################
61 +while [ $cnt -lt $maxcount ] && [ $rc -ne 0 ]
64 + echo -e "\n\n\n*** Starting mirror build attempt # $cnt"
67 + if [ $rc -ne 0 ]; then
68 + echo "### Mirror build failed with rc $rc ###"
70 + echo "### Mirror build successful at attempt # $cnt"