Force pip install update of PasteDeploy

The gate-tempest-dsvm-full-devstack-plugin-ceph-ubuntu-xenial job is
currently failing at a rate of 100% since we updated to use the Pike
UCA. The Ceph packages in the Pike UCA are pulling in python-paste and
python-pastedeploy. When devstack pip installs a newer version of
python-paste to satisfy upper-constraints, we end up with Paste
installed from pypi and python-pastedeploy installed from the Ubuntu
archive and Keystone fails to start with the error:

  "ImportError: cannot import name deploy."

This adds a hack to force an update of PasteDeploy from pypi during the
devstack "stack install" phase to work around the problem and get the
job passing again.

Change-Id: Idf28de8faa56c2d387291c7d14ac6d4bf1c74c6a
This commit is contained in:
melanie witt 2017-10-09 19:07:54 +00:00
parent cd2009193a
commit 6e2de3845a
1 changed files with 10 additions and 0 deletions

View File

@ -30,6 +30,16 @@ elif [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
else
install_ceph_remote
fi
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
# FIXME(melwitt): This is a hack to get around a namespacing issue with
# Paste and PasteDeploy. Recently, we updated to use the Pike UCA packages
# and the Ceph packages in the Pike UCA are pulling in python-paste and
# python-pastedeploy packages. The python-pastedeploy package satisfies the
# upper-constraints but python-paste does not, so devstack pip installs a
# newer version of it, while python-pastedeploy remains. The mismatch
# between the install path of paste and paste.deploy causes Keystone to
# fail to start, with "ImportError: cannot import name deploy."
pip_install -U --force PasteDeploy
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
if is_ceph_enabled_for_service glance; then
echo_summary "Configuring Glance for Ceph"