Explicitly call pip2
rather than pip
in locations where both pip2 and pip3 are installed (#5747)
As part of the transition from Python 2 to Python 3, we are installing both pip2 and pip3 in the slave and config-engine containers. This PR replaces calls to `pip` in these containers with an explicit call to `pip2` to ensure the proper version of pip is executed, no matter which version of pip is aliased to `pip`, as we no longer rely on that alias. Also some other pip-related cleanup
This commit is contained in:
parent
12911ba619
commit
6333bb73b0
@ -81,7 +81,7 @@ RUN dpkg -i redis-tools_6.0.6-1~bpo10+1_amd64.deb || apt-get install -f -y
|
||||
RUN rm redis-tools_6.0.6-1~bpo10+1_amd64.deb
|
||||
|
||||
# For templating
|
||||
RUN pip install j2cli
|
||||
RUN pip2 install j2cli
|
||||
|
||||
RUN mkdir -p /etc/supervisor /var/log/supervisor
|
||||
|
||||
@ -100,7 +100,7 @@ RUN apt-get -y purge \
|
||||
{%- endif %}
|
||||
|
||||
# Add support for supervisord to handle startup dependencies
|
||||
RUN pip install supervisord-dependent-startup==1.4.0
|
||||
RUN pip2 install supervisord-dependent-startup==1.4.0
|
||||
|
||||
# Clean up apt
|
||||
# Remove /var/lib/apt/lists/*, could be obsoleted for derived images
|
||||
|
@ -27,8 +27,7 @@ RUN apt-get update
|
||||
{% endif %}
|
||||
|
||||
# Clean up
|
||||
RUN apt-get purge -y python-pip && \
|
||||
apt-get clean -y && \
|
||||
RUN apt-get clean -y && \
|
||||
apt-get autoclean -y && \
|
||||
apt-get autoremove -y && \
|
||||
rm -rf /debs \
|
||||
|
@ -36,13 +36,13 @@ RUN ln -s -f /usr/bin/gcc-6 /usr/bin/arm-linux-gnueabihf-gcc
|
||||
RUN ln -s -f /usr/bin/gcc-6 /usr/bin/aarch64-linux-gnu-gcc
|
||||
{% endif %}
|
||||
|
||||
RUN pip install \
|
||||
scapy==2.4.2 \
|
||||
setuptools \
|
||||
pyroute2==0.5.3
|
||||
RUN pip install \
|
||||
netifaces==0.10.7 \
|
||||
monotonic==1.5
|
||||
RUN pip2 install \
|
||||
scapy==2.4.2 \
|
||||
setuptools \
|
||||
pyroute2==0.5.3
|
||||
RUN pip2 install \
|
||||
netifaces==0.10.7 \
|
||||
monotonic==1.5
|
||||
|
||||
{% if ( CONFIGURED_ARCH == "armhf" or CONFIGURED_ARCH == "arm64" ) %}
|
||||
# Remove installed gcc
|
||||
|
@ -10,7 +10,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
# Install required packages
|
||||
RUN apt-get update && \
|
||||
apt-get install -y \
|
||||
python-pip \
|
||||
python-dev \
|
||||
python3-dev \
|
||||
ipmitool \
|
||||
librrd8 \
|
||||
@ -19,11 +19,7 @@ RUN apt-get update && \
|
||||
python-smbus \
|
||||
ethtool \
|
||||
dmidecode \
|
||||
i2c-tools && \
|
||||
pip install enum34
|
||||
|
||||
# Install python3 required packages
|
||||
RUN python3 -m pip install --no-cache-dir setuptools wheel
|
||||
i2c-tools
|
||||
|
||||
{% if docker_platform_monitor_debs.strip() -%}
|
||||
# Copy locally-built Debian package dependencies
|
||||
@ -51,8 +47,8 @@ RUN python3 -m pip install --no-cache-dir setuptools wheel
|
||||
|
||||
# Clean up
|
||||
RUN apt-get purge -y \
|
||||
python3-dev \
|
||||
python-pip && \
|
||||
python-dev \
|
||||
python3-dev && \
|
||||
apt-get clean -y && \
|
||||
apt-get autoclean -y && \
|
||||
apt-get autoremove -y && \
|
||||
|
@ -15,13 +15,13 @@ if [ -e /usr/share/sonic/platform/platform_wait ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# If the sonic-platform package is not installed, try to install it
|
||||
pip show sonic-platform > /dev/null 2>&1
|
||||
# If the Python 2 sonic-platform package is not installed, try to install it
|
||||
pip2 show sonic-platform > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
SONIC_PLATFORM_WHEEL="/usr/share/sonic/platform/sonic_platform-1.0-py2-none-any.whl"
|
||||
echo "sonic-platform package not installed, attempting to install..."
|
||||
if [ -e ${SONIC_PLATFORM_WHEEL} ]; then
|
||||
pip install ${SONIC_PLATFORM_WHEEL}
|
||||
pip2 install ${SONIC_PLATFORM_WHEEL}
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Successfully installed ${SONIC_PLATFORM_WHEEL}"
|
||||
else
|
||||
@ -32,13 +32,13 @@ if [ $? -ne 0 ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# If the python3 sonic-platform package is not installed, try to install it
|
||||
python3 -m pip show sonic-platform > /dev/null 2>&1
|
||||
# If the Python 3 sonic-platform package is not installed, try to install it
|
||||
pip3 show sonic-platform > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
SONIC_PLATFORM_WHEEL="/usr/share/sonic/platform/sonic_platform-1.0-py3-none-any.whl"
|
||||
echo "sonic-platform package not installed, attempting to install..."
|
||||
if [ -e ${SONIC_PLATFORM_WHEEL} ]; then
|
||||
python3 -m pip install ${SONIC_PLATFORM_WHEEL}
|
||||
pip3 install ${SONIC_PLATFORM_WHEEL}
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Successfully installed ${SONIC_PLATFORM_WHEEL}"
|
||||
else
|
||||
|
@ -96,7 +96,7 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
|
||||
python3-dev
|
||||
|
||||
# Install Python client for Redis
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install "redis==3.5.3"
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install "redis==3.5.3"
|
||||
|
||||
# Install redis-dump-load Python 3 package
|
||||
# Note: the scripts will be overwritten by corresponding Python 2 package
|
||||
@ -108,14 +108,14 @@ sudo rm -rf $FILESYSTEM_ROOT/$REDIS_DUMP_LOAD_PY3_WHEEL_NAME
|
||||
# Install redis-dump-load Python 2 package
|
||||
REDIS_DUMP_LOAD_PY2_WHEEL_NAME=$(basename {{redis_dump_load_py2_wheel_path}})
|
||||
sudo cp {{redis_dump_load_py2_wheel_path}} $FILESYSTEM_ROOT/$REDIS_DUMP_LOAD_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $REDIS_DUMP_LOAD_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install $REDIS_DUMP_LOAD_PY2_WHEEL_NAME
|
||||
sudo rm -rf $FILESYSTEM_ROOT/$REDIS_DUMP_LOAD_PY2_WHEEL_NAME
|
||||
|
||||
# Install Python module for ipaddress
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install ipaddress
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install ipaddress
|
||||
|
||||
# Install Python module for psutil
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install psutil
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install psutil
|
||||
|
||||
# Install SwSS SDK Python 3 package
|
||||
# Note: the scripts will be overwritten by corresponding Python 2 package
|
||||
@ -129,13 +129,13 @@ fi
|
||||
# Install SwSS SDK Python 2 package
|
||||
SWSSSDK_PY2_WHEEL_NAME=$(basename {{swsssdk_py2_wheel_path}})
|
||||
sudo cp {{swsssdk_py2_wheel_path}} $FILESYSTEM_ROOT/$SWSSSDK_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $SWSSSDK_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install $SWSSSDK_PY2_WHEEL_NAME
|
||||
sudo rm -rf $FILESYSTEM_ROOT/$SWSSSDK_PY2_WHEEL_NAME
|
||||
|
||||
# Install sonic-py-common Python 2 package
|
||||
SONIC_PY_COMMON_PY2_WHEEL_NAME=$(basename {{sonic_py_common_py2_wheel_path}})
|
||||
sudo cp {{sonic_py_common_py2_wheel_path}} $FILESYSTEM_ROOT/$SONIC_PY_COMMON_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $SONIC_PY_COMMON_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install $SONIC_PY_COMMON_PY2_WHEEL_NAME
|
||||
sudo rm -rf $FILESYSTEM_ROOT/$SONIC_PY_COMMON_PY2_WHEEL_NAME
|
||||
|
||||
# Install sonic-py-common Python 3 package
|
||||
@ -147,7 +147,7 @@ sudo rm -rf $FILESYSTEM_ROOT/$SONIC_PY_COMMON_PY3_WHEEL_NAME
|
||||
# Install SONiC config engine Python package
|
||||
CONFIG_ENGINE_PY2_WHEEL_NAME=$(basename {{config_engine_py2_wheel_path}})
|
||||
sudo cp {{config_engine_py2_wheel_path}} $FILESYSTEM_ROOT/$CONFIG_ENGINE_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $CONFIG_ENGINE_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install $CONFIG_ENGINE_PY2_WHEEL_NAME
|
||||
sudo rm -rf $FILESYSTEM_ROOT/$CONFIG_ENGINE_PY2_WHEEL_NAME
|
||||
|
||||
# Install sonic-yang-models py3 package, install dependencies
|
||||
@ -161,19 +161,19 @@ sudo rm -rf $FILESYSTEM_ROOT/$SONIC_YANG_MODEL_PY3_WHEEL_NAME
|
||||
# Install sonic-yang-mgmt Python package
|
||||
SONIC_YANG_MGMT_PY_WHEEL_NAME=$(basename {{sonic_yang_mgmt_py_wheel_path}})
|
||||
sudo cp {{sonic_yang_mgmt_py_wheel_path}} $FILESYSTEM_ROOT/$SONIC_YANG_MGMT_PY_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $SONIC_YANG_MGMT_PY_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install $SONIC_YANG_MGMT_PY_WHEEL_NAME
|
||||
sudo rm -rf $FILESYSTEM_ROOT/$SONIC_YANG_MGMT_PY_WHEEL_NAME
|
||||
|
||||
# Install sonic-platform-common Python 2 package
|
||||
PLATFORM_COMMON_PY2_WHEEL_NAME=$(basename {{platform_common_py2_wheel_path}})
|
||||
sudo cp {{platform_common_py2_wheel_path}} $FILESYSTEM_ROOT/$PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install $PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||
sudo rm -rf $FILESYSTEM_ROOT/$PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||
|
||||
# Install system-health Python 2 package
|
||||
SYSTEM_HEALTH_PY2_WHEEL_NAME=$(basename {{system_health_py2_wheel_path}})
|
||||
sudo cp {{system_health_py2_wheel_path}} $FILESYSTEM_ROOT/$SYSTEM_HEALTH_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $SYSTEM_HEALTH_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install $SYSTEM_HEALTH_PY2_WHEEL_NAME
|
||||
sudo rm -rf $FILESYSTEM_ROOT/$SYSTEM_HEALTH_PY2_WHEEL_NAME
|
||||
|
||||
# Install sonic-platform-common Python 3 package
|
||||
@ -192,7 +192,7 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
|
||||
# Install SONiC Utilities Python 2 package
|
||||
SONIC_UTILITIES_PY2_WHEEL_NAME=$(basename {{sonic_utilities_py2_wheel_path}})
|
||||
sudo cp {{sonic_utilities_py2_wheel_path}} $FILESYSTEM_ROOT/$SONIC_UTILITIES_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $SONIC_UTILITIES_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install $SONIC_UTILITIES_PY2_WHEEL_NAME
|
||||
sudo rm -rf $FILESYSTEM_ROOT/$SONIC_UTILITIES_PY2_WHEEL_NAME
|
||||
|
||||
# Install sonic-utilities data files (and any dependencies via 'apt-get -y install -f')
|
||||
@ -335,9 +335,9 @@ sudo cp $IMAGE_CONFIGS/corefile_uploader/core_analyzer.rc.json $FILESYSTEM_ROOT_
|
||||
sudo chmod og-rw $FILESYSTEM_ROOT_ETC_SONIC/core_analyzer.rc.json
|
||||
|
||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install libffi-dev libssl-dev
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install azure-storage==0.36.0
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install watchdog==0.10.2
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install futures==3.3.0
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install azure-storage==0.36.0
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install watchdog==0.10.2
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install futures==3.3.0
|
||||
|
||||
{% if include_kubernetes == "y" %}
|
||||
# Copy kubelet service files
|
||||
@ -604,7 +604,7 @@ sudo chmod 755 $FILESYSTEM_ROOT/usr/bin/mlnx-fw-upgrade.sh
|
||||
# Install mlnx-sonic-platform-common Python 2 package
|
||||
MLNX_PLATFORM_COMMON_PY2_WHEEL_NAME=$(basename {{mlnx_platform_api_py2_wheel_path}})
|
||||
sudo cp {{mlnx_platform_api_py2_wheel_path}} $FILESYSTEM_ROOT/$MLNX_PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $MLNX_PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install $MLNX_PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||
sudo rm -rf $FILESYSTEM_ROOT/$MLNX_PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||
{% endif %}
|
||||
|
||||
|
Reference in New Issue
Block a user