Add python3.6 pip support

Since pip v22, python3.6 is not supported (the minimum version is
python3.7). This patch adds the reference for the pip3.6 URL to be
used instead of the default one.

Closes-Bug: #1959600
Change-Id: Iab2c391d5388461fe9e9037cee81884ce8032e72
This commit is contained in:
Rodolfo Alonso Hernandez 2022-01-31 16:38:31 +00:00 committed by Rodolfo Alonso
parent 099411815b
commit a756f4b968

View File

@ -38,7 +38,7 @@ FILES=$TOP_DIR/files
# [1] https://opendev.org/openstack/project-config/src/branch/master/nodepool/elements/cache-devstack/source-repository-pip # [1] https://opendev.org/openstack/project-config/src/branch/master/nodepool/elements/cache-devstack/source-repository-pip
PIP_GET_PIP_URL=${PIP_GET_PIP_URL:-"https://bootstrap.pypa.io/get-pip.py"} PIP_GET_PIP_URL=${PIP_GET_PIP_URL:-"https://bootstrap.pypa.io/get-pip.py"}
LOCAL_PIP="$FILES/$(basename $PIP_GET_PIP_URL)" PIP_GET_PIP36_URL=${PIP_GET_PIP36_URL:-"https://bootstrap.pypa.io/pip/3.6/get-pip.py"}
GetDistro GetDistro
echo "Distro: $DISTRO" echo "Distro: $DISTRO"
@ -57,12 +57,21 @@ function get_versions {
function install_get_pip { function install_get_pip {
if [[ "$PYTHON3_VERSION" = "3.6" ]]; then
_pip_url=$PIP_GET_PIP36_URL
_local_pip="$FILES/$(basename $_pip_url)-py36"
else
_pip_url=$PIP_GET_PIP_URL
_local_pip="$FILES/$(basename $_pip_url)"
fi
# If get-pip.py isn't python, delete it. This was probably an # If get-pip.py isn't python, delete it. This was probably an
# outage on the server. # outage on the server.
if [[ -r $LOCAL_PIP ]]; then if [[ -r $_local_pip ]]; then
if ! head -1 $LOCAL_PIP | grep -q '#!/usr/bin/env python'; then if ! head -1 $_local_pip | grep -q '#!/usr/bin/env python'; then
echo "WARNING: Corrupt $LOCAL_PIP found removing" echo "WARNING: Corrupt $_local_pip found removing"
rm $LOCAL_PIP rm $_local_pip
fi fi
fi fi
@ -76,20 +85,20 @@ function install_get_pip {
# Thus we use curl's "-z" feature to always check the modified # Thus we use curl's "-z" feature to always check the modified
# since and only download if a new version is out -- but only if # since and only download if a new version is out -- but only if
# it seems we downloaded the file originally. # it seems we downloaded the file originally.
if [[ ! -r $LOCAL_PIP || -r $LOCAL_PIP.downloaded ]]; then if [[ ! -r $_local_pip || -r $_local_pip.downloaded ]]; then
# only test freshness if LOCAL_PIP is actually there, # only test freshness if LOCAL_PIP is actually there,
# otherwise we generate a scary warning. # otherwise we generate a scary warning.
local timecond="" local timecond=""
if [[ -r $LOCAL_PIP ]]; then if [[ -r $_local_pip ]]; then
timecond="-z $LOCAL_PIP" timecond="-z $_local_pip"
fi fi
curl -f --retry 6 --retry-delay 5 \ curl -f --retry 6 --retry-delay 5 \
$timecond -o $LOCAL_PIP $PIP_GET_PIP_URL || \ $timecond -o $_local_pip $_pip_url || \
die $LINENO "Download of get-pip.py failed" die $LINENO "Download of get-pip.py failed"
touch $LOCAL_PIP.downloaded touch $_local_pip.downloaded
fi fi
sudo -H -E python${PYTHON3_VERSION} $LOCAL_PIP sudo -H -E python${PYTHON3_VERSION} $_local_pip
} }