diff --git a/build_debian.sh b/build_debian.sh index 077388d941..c4d3d4fc24 100755 --- a/build_debian.sh +++ b/build_debian.sh @@ -319,6 +319,8 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in python3-distutils \ python3-pip \ cron \ + libprotobuf17 \ + libgrpc++ \ haveged \ jq diff --git a/dockers/docker-platform-monitor/Dockerfile.j2 b/dockers/docker-platform-monitor/Dockerfile.j2 index d8988b8f6e..21536f43c0 100755 --- a/dockers/docker-platform-monitor/Dockerfile.j2 +++ b/dockers/docker-platform-monitor/Dockerfile.j2 @@ -42,7 +42,12 @@ RUN pip2 install 'setuptools==40.8.0' # NOTE: Only install enum34 for Python 2, as our version of Python 3 is 3.7, which # contains 'enum' as part of the standard library. Installing enum34 there will # cause conflicts. -RUN pip2 install enum34 +RUN pip2 install enum34 \ + grpcio==1.39.0 \ + grpcio-tools==1.39.0 + +RUN pip3 install grpcio==1.39.0 \ + grpcio-tools==1.39.0 # Barefoot platform vendors' sonic_platform packages import the Python 'thrift' library RUN pip2 install thrift==0.13.0 diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 0aba935119..4b2465bdc3 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -143,6 +143,12 @@ sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install psutil sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip2 install ipaddr sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install ipaddr +# Install Python module for grpcio and grpcio-toole +sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install "grpcio==1.39.0" +sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install "grpcio-tools==1.39.0" +sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install "grpcio==1.39.0" +sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install "grpcio-tools==1.39.0" + # Install SwSS SDK Python 3 package # Note: the scripts will be overwritten by corresponding Python 2 package SWSSSDK_PY3_WHEEL_NAME=$(basename {{swsssdk_py3_wheel_path}})