Pin pip < 10 in the amphora image

pip 10 fails when installing the amphora-agent due to a package conflict
in oslo.config PyYAML and the python3-yaml installed in the base images.
We cannot backport the venv fix from master as the stable branch uses
the ubuntu element which does not have enough disk space to install with the
venv.
So to make a minimal fix for the stable branches we are going to pin pip
in the amphora image.

(cherry picked from commit 9e1ced71e1e270777b15adbcde8de03577375964)

Change-Id: I04bf04178c5cd169e3ff1a16a1c0423ef0a07b6d
This commit is contained in:
Michael Johnson 2018-04-19 15:14:09 -07:00
parent 5c2d2d2e5c
commit c49959d2ab
3 changed files with 14 additions and 2 deletions
elements/amphora-agent/install.d
octavia/tests/functional/api/v2

@ -6,6 +6,17 @@ fi
set -eu
set -o pipefail
SCRIPTDIR=$(dirname $0)
# pip 10 fails when installing the amphora-agent due to a package conflict
# in oslo.config PyYAML and the python3-yaml installed in the base images.
# We cannot backport the venv fix from master as the stable branch uses
# the ubuntu element which does not have enough disk space to install with the
# venv.
# So to make a minimal fix for the stable branches we are going to pin pip
# in the amphora image.
pip install -U --force-reinstall -c ${SCRIPTDIR}/cap-pip.txt pip
pip install -U -c /opt/upper-constraints.txt /opt/amphora-agent
# Accommodate centos default install location

@ -0,0 +1 @@
pip!=8,<10

@ -1132,7 +1132,7 @@ class TestListener(base.BaseAPITest):
def _getStats(self, listener_id):
res = self.get(self.LISTENER_PATH.format(
listener_id=listener_id + "/stats"))
listener_id=listener_id + "/stats"))
return res.json.get('stats')
def test_statistics(self):
@ -1230,6 +1230,6 @@ class TestListener(base.BaseAPITest):
with mock.patch.object(octavia.common.context.Context, 'project_id',
uuidutils.generate_uuid()):
res = self.get(self.LISTENER_PATH.format(
listener_id=li['id'] + "/stats"), status=403)
listener_id=li['id'] + "/stats"), status=403)
self.conf.config(group='api_settings', auth_strategy=auth_strategy)
self.assertEqual(self.NOT_AUTHORIZED_BODY, res.json)