[imagebuild] support requirements referring to /opt/stack/new

Now that ironic-lib builds IPA from source, the IPA building procedure
needs to support requirements referring to /opt/stack/new.

As upper-constraints are not actually needed in the finalise step, they're
no longer used there to avoid dealing with file:/// references. We also
allow pre-release packages to be installed by pip.

Also install git as it's a build requirement for PBR.

Only tinyipa is updated, as it's used in the ironic-lib gate.

Change-Id: Ia942cb710eb3fe1ba56c68f91fa893795c9cb651
Closes-Bug: #1695877
(cherry picked from commit 381f5073b5)
This commit is contained in:
Dmitry Tantsur 2017-06-05 13:09:06 +02:00
parent e46f75ed09
commit 553b72dc81
3 changed files with 17 additions and 3 deletions

View File

@ -68,6 +68,8 @@ cp requirements.txt $BUILDDIR/tmp/ipa-requirements.txt
imagebuild/common/generate_upper_constraints.sh upper-constraints.txt
cp upper-constraints.txt $BUILDDIR/tmp/upper-constraints.txt
echo Using upper-constraints:
cat upper-constraints.txt
cd $WORKDIR
sudo cp /etc/resolv.conf $BUILDDIR/etc/resolv.conf
@ -76,6 +78,17 @@ trap "sudo umount $BUILDDIR/proc; sudo umount $BUILDDIR/dev/pts" EXIT
sudo mount --bind /proc $BUILDDIR/proc
sudo mount --bind /dev/pts $BUILDDIR/dev/pts
if [ -d /opt/stack/new ]; then
# Running in CI environment, make checkouts available
$CHROOT_CMD mkdir -p /opt/stack/new
for project in $(ls /opt/stack/new); do
if grep -q "$project" $BUILDDIR/tmp/upper-constraints.txt &&
[ -d "/opt/stack/new/$project/.git" ]; then
sudo cp -R "/opt/stack/new/$project" $BUILDDIR/opt/stack/new/
fi
done
fi
$CHROOT_CMD mkdir /etc/sysconfig/tcedir
$CHROOT_CMD chmod a+rwx /etc/sysconfig/tcedir
$CHROOT_CMD touch /etc/sysconfig/tcuser
@ -95,6 +108,8 @@ $CHROOT_CMD pip wheel -c /tmp/upper-constraints.txt --wheel-dir /tmp/wheels setu
$CHROOT_CMD pip wheel -c /tmp/upper-constraints.txt --wheel-dir /tmp/wheels pip
$CHROOT_CMD pip wheel -c /tmp/upper-constraints.txt --wheel-dir /tmp/wheels -r /tmp/ipa-requirements.txt
$CHROOT_CMD pip wheel -c /tmp/upper-constraints.txt --no-index --pre --wheel-dir /tmp/wheels --find-links=/tmp/localpip --find-links=/tmp/wheels ironic-python-agent
echo Resulting wheels:
ls -1 $BUILDDIR/tmp/wheels
# Build tgt
rm -rf $WORKDIR/build_files/tgt.tcz

View File

@ -16,3 +16,4 @@ zlib_base-dev.tcz
glib2-dev.tcz
pixman-dev.tcz
binutils.tcz
git.tcz

View File

@ -123,9 +123,7 @@ $CHROOT_CMD depmod -a `$WORKDIR/build_files/fakeuname -r`
# If flag is set install the python now
if $BUILD_AND_INSTALL_TINYIPA ; then
cp -a $BUILDDIR/tmp/upper-constraints.txt $FINALDIR/tmp/upper-constraints.txt
$CHROOT_CMD python /tmp/get-pip.py -c /tmp/upper-constraints.txt --no-wheel --no-index --find-links=file:///tmp/wheelhouse ironic_python_agent
rm -rf $FINALDIR/tmp/upper-constraints.txt
$CHROOT_CMD python /tmp/get-pip.py --no-wheel --no-index --find-links=file:///tmp/wheelhouse --pre ironic_python_agent
rm -rf $FINALDIR/tmp/wheelhouse
rm -rf $FINALDIR/tmp/get-pip.py
fi