summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-09-28 03:55:39 +0000
committerGerrit Code Review <review@openstack.org>2014-09-28 03:55:39 +0000
commite12574fbda4bd2ef61cc3c06c43fe2f50585f60e (patch)
treea22e664c324d6cc0f25cdd131add1cb273d4c159
parent1e7d8951d278de667bc01c6f11b6e055dcdf9b69 (diff)
parent22a68b4c25d6b10f53756b419e493995aefc2f2f (diff)
downloadpbr-e12574fbda4bd2ef61cc3c06c43fe2f50585f60e.tar.gz
Merge "Retry the integration setup on connection error"
-rw-r--r--tools/integration.sh22
1 files changed, 19 insertions, 3 deletions
diff --git a/tools/integration.sh b/tools/integration.sh
index 7d6038a..227aa4c 100644
--- a/tools/integration.sh
+++ b/tools/integration.sh
@@ -55,9 +55,25 @@ EOF
cat <<EOF > setup.py
import setuptools
-setuptools.setup(
- setup_requires=['pbr'],
- pbr=True)
+try:
+ from requests import Timeout
+except ImportError:
+ from pip._vendor.requests import Timeout
+
+from socket import error as SocketError
+
+# Some environments have network issues that drop connections to pypi
+# when running integration tests, so we retry here so that hour-long
+# test runs are less likely to fail randomly.
+try:
+ setuptools.setup(
+ setup_requires=['pbr'],
+ pbr=True)
+except (SocketError, Timeout):
+ setuptools.setup(
+ setup_requires=['pbr'],
+ pbr=True)
+
EOF
mkdir test_project