-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade docker-sonic-vs and docker-syncd-vs to Bullseye #13294
Changes from all commits
e4a3cd1
30c94ed
eeb6013
c2e2ac8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
FROM docker-config-engine-buster-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}} | ||
FROM docker-swss-layer-bullseye-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}} | ||
|
||
ARG docker_container_name | ||
|
||
|
@@ -24,10 +24,6 @@ RUN apt-get install -y net-tools \ | |
python-ply \ | ||
libqt5core5a \ | ||
libqt5network5 \ | ||
libboost-program-options1.71.0 \ | ||
libboost-serialization1.71.0 \ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi @saiarcot895 , why removed libboost package? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. https://github.com/sonic-net/sonic-swss-common/blob/e3d9024602847d5bb41e14f153099431ef35f291/debian/control#L5 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Boost 1.71 is not available in Bullseye, Bullseye has Boost 1.74. Because of this (and other differences), the pipelines for swss-common, swss, and sairedis were bound to fail. In addition, the base layer of this container has changed; it's now based on swss-layer-bullseye (which will contain both swss and swsscommon). As for the pipeline breakages, I've already opened sonic-net/sonic-swss-common#716 to fix it for swss-common. Once that is fixed, I should be able to fix it for sairedis (sonic-net/sonic-sairedis#1225) and swss (PR to be opened). |
||
libboost-system1.71.0 \ | ||
libboost-thread1.71.0 \ | ||
libgmp10 \ | ||
libjudydebian1 \ | ||
openssh-client \ | ||
|
@@ -41,8 +37,7 @@ RUN apt-get install -y net-tools \ | |
logrotate \ | ||
apt-utils \ | ||
psmisc \ | ||
tcpdump \ | ||
python-scapy \ | ||
python3-scapy \ | ||
conntrack \ | ||
iptables \ | ||
jq \ | ||
|
@@ -52,8 +47,6 @@ RUN apt-get install -y net-tools \ | |
# For installing Python m2crypto package | ||
# (these can be uninstalled after installation) | ||
build-essential \ | ||
python-dev \ | ||
python-pip \ | ||
python3-dev \ | ||
libssl-dev \ | ||
swig \ | ||
|
@@ -72,40 +65,10 @@ RUN apt-get install -y net-tools \ | |
libdbus-1-3 \ | ||
libgirepository-1.0-1 \ | ||
{%- if ENABLE_ASAN == "y" %} | ||
libasan5 \ | ||
libasan6 \ | ||
{%- endif %} | ||
libsystemd0 \ | ||
dbus | ||
|
||
# Install redis-server | ||
{% if CONFIGURED_ARCH == "armhf" %} | ||
RUN curl -k -o redis-tools_6.0.6-1~bpo10+1_armhf.deb "https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1_bpo10+1_armhf.deb?sv=2015-04-05&sr=b&sig=67vHAMxsl%2BS3X1KsqhdYhakJkGdg5FKSPgU8kUiw4as%3D&se=2030-10-24T04%3A22%3A40Z&sp=r" | ||
RUN curl -k -o redis-server_6.0.6-1~bpo10+1_armhf.deb "https://sonicstorage.blob.core.windows.net/packages/redis/redis-server_6.0.6-1_bpo10+1_armhf.deb?sv=2015-04-05&sr=b&sig=xTdayvm0RBguxi9suyv855jKRjU%2FmKQ8nHuct4WSX%2FA%3D&se=2030-10-24T04%3A22%3A05Z&sp=r" | ||
RUN dpkg -i redis-tools_6.0.6-1~bpo10+1_armhf.deb redis-server_6.0.6-1~bpo10+1_armhf.deb || apt-get install -f | ||
RUN rm redis-tools_6.0.6-1~bpo10+1_armhf.deb redis-server_6.0.6-1~bpo10+1_armhf.deb | ||
{% elif CONFIGURED_ARCH == "arm64" %} | ||
RUN curl -o redis-tools_6.0.6-1~bpo10+1_arm64.deb "https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1_bpo10+1_arm64.deb?sv=2015-04-05&sr=b&sig=GbkJV2wWln3hoz27zKi5erdk3NDKrAFrQriA97bcRCY%3D&se=2030-10-24T04%3A22%3A21Z&sp=r" | ||
RUN curl -o redis-server_6.0.6-1~bpo10+1_arm64.deb "https://sonicstorage.blob.core.windows.net/packages/redis/redis-server_6.0.6-1_bpo10+1_arm64.deb?sv=2015-04-05&sr=b&sig=622w2KzIKIjAaaA0Bz12MzU%2BUBzY2AiXFIFfuKNoKSk%3D&se=2030-10-24T04%3A21%3A44Z&sp=r" | ||
RUN dpkg -i redis-tools_6.0.6-1~bpo10+1_arm64.deb redis-server_6.0.6-1~bpo10+1_arm64.deb || apt-get install -f | ||
RUN rm redis-tools_6.0.6-1~bpo10+1_arm64.deb redis-server_6.0.6-1~bpo10+1_arm64.deb | ||
{% else %} | ||
RUN curl -o redis-tools_6.0.6-1~bpo10+1_amd64.deb "https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1~bpo10+1_amd64.deb?sv=2015-04-05&sr=b&sig=73zbmjkf3pi%2Bn0R8Hy7CWT2EUvOAyzM5aLYJWCLySGM%3D&se=2030-09-06T19%3A44%3A59Z&sp=r" | ||
RUN curl -o redis-server_6.0.6-1~bpo10+1_amd64.deb "https://sonicstorage.blob.core.windows.net/packages/redis/redis-server_6.0.6-1~bpo10+1_amd64.deb?sv=2015-04-05&sr=b&sig=2Ketg7BmkZEaTxR%2FgvAFVmhjn7ywdmkc7l2T2rsL57o%3D&se=2030-09-06T19%3A45%3A20Z&sp=r" | ||
RUN dpkg -i redis-tools_6.0.6-1~bpo10+1_amd64.deb redis-server_6.0.6-1~bpo10+1_amd64.deb || apt-get install -f | ||
RUN rm redis-tools_6.0.6-1~bpo10+1_amd64.deb redis-server_6.0.6-1~bpo10+1_amd64.deb | ||
{% endif %} | ||
|
||
RUN pip2 install --upgrade 'pip<21' | ||
RUN apt-get purge -y python-pip | ||
RUN pip2 install setuptools==40.8.0 | ||
RUN pip2 install wheel==0.33.6 | ||
RUN pip2 install py2_ipaddress | ||
RUN pip2 install six | ||
RUN pip2 install pyroute2==0.5.3 netifaces==0.10.7 | ||
RUN pip2 install monotonic==1.5 | ||
RUN pip2 install urllib3 | ||
RUN pip2 install requests | ||
RUN pip2 install crontab | ||
dbus \ | ||
redis-server | ||
|
||
# For sonic-config-engine Python 3 package | ||
# Install pyangbind here, outside sonic-config-engine dependencies, as pyangbind causes enum34 to be installed. | ||
|
@@ -150,7 +113,7 @@ RUN pip{% if 'py3' in whl %}3{% else %}2{% endif %} install python-wheels/{{ whl | |
|
||
# Clean up | ||
RUN apt-get purge -y build-essential libssl-dev swig | ||
RUN apt-get purge -y python-dev python3-dev | ||
RUN apt-get purge -y python3-dev | ||
RUN apt-get purge -y libcairo2-dev libdbus-1-dev libgirepository1.0-dev libsystemd-dev pkg-config | ||
RUN apt-get clean -y | ||
RUN apt-get autoclean -y | ||
|
@@ -196,9 +159,6 @@ RUN rm -f /usr/share/sonic/templates/supervisord.conf.j2 | |
RUN mkdir -p /var/log/asan | ||
{%- endif %} | ||
|
||
# Workaround the tcpdump issue | ||
RUN mv /usr/sbin/tcpdump /usr/bin/tcpdump | ||
|
||
RUN echo "docker-sonic-vs" > /etc/hostname | ||
RUN mkdir -p /etc/quagga | ||
RUN touch /etc/quagga/zebra.conf | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,13 @@ | ||
# iproute2 package | ||
|
||
IPROUTE2_VERSION = 5.10.0 | ||
IPROUTE2_VERSION_FULL = $(IPROUTE2_VERSION)-4~bpo10+1 | ||
IPROUTE2_VERSION_FULL = $(IPROUTE2_VERSION)-4 | ||
IPROUTE2_VERSION_SONIC = $(IPROUTE2_VERSION)-4sonic1 | ||
|
||
export IPROUTE2_VERSION | ||
export IPROUTE2_VERSION_FULL | ||
export IPROUTE2_VERSION_SONIC | ||
|
||
IPROUTE2 = iproute2_$(IPROUTE2_VERSION_FULL)_$(CONFIGURED_ARCH).deb | ||
IPROUTE2 = iproute2_$(IPROUTE2_VERSION_SONIC)_$(CONFIGURED_ARCH).deb | ||
$(IPROUTE2)_SRC_PATH = $(SRC_PATH)/iproute2 | ||
SONIC_MAKE_DEBS += $(IPROUTE2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curious why
$(SWSS)
is removed here? Is it because it's now taken care of in the addition on line 46?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes,
docker-sonic-vs
will be based on top ofdocker-swss-layer-bullseye
, which will contain SWSS.The initial intention of that layer was to save space by having SWSS be in a single layer and then other containers can be built on top of this layer. In this case, since
docker-sonic-vs
won't actually be part of the SONiC image, there's effectively no impact.