blob: 0b1f92f1fe877b09175165f4e37a266cb32ee4ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
|