Use bundles instead of relocatable virtualenvs.

This is step one. We'll create a venv the old way and also additionally a
bundle. If the bundle exists on the copy-venv side of things, we'll install
using it. Otherwise, we'll just do the old relocation code. After a day
or two (once all of the venv artifacts have bundles) we can remove the use
of install_venv and just go to pure bundles.

Change-Id: Ie56e270ac4944a29253609730b013166cae05c26
This commit is contained in:
Monty Taylor
2012-01-13 16:48:29 -08:00
parent 3567f7af52
commit 6e0759c73e
2 changed files with 12 additions and 6 deletions

View File

@@ -16,7 +16,8 @@ do
mkdir -p jenkins_venvs/$branch
python tools/install_venv.py
virtualenv --relocatable .venv
tar cvfz jenkins_venvs/$branch/venv.tgz .venv
rm -fr .venv
pip bundle .cache.bundle -r tools/pip-requires
tar cvfz jenkins_venvs/$branch/venv.tgz .venv .cache.bundle
rm -fr .venv .cache.bundle
done
git checkout master

View File

@@ -8,12 +8,17 @@ mv jenkins_venvs/$GERRIT_BRANCH/venv.tgz .
rm -fr jenkins_venvs
tar xfz venv.tgz
rm venv.tgz
perl -MCwd -ple '$CWD=Cwd::abs_path();s,^VIRTUAL_ENV=.*,VIRTUAL_ENV="$CWD/.venv",' -i .venv/bin/activate
if [ -f .cache.bundle ] ; then
pip install --upgrade -E .venv file://`pwd`/.cache.bundle
rm .cache.bundle
else
perl -MCwd -ple '$CWD=Cwd::abs_path();s,^VIRTUAL_ENV=.*,VIRTUAL_ENV="$CWD/.venv",' -i .venv/bin/activate
# This gets easy-install.pth as well as $PROJECT.pth. Examples for glance:
# easy-install.pth looks like: /home/jenkins/workspace/glance-venv/.venv/src/keystone
# $PROJECT.pth looks like: /home/jenkins/workspace/glance-venv
perl -MCwd -ple '$CWD=Cwd::abs_path();s,^/.*/workspace/[^/]+(/.*)$,$CWD$1,' -i .venv/lib/python2.7/site-packages/*.pth
perl -MCwd -ple '$CWD=Cwd::abs_path();s,^/.*/workspace/[^/]+(/.*)$,$CWD$1,' -i .venv/lib/python2.7/site-packages/*.pth
# This is needed for the keystone install for glance
perl -MCwd -ple '$CWD=Cwd::abs_path();s,^/.*/.venv/src/(.*),$CWD/.venv/src/$1,' -i .venv/lib/python2.7/site-packages/*.egg-link
perl -MCwd -ple '$CWD=Cwd::abs_path();s,^/.*/.venv/src/(.*),$CWD/.venv/src/$1,' -i .venv/lib/python2.7/site-packages/*.egg-link
# This is needed for the keystone install for glance
perl -MCwd -ple '$CWD=Cwd::abs_path();s,/.*/.venv/src/(.*),$CWD/.venv/src/$1,' -i .venv/bin/*
perl -MCwd -ple '$CWD=Cwd::abs_path();s,/.*/.venv/src/(.*),$CWD/.venv/src/$1,' -i .venv/bin/*
fi