Fix malformed pip-install lines

The pip install command attempted to provide version hint requirements
on the command line but failed to quote the individual package
names. This resulted in the creation of files in the "/" directory of
the guest with names corresponding to the versions specified. To make
it easier to maintain in the future, a requirements.txt file for
ubuntu and fedora and a extra-data.d step which will copy this from
the source tree into the guest image (extra-data.d/15-reddwarf-dep)
have been added, and the 15-reddwarf-dep step in install.d can
reference the requirements.txt file.

requirements.txt has been updated to reflect the versions of packages
that trove has in its requirements.txt. Finally the dependency issue
with testtools and unittest2 have been addressed by adding them to the
requirements.txt file and adding the --upgrade option to pip install.

Change-Id: Ida186454d247d827312fd004d84efba13f780b0c
Closes-Bug: #1406581
Closes-Bug: #1409053
This commit is contained in:
Amrith Kumar
2015-01-09 12:35:07 -05:00
parent 209ffd30a0
commit 9f764e4aea
6 changed files with 102 additions and 13 deletions

View File

@@ -0,0 +1,16 @@
#!/bin/bash
set -e
set -o xtrace
# CONTEXT: HOST prior to IMAGE BUILD as SCRIPT USER
# PURPOSE: Setup the requirements file for use by 15-reddwarf-dep
source $_LIB/die
REQUIREMENTS_FILE=${REDSTACK_SCRIPTS}/files/requirements/fedora-requirements.txt
[ -n "$TMP_HOOKS_PATH." ] || die "Temp hook path not set"
[ -e ${REQUIREMENTS_FILE} ] || die "Requirements not found"
sudo -Hiu ${HOST_USERNAME} dd if=${REQUIREMENTS_FILE} of=${TMP_HOOKS_PATH}/requirements.txt

View File

@@ -6,12 +6,17 @@
set -e
set -o xtrace
yum install -y python-devel libxml2-devel libxslt-devel python-setuptools python-pip python-sqlalchemy python-lxml \
python-routes python-eventlet python-webob python-kombu python-paste-deploy python-paste python-netaddr \
python-httplib2 python-iso8601 python-pexpect MySQL-python python-migrate python-pip python-anyjson gcc
yum install -y python-devel libxml2-devel libxslt-devel python-setuptools \
python-pip python-sqlalchemy python-lxml \
python-routes python-eventlet python-webob \
python-kombu python-paste-deploy python-paste python-netaddr \
python-httplib2 python-iso8601 python-pexpect MySQL-python \
python-migrate python-pip python-anyjson gcc
pip-python install extras python-novaclient python-swiftclient python-cinderclient \
kombu>2.4.7 six babel python-heatclient passlib jinja2 python-neutronclient netifaces \
oslo.config>=1.2.0 oslo.messaging>=1.4.0 oslo.i18n>=1.0.0 oslo.serialization>=1.0.0 oslo.utils>=1.0.0 \
osprofiler>=0.3.0 oslo.concurrency>=0.3.0
# pick up the requirements file left for us by
# extra-data.d/15-reddwarf-dep
TMP_HOOKS_DIR="/tmp/in_target.d"
pip install -q --upgrade -r ${TMP_HOOKS_DIR}/requirements.txt

View File

@@ -0,0 +1,16 @@
#!/bin/bash
set -e
set -o xtrace
# CONTEXT: HOST prior to IMAGE BUILD as SCRIPT USER
# PURPOSE: Setup the requirements file for use by 15-reddwarf-dep
source $_LIB/die
REQUIREMENTS_FILE=${REDSTACK_SCRIPTS}/files/requirements/ubuntu-requirements.txt
[ -n "$TMP_HOOKS_PATH." ] || die "Temp hook path not set"
[ -e ${REQUIREMENTS_FILE} ] || die "Requirements not found"
sudo -Hiu ${HOST_USERNAME} dd if=${REQUIREMENTS_FILE} of=${TMP_HOOKS_PATH}/requirements.txt

View File

@@ -7,12 +7,16 @@ set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
apt-get -y install python-dev libxml2-dev libxslt1-dev python-setuptools python-pip python-sqlalchemy python-lxml \
python-routes python-eventlet python-webob python-pastedeploy python-paste python-netaddr \
apt-get -y install python-dev libxml2-dev libxslt1-dev python-setuptools \
python-pip python-sqlalchemy python-lxml \
python-routes python-eventlet python-webob \
python-pastedeploy python-paste python-netaddr \
python-httplib2 python-iso8601 python-pexpect python-mysqldb python-migrate
pip install extras python-novaclient python-swiftclient python-cinderclient \
kombu>2.4.7 six babel python-heatclient passlib jinja2 python-neutronclient netifaces \
oslo.config>=1.2.0 oslo.messaging>=1.4.0 oslo.i18n>=1.0.0 oslo.serialization>=1.0.0 oslo.utils>=1.0.0 \
osprofiler>=0.3.0 oslo.concurrency>=0.3.0
# pick up the requirements file left for us by
# extra-data.d/15-reddwarf-dep
TMP_HOOKS_DIR="/tmp/in_target.d"
pip install -q --upgrade -r ${TMP_HOOKS_DIR}/requirements.txt

View File

@@ -0,0 +1,24 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
unittest2
testtools
extras
python-novaclient>=2.18.0
python-swiftclient>=2.2.0
python-cinderclient>=1.1.0
kombu>=2.5.0
six>=1.7.0
babel
python-heatclient>=0.2.9
passlib
jinja2
python-neutronclient>=2.3.6,<3
netifaces>=0.10.4
oslo.config>=1.4.0 # Apache-2.0
oslo.messaging>=1.4.0,!=1.5.0
oslo.i18n>=1.0.0
oslo.serialization>=1.0.0
oslo.utils>=1.1.0
osprofiler>=0.3.0
oslo.concurrency>=0.3.0

View File

@@ -0,0 +1,24 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
unittest2
testtools
extras
python-novaclient>=2.18.0
python-swiftclient>=2.2.0
python-cinderclient>=1.1.0
kombu>=2.5.0
six>=1.7.0
babel
python-heatclient>=0.2.9
passlib
jinja2
python-neutronclient>=2.3.6,<3
netifaces>=0.10.4
oslo.config>=1.4.0 # Apache-2.0
oslo.messaging>=1.4.0,!=1.5.0
oslo.i18n>=1.0.0
oslo.serialization>=1.0.0
oslo.utils>=1.1.0
osprofiler>=0.3.0
oslo.concurrency>=0.3.0