2022-03-14 05:09:20 -05:00
|
|
|
|
{% set prefix = DEFAULT_CONTAINER_REGISTRY %}
|
2021-04-18 10:17:57 -05:00
|
|
|
|
{%- if CONFIGURED_ARCH == "armhf" and MULTIARCH_QEMU_ENVIRON == "y" %}
|
2022-03-14 05:09:20 -05:00
|
|
|
|
FROM {{ prefix }}multiarch/debian-debootstrap:armhf-stretch
|
2021-04-18 10:17:57 -05:00
|
|
|
|
{%- elif CONFIGURED_ARCH == "arm64" and MULTIARCH_QEMU_ENVIRON == "y" %}
|
2022-03-14 05:09:20 -05:00
|
|
|
|
FROM {{ prefix }}multiarch/debian-debootstrap:arm64-stretch
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- else -%}
|
2022-03-14 05:09:20 -05:00
|
|
|
|
FROM {{ prefix }}debian:stretch
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- endif %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
|
|
|
|
MAINTAINER gulv@microsoft.com
|
|
|
|
|
|
2020-01-07 17:52:49 -06:00
|
|
|
|
COPY ["no-check-valid-until", "/etc/apt/apt.conf.d/"]
|
2023-09-23 20:07:04 -05:00
|
|
|
|
COPY ["apt-retries-count", "/etc/apt/apt.conf.d"]
|
2022-11-08 18:09:53 -06:00
|
|
|
|
COPY ["sources.list.{{ CONFIGURED_ARCH }}", "/etc/apt/sources.list"]
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
|
|
|
|
## Make apt-get non-interactive
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
|
|
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
|
|
|
apt-utils \
|
|
|
|
|
default-jre-headless \
|
|
|
|
|
openssh-server \
|
|
|
|
|
curl \
|
|
|
|
|
wget \
|
|
|
|
|
unzip \
|
2022-12-17 16:38:31 -06:00
|
|
|
|
{{ GZ_COMPRESS_PROGRAM }} \
|
2019-07-26 00:06:41 -05:00
|
|
|
|
git \
|
|
|
|
|
build-essential \
|
|
|
|
|
libtool \
|
|
|
|
|
lintian \
|
|
|
|
|
sudo \
|
|
|
|
|
dh-make \
|
|
|
|
|
dh-exec \
|
|
|
|
|
kmod \
|
|
|
|
|
libtinyxml2-4 \
|
|
|
|
|
libboost-program-options1.62-dev \
|
|
|
|
|
libtinyxml2-dev \
|
|
|
|
|
python \
|
|
|
|
|
python-pip \
|
2020-10-26 15:48:50 -05:00
|
|
|
|
python3-pip \
|
2019-07-26 00:06:41 -05:00
|
|
|
|
libncurses5-dev \
|
|
|
|
|
texinfo \
|
|
|
|
|
dh-autoreconf \
|
|
|
|
|
doxygen \
|
|
|
|
|
devscripts \
|
|
|
|
|
git-buildpackage \
|
|
|
|
|
perl-modules \
|
|
|
|
|
libswitch-perl \
|
|
|
|
|
dh-systemd \
|
2020-10-01 04:16:47 -05:00
|
|
|
|
libzmq5 \
|
|
|
|
|
libzmq3-dev \
|
2021-04-26 15:51:50 -05:00
|
|
|
|
jq \
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# For quagga build
|
|
|
|
|
libreadline-dev \
|
|
|
|
|
texlive-latex-base \
|
|
|
|
|
texlive-generic-recommended \
|
|
|
|
|
texlive-fonts-recommended \
|
|
|
|
|
libpam0g-dev \
|
|
|
|
|
libpam-dev \
|
|
|
|
|
libcap-dev \
|
|
|
|
|
imagemagick \
|
|
|
|
|
ghostscript \
|
|
|
|
|
groff \
|
|
|
|
|
libpcre3-dev \
|
|
|
|
|
gawk \
|
|
|
|
|
chrpath \
|
|
|
|
|
# For frr build
|
|
|
|
|
libc-ares-dev \
|
|
|
|
|
libsnmp-dev \
|
|
|
|
|
libjson-c3 \
|
|
|
|
|
libjson-c-dev \
|
|
|
|
|
libsystemd-dev \
|
|
|
|
|
python-ipaddr \
|
|
|
|
|
libcmocka-dev \
|
|
|
|
|
python3-all-dev \
|
|
|
|
|
python3-all-dbg \
|
|
|
|
|
install-info \
|
|
|
|
|
logrotate \
|
|
|
|
|
# For libnl3 (local) build
|
|
|
|
|
cdbs \
|
|
|
|
|
# For SAI meta build
|
|
|
|
|
libxml-simple-perl \
|
|
|
|
|
graphviz \
|
|
|
|
|
aspell \
|
|
|
|
|
# For linux build
|
|
|
|
|
bc \
|
|
|
|
|
fakeroot \
|
|
|
|
|
build-essential \
|
|
|
|
|
devscripts \
|
|
|
|
|
quilt \
|
|
|
|
|
stgit \
|
|
|
|
|
# For platform-modules build
|
|
|
|
|
module-assistant \
|
|
|
|
|
# For thrift build\
|
|
|
|
|
gem2deb \
|
|
|
|
|
libboost-all-dev \
|
|
|
|
|
libevent-dev \
|
|
|
|
|
libglib2.0-dev \
|
|
|
|
|
libqt4-dev \
|
|
|
|
|
python-all-dev \
|
|
|
|
|
python-twisted \
|
|
|
|
|
phpunit \
|
|
|
|
|
libbit-vector-perl \
|
|
|
|
|
openjdk-8-jdk \
|
|
|
|
|
javahelper \
|
|
|
|
|
maven-debian-helper \
|
|
|
|
|
ant \
|
|
|
|
|
libmaven-ant-tasks-java \
|
|
|
|
|
libhttpclient-java \
|
|
|
|
|
libslf4j-java \
|
|
|
|
|
libservlet3.1-java \
|
|
|
|
|
qt5-default \
|
|
|
|
|
pkg-php-tools \
|
|
|
|
|
# For mellanox sdk build
|
|
|
|
|
libpcre3 \
|
|
|
|
|
libpcre3-dev \
|
|
|
|
|
byacc \
|
|
|
|
|
flex \
|
|
|
|
|
libglib2.0-dev \
|
|
|
|
|
bison \
|
|
|
|
|
expat \
|
|
|
|
|
libexpat1-dev \
|
|
|
|
|
dpatch \
|
|
|
|
|
libdb-dev \
|
|
|
|
|
iptables-dev \
|
|
|
|
|
ctags \
|
|
|
|
|
# For mellanox sai build
|
|
|
|
|
libtool-bin \
|
|
|
|
|
libxml2-dev \
|
|
|
|
|
# For BFN sdk build
|
|
|
|
|
libusb-1.0-0-dev \
|
|
|
|
|
libcurl3-nss-dev \
|
|
|
|
|
libunwind8-dev \
|
|
|
|
|
telnet \
|
|
|
|
|
libc-ares2 \
|
|
|
|
|
libgoogle-perftools4 \
|
|
|
|
|
# For build image
|
|
|
|
|
cpio \
|
|
|
|
|
squashfs-tools \
|
|
|
|
|
zip \
|
|
|
|
|
# For broadcom sdk build
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- if CONFIGURED_ARCH == "amd64" %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
linux-compiler-gcc-6-x86 \
|
2019-10-10 17:11:26 -05:00
|
|
|
|
{%- endif %}
|
|
|
|
|
{%- if CONFIGURED_ARCH == "armhf" %}
|
|
|
|
|
linux-compiler-gcc-6-arm \
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- endif %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
linux-kbuild-4.9 \
|
|
|
|
|
# teamd build
|
|
|
|
|
libdaemon-dev \
|
|
|
|
|
libdbus-1-dev \
|
|
|
|
|
libjansson-dev \
|
|
|
|
|
# For cavium sdk build
|
|
|
|
|
libpcap-dev \
|
|
|
|
|
dnsutils \
|
|
|
|
|
libusb-dev \
|
|
|
|
|
# For debian image reconfiguration
|
|
|
|
|
augeas-tools \
|
|
|
|
|
# For p4 build
|
|
|
|
|
libyaml-dev \
|
|
|
|
|
libevent-dev \
|
|
|
|
|
libjudy-dev \
|
|
|
|
|
libedit-dev \
|
|
|
|
|
libnanomsg-dev \
|
|
|
|
|
python-stdeb \
|
|
|
|
|
# For redis build
|
|
|
|
|
libjemalloc-dev \
|
2019-07-26 15:13:33 -05:00
|
|
|
|
liblua5.1-0-dev \
|
|
|
|
|
lua-bitop-dev \
|
|
|
|
|
lua-cjson-dev \
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# For mft kernel module build
|
|
|
|
|
dkms \
|
|
|
|
|
# For Jenkins static analysis, unit testing and code coverage
|
|
|
|
|
cppcheck \
|
|
|
|
|
clang \
|
|
|
|
|
pylint \
|
|
|
|
|
python-pytest \
|
|
|
|
|
gcovr \
|
|
|
|
|
python-pytest-cov \
|
|
|
|
|
python-parse \
|
|
|
|
|
# For snmpd
|
|
|
|
|
default-libmysqlclient-dev \
|
|
|
|
|
libssl1.0-dev \
|
|
|
|
|
libperl-dev \
|
|
|
|
|
libpci-dev \
|
|
|
|
|
libpci3 \
|
|
|
|
|
libsensors4 \
|
|
|
|
|
libsensors4-dev \
|
|
|
|
|
libwrap0-dev \
|
|
|
|
|
# For lldpd
|
|
|
|
|
debhelper \
|
|
|
|
|
autotools-dev \
|
|
|
|
|
libbsd-dev \
|
|
|
|
|
pkg-config \
|
|
|
|
|
check \
|
|
|
|
|
# For mpdecimal
|
|
|
|
|
docutils-common \
|
|
|
|
|
libjs-sphinxdoc \
|
|
|
|
|
libjs-underscore \
|
|
|
|
|
python-docutils \
|
|
|
|
|
python-jinja2 \
|
|
|
|
|
python-markupsafe \
|
|
|
|
|
python-pygments \
|
|
|
|
|
python-roman \
|
|
|
|
|
python-sphinx \
|
|
|
|
|
sphinx-common \
|
|
|
|
|
python3-sphinx \
|
|
|
|
|
# For sonic config engine testing
|
2020-09-28 21:20:15 -05:00
|
|
|
|
python-dev \
|
2020-12-15 10:44:46 -06:00
|
|
|
|
{%- if CONFIGURED_ARCH == "armhf" or CONFIGURED_ARCH == "arm64" %}
|
|
|
|
|
libxslt-dev \
|
|
|
|
|
{%- endif %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# For lockfile
|
|
|
|
|
procmail \
|
|
|
|
|
# For pam_tacplus build
|
|
|
|
|
autoconf-archive \
|
2019-08-06 23:33:14 -05:00
|
|
|
|
# For iproute2
|
|
|
|
|
cm-super-minimal \
|
|
|
|
|
libatm1-dev \
|
|
|
|
|
libelf-dev \
|
|
|
|
|
libmnl-dev \
|
|
|
|
|
libselinux1-dev \
|
|
|
|
|
linuxdoc-tools \
|
|
|
|
|
lynx \
|
|
|
|
|
texlive-latex-extra \
|
|
|
|
|
texlive-latex-recommended \
|
|
|
|
|
iproute2 \
|
2019-08-14 12:40:55 -05:00
|
|
|
|
# For bash
|
|
|
|
|
texi2html \
|
2021-10-11 02:20:51 -05:00
|
|
|
|
sharutils \
|
|
|
|
|
locales \
|
|
|
|
|
time \
|
|
|
|
|
man2html-base \
|
|
|
|
|
libcunit1 \
|
|
|
|
|
libcunit1-dev \
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# For initramfs
|
|
|
|
|
bash-completion \
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- if CONFIGURED_ARCH == "amd64" %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# For sonic vs image build
|
|
|
|
|
dosfstools \
|
|
|
|
|
qemu-kvm \
|
|
|
|
|
libvirt-clients \
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- endif %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# For lm-sensors
|
|
|
|
|
librrd8 \
|
|
|
|
|
librrd-dev \
|
|
|
|
|
rrdtool \
|
2019-11-09 01:08:42 -06:00
|
|
|
|
# For kdump-tools
|
2019-12-19 00:26:34 -06:00
|
|
|
|
liblzo2-dev \
|
2020-01-29 19:40:43 -06:00
|
|
|
|
# For iptables
|
|
|
|
|
libnetfilter-conntrack-dev \
|
|
|
|
|
libnftnl-dev \
|
2019-12-19 00:26:34 -06:00
|
|
|
|
# For SAI3.7
|
2020-05-30 15:44:19 -05:00
|
|
|
|
protobuf-compiler \
|
2020-01-07 19:48:03 -06:00
|
|
|
|
libprotobuf-dev \
|
2020-05-30 15:44:19 -05:00
|
|
|
|
xxd \
|
2020-01-07 19:48:03 -06:00
|
|
|
|
# For DHCP Monitor tool
|
|
|
|
|
libexplain-dev \
|
2020-06-09 02:25:17 -05:00
|
|
|
|
libevent-dev \
|
2020-07-29 16:19:03 -05:00
|
|
|
|
# For libyang
|
|
|
|
|
swig \
|
2020-10-26 15:48:50 -05:00
|
|
|
|
# For sonic-mgmt-framework
|
|
|
|
|
autoconf \
|
|
|
|
|
m4 \
|
|
|
|
|
libxml2-utils \
|
|
|
|
|
xsltproc \
|
|
|
|
|
python-lxml \
|
2021-11-30 21:50:09 -06:00
|
|
|
|
libexpat1-dev \
|
|
|
|
|
# For audisp-tacplus
|
|
|
|
|
libauparse-dev \
|
|
|
|
|
auditd
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
2022-01-04 18:06:30 -06:00
|
|
|
|
# For gmock
|
|
|
|
|
RUN apt-get install -y libgmock-dev -t stretch-backports
|
|
|
|
|
|
2023-05-24 11:25:12 -05:00
|
|
|
|
# Install dependencies for dhcp relay test
|
2021-09-24 00:01:26 -05:00
|
|
|
|
RUN pip3 install parameterized==0.8.1
|
|
|
|
|
RUN pip3 install pyfakefs
|
|
|
|
|
|
2019-12-12 20:46:35 -06:00
|
|
|
|
## Config dpkg
|
|
|
|
|
## install the configuration file if it’s currently missing
|
|
|
|
|
RUN sudo augtool --autosave "set /files/etc/dpkg/dpkg.cfg/force-confmiss"
|
|
|
|
|
## combined with confold: overwrite configuration files that you have not modified
|
|
|
|
|
RUN sudo augtool --autosave "set /files/etc/dpkg/dpkg.cfg/force-confdef"
|
|
|
|
|
## do not modify the current configuration file, the new version is installed with a .dpkg-dist suffix
|
|
|
|
|
RUN sudo augtool --autosave "set /files/etc/dpkg/dpkg.cfg/force-confold"
|
|
|
|
|
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# For linux build
|
|
|
|
|
RUN apt-get -y build-dep linux
|
|
|
|
|
|
|
|
|
|
# For gobgp and telemetry build
|
2020-05-04 17:00:07 -05:00
|
|
|
|
RUN export VERSION=1.14.2 \
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- if CONFIGURED_ARCH == "armhf" %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
&& wget https://storage.googleapis.com/golang/go$VERSION.linux-armv6l.tar.gz \
|
|
|
|
|
&& tar -C /usr/local -xzf go$VERSION.linux-armv6l.tar.gz \
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- elif CONFIGURED_ARCH == "arm64" %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
&& wget https://storage.googleapis.com/golang/go$VERSION.linux-arm64.tar.gz \
|
|
|
|
|
&& tar -C /usr/local -xzf go$VERSION.linux-arm64.tar.gz \
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- else %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
&& wget https://storage.googleapis.com/golang/go$VERSION.linux-amd64.tar.gz \
|
|
|
|
|
&& tar -C /usr/local -xzf go$VERSION.linux-amd64.tar.gz \
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- endif %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
&& echo 'export GOROOT=/usr/local/go' >> /etc/bash.bashrc \
|
2019-07-26 23:52:02 -05:00
|
|
|
|
&& echo 'export PATH=$PATH:$GOROOT/bin' >> /etc/bash.bashrc \
|
|
|
|
|
&& rm go$VERSION.linux-*.tar.gz
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
2020-10-26 15:48:50 -05:00
|
|
|
|
RUN pip3 install --upgrade pip
|
2020-12-25 23:29:25 -06:00
|
|
|
|
RUN pip2 install --upgrade 'pip<21'
|
2020-10-26 15:48:50 -05:00
|
|
|
|
RUN apt-get purge -y python-pip python3-pip
|
|
|
|
|
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# For p4 build
|
2020-10-26 15:48:50 -05:00
|
|
|
|
RUN pip2 install \
|
|
|
|
|
ctypesgen==0.r125 \
|
|
|
|
|
crc16
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
2020-11-07 15:03:41 -06:00
|
|
|
|
# Note: Stick with Jinja2 2.x branch as the 3.x dropped support for Python 2.7
|
2020-10-26 15:48:50 -05:00
|
|
|
|
RUN pip2 install --force-reinstall --upgrade "Jinja2<3.0.0"
|
2020-09-28 21:20:15 -05:00
|
|
|
|
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# For sonic config engine testing
|
2020-09-28 21:20:15 -05:00
|
|
|
|
# Install pyangbind here, outside sonic-config-engine dependencies, as pyangbind causes enum34 to be installed.
|
|
|
|
|
# enum34 causes Python 're' package to not work properly as it redefines an incompatible enum.py module
|
|
|
|
|
# https://github.com/robshakir/pyangbind/issues/232
|
|
|
|
|
RUN pip3 install pyangbind==0.8.1
|
|
|
|
|
RUN pip3 uninstall -y enum34
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
|
|
|
|
# For templating
|
2020-10-26 15:48:50 -05:00
|
|
|
|
RUN pip2 install j2cli==0.3.10
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
|
|
|
|
# For sonic snmpagent mock testing
|
2021-04-09 18:58:00 -05:00
|
|
|
|
RUN pip3 install nose==1.3.7
|
2019-07-26 00:06:41 -05:00
|
|
|
|
RUN pip3 install mockredispy==2.9.3
|
|
|
|
|
|
2020-10-26 15:48:50 -05:00
|
|
|
|
# For sonic-mgmt-framework
|
|
|
|
|
RUN pip2 install "PyYAML==5.3.1"
|
|
|
|
|
RUN pip3 install "PyYAML==5.3.1"
|
2023-03-20 01:15:45 -05:00
|
|
|
|
RUN pip2 install "lxml==4.9.1"
|
|
|
|
|
RUN pip3 install "lxml==4.9.1"
|
2020-10-26 15:48:50 -05:00
|
|
|
|
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
|
|
|
|
# For sonic-platform-common testing
|
2023-03-27 16:40:30 -05:00
|
|
|
|
RUN pip2 install redis
|
2022-01-09 20:24:07 -06:00
|
|
|
|
RUN pip3 install redis
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
|
|
|
|
# For vs image build
|
2020-10-26 15:48:50 -05:00
|
|
|
|
RUN pip2 install pexpect==4.6.0
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
|
|
|
|
# For sonic-utilities build
|
2021-04-09 18:58:00 -05:00
|
|
|
|
RUN pip2 install nose==1.3.7
|
2020-10-26 15:48:50 -05:00
|
|
|
|
RUN pip2 install mockredispy==2.9.3
|
|
|
|
|
RUN pip2 install pytest-runner==4.4
|
|
|
|
|
RUN pip2 install setuptools==40.8.0
|
2019-07-26 00:06:41 -05:00
|
|
|
|
|
2020-05-27 04:21:58 -05:00
|
|
|
|
# For sonic-swss-common testing
|
2020-10-26 15:48:50 -05:00
|
|
|
|
RUN pip2 install Pympler==0.8
|
2020-05-27 04:21:58 -05:00
|
|
|
|
|
2020-11-07 15:03:41 -06:00
|
|
|
|
# For sonic_yang_model build
|
2021-04-26 23:53:23 -05:00
|
|
|
|
RUN pip3 install pyang==2.4.0
|
[sonic-yang-models]: First version of yang models for Port, VLan, Interface, PortChannel, loopback and ACL. (#3730)
[sonic-yang-models]: First version of yang models for Port, VLan, Interface, PortChannel, loopback and ACL.
YANG models as per Guidelines.
Guideline doc: https://github.com/Azure/SONiC/blob/master/doc/mgmt/SONiC_YANG_Model_Guidelines.md
[sonic-yang-models/tests]: YANG model test code and JSON input for testing.
[sonic-yang-models/setup.py]: Build infra for yang models.
**- What I did**
Created Yang model for Sonic.
Tables: PORT, VLAN, VLAN_INTERFACE, VLAN_MEMBER, ACL_RULE, ACL_TABLE, INTERFACE.
Created build infra files using which a new package (sonic-yang-models) can be build and can be deployed on sonic switches. Yang models will be part of this new package.
**- How I did it**
Wrote yang models based on Guideline doc:
https://github.com/Azure/SONiC/blob/master/doc/mgmt/SONiC_YANG_Model_Guidelines.md
and
https://github.com/Azure/SONiC/wiki/Configuration.
Wrote python wheel Package infra which runs test for these Yang models using a json files which consists configuration as per yang models. These configs are for negative tests, which means we want to test that most must condition, pattern and when condition works as expected.
**- How to verify it**
Build Logs and testing:
———————————————————————————————————
```
/sonic/src/sonic-yang-models /sonic
running test
running egg_info
writing top-level names to sonic_yang_models.egg-info/top_level.txt
writing dependency_links to sonic_yang_models.egg-info/dependency_links.txt
writing sonic_yang_models.egg-info/PKG-INFO
reading manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
writing manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
running build_ext
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
running bdist_wheel
running build
running build_py
(Reading database ... 155852 files and directories currently installed.)
Preparing to unpack .../libyang_1.0.73_amd64.deb ...
Unpacking libyang (1.0.73) over (1.0.73) ...
Setting up libyang (1.0.73) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Processing triggers for man-db (2.7.6.1-2) ...
(Reading database ... 155852 files and directories currently installed.)
Preparing to unpack .../libyang-cpp_1.0.73_amd64.deb ...
Unpacking libyang-cpp (1.0.73) over (1.0.73) ...
Setting up libyang-cpp (1.0.73) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
(Reading database ... 155852 files and directories currently installed.)
Preparing to unpack .../python3-yang_1.0.73_amd64.deb ...
Unpacking python3-yang (1.0.73) over (1.0.73) ...
Setting up python3-yang (1.0.73) ...
INFO:YANG-TEST:module: sonic-vlan is loaded successfully
ERROR:YANG-TEST:Could not get module: sonic-head
INFO:YANG-TEST:module: sonic-portchannel is loaded successfully
INFO:YANG-TEST:module: sonic-acl is loaded successfully
INFO:YANG-TEST:module: sonic-loopback-interface is loaded successfully
ERROR:YANG-TEST:Could not get module: sonic-port
INFO:YANG-TEST:module: sonic-interface is loaded successfully
INFO:YANG-TEST:
------------------- Test 1: Configure a member port in VLAN_MEMBER table which does not exist.---------------------
libyang[0]: Leafref "/sonic-port:sonic-port/sonic-port:PORT/sonic-port:PORT_LIST/sonic-port:port_name" of value "Ethernet156" points to a non
-existing leaf. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[vlan_name='Vlan100'][port='Ethernet156']/port)
INFO:YANG-TEST:Configure a member port in VLAN_MEMBER table which does not exist. Passed
INFO:YANG-TEST:
------------------- Test 2: Configure non-existing ACL_TABLE in ACL_RULE.---------------------
libyang[0]: Leafref "/sonic-acl:sonic-acl/sonic-acl:ACL_TABLE/sonic-acl:ACL_TABLE_LIST/sonic-acl:ACL_TABLE_NAME" of value "NOT-EXIST" points
to a non-existing leaf. (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NOT-EXIST'][RULE_NAME='Rule_20']/ACL_TABLE_NAME)
INFO:YANG-TEST:Configure non-existing ACL_TABLE in ACL_RULE. Passed
INFO:YANG-TEST:
------------------- Test 3: Configure IP_TYPE as ARP and ICMPV6_CODE in ACL_RULE.---------------------
libyang[0]: When condition "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPv6ANY'])" not satisfied. (path: /sonic-acl:sonic-acl/ACL_RU
LE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4'][RULE_NAME='Rule_40']/ICMPV6_CODE)
INFO:YANG-TEST:Configure IP_TYPE as ARP and ICMPV6_CODE in ACL_RULE. Passed
INFO:YANG-TEST:
INFO:YANG-TEST:
------------------- Test 4: Configure IP_TYPE as ipv4any and SRC_IPV6 in ACL_RULE.---------------------
libyang[0]: When condition "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPv6ANY'])" not satisfied. (path: /sonic-acl:sonic-acl/ACL_RU
LE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4'][RULE_NAME='Rule_20']/SRC_IPV6)
INFO:YANG-TEST:Configure IP_TYPE as ipv4any and SRC_IPV6 in ACL_RULE. Passed
------------------- Test 5: Configure l4_src_port_range as 99999-99999 in ACL_RULE---------------------
libyang[0]: Value "99999-99999" does not satisfy the constraint "([0-9]{1,4}|[0-5][0-9]{4}|[6][0-4][0-9]{3}|[6][5][0-2][0-9]{2}|[6][5][3][0-5]{2}|[6][5][3][6][0-5])-([0-9]{1,4}|[0-5][0-9]{4}|[6][0-4][0-9]{3}|[6][5][0-2][0-9]{2}|[6][5][3][0-5]{2}|[6][5][3][6][0-5])" (range, length, or pattern). (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V6'][RULE_NAME='Rule_20']/L4_SRC_PORT_RANGE)
INFO:YANG-TEST:Configure l4_src_port_range as 99999-99999 in ACL_RULE Passed
INFO:YANG-TEST:
------------------- Test 6: Configure empty string as ip-prefix in INTERFACE table.---------------------
libyang[0]: Invalid value "" in "ip-prefix" element. (path: /sonic-interface:sonic-interface/INTERFACE/INTERFACE_LIST[interface='Ethernet8'][ip-prefix='']/ip-prefix)
INFO:YANG-TEST:Configure empty string as ip-prefix in INTERFACE table. Passed
INFO:YANG-TEST:
------------------- Test 7: Configure Wrong family with ip-prefix for VLAN_Interface Table---------------------
libyang[0]: Must condition "(contains(../ip-prefix, ':') and current()='IPv6') or (contains(../ip-prefix, '.') and current()='IPv4')" not satisfied. (path: /sonic-vlan:sonic-vlan/VLAN_INTERFACE/VLAN_INTERFACE_LIST[vlanid='100'][ip-prefix='2a04:5555:66:7777::1/64']/family)
INFO:YANG-TEST:Configure Wrong family with ip-prefix for VLAN_Interface Table Passed
INFO:YANG-TEST:
------------------- Test 8: Configure IP_TYPE as ARP and DST_IPV6 in ACL_RULE.---------------------
libyang[0]: When condition "boolean(IP_TYPE[.='ANY' or .='IP' or .='IPV6' or .='IPV6ANY'])" not satisfied. (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NS
W-PACL-V6'][RULE_NAME='Rule_20']/DST_IPV6)
INFO:YANG-TEST:Configure IP_TYPE as ARP and DST_IPV6 in ACL_RULE. Passed
INFO:YANG-TEST:
------------------- Test 9: Configure INNER_ETHER_TYPE as 0x080C in ACL_RULE.---------------------
libyang[0]: Value "0x080C" does not satisfy the constraint "(0x88CC|0x8100|0x8915|0x0806|0x0800|0x86DD|0x8847)" (range, length, or pattern). (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V4'][RULE_NAME='Rule_40']/INNER_ETHER_TYPE)
INFO:YANG-TEST:Configure INNER_ETHER_TYPE as 0x080C in ACL_RULE. Passed
INFO:YANG-TEST:
------------------- Test 10: Add dhcp_server which is not in correct ip-prefix format.---------------------
libyang[0]: Invalid value "10.186.72.566" in "dhcp_servers" element. (path: /sonic-vlan:sonic-vlan/VLAN/VLAN_LIST/dhcp_servers[.='10.186.72.566'])
INFO:YANG-TEST:Add dhcp_server which is not in correct ip-prefix format. Passed
INFO:YANG-TEST:
------------------- Test 11: Configure undefined acl_table_type in ACL_TABLE table.---------------------
libyang[0]: Invalid value "LAYER3V4" in "type" element. (path: /sonic-acl:sonic-acl/ACL_TABLE/ACL_TABLE_LIST[ACL_TABLE_NAME='NO-NSW-PACL-V6']/type)
INFO:YANG-TEST:Configure undefined acl_table_type in ACL_TABLE table. Passed
INFO:YANG-TEST:
------------------- Test 12: Configure undefined packet_action in ACL_RULE table.---------------------
libyang[0]: Invalid value "SEND" in "PACKET_ACTION" element. (path: /sonic-acl:sonic-acl/ACL_RULE/ACL_RULE_LIST/PACKET_ACTION)
INFO:YANG-TEST:Configure undefined packet_action in ACL_RULE table. Passed
INFO:YANG-TEST:
------------------- Test 13: Configure wrong value for tagging_mode.---------------------
libyang[0]: Invalid value "non-tagged" in "tagging_mode" element. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST/tagging_mode)
INFO:YANG-TEST:Configure wrong value for tagging_mode. Passed
INFO:YANG-TEST:
------------------- Test 14: Configure vlan-id in VLAN_MEMBER table which does not exist in VLAN table.---------------------
libyang[0]: Leafref "../../../VLAN/VLAN_LIST/vlanid" of value "200" points to a non-existing leaf. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[vlanid='200'][port='Ethernet0']/vlanid)
libyang[0]: Leafref "../../../VLAN/VLAN_LIST/vlanid" of value "200" points to a non-existing leaf. (path: /sonic-vlan:sonic-vlan/VLAN_MEMBER/VLAN_MEMBER_LIST[vlanid='200'][port='Ethernet0']/vlanid)
INFO:YANG-TEST:Configure vlan-id in VLAN_MEMBER table which does not exist in VLAN table. Passed
INFO:YANG-TEST:All Test Passed
../../target/debs/stretch/libyang0.16_0.16.105-1_amd64.deb installtion failed
../../target/debs/stretch/libyang-cpp0.16_0.16.105-1_amd64.deb installtion failed
../../target/debs/stretch/python2-yang_0.16.105-1_amd64.deb installtion failed
YANG Tests passed
Passed: pyang -f tree ./yang-models/*.yang > ./yang-models/sonic_yang_tree
copying tests/yangModelTesting.py -> build/lib/tests
copying tests/test_sonic_yang_models.py -> build/lib/tests
copying tests/__init__.py -> build/lib/tests
running egg_info
writing top-level names to sonic_yang_models.egg-info/top_level.txt
writing dependency_links to sonic_yang_models.egg-info/dependency_links.txt
writing sonic_yang_models.egg-info/PKG-INFO
reading manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
writing manifest file 'sonic_yang_models.egg-info/SOURCES.txt'
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/tests
copying build/lib/tests/yangModelTesting.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib/tests/test_sonic_yang_models.py -> build/bdist.linux-x86_64/wheel/tests
copying build/lib/tests/__init__.py -> build/bdist.linux-x86_64/wheel/tests
running install_data
creating build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data
creating build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data
creating build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-head.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-acl.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-interface.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-loopback-interface.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-port.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-portchannel.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
copying ./yang-models/sonic-vlan.yang -> build/bdist.linux-x86_64/wheel/sonic_yang_models-1.0.data/data/yang-models
```
2020-04-14 17:36:02 -05:00
|
|
|
|
|
SONiC Management Framework Release 1.0 (#3488)
* Added sonic-mgmt-framework as submodule / docker
* fix build issues
* update sonic-mgmt-framework submodule branch to master
* Merged changes 70007e6d2ba3a4c0b371cd693ccc63e0a8906e77..00d4fcfed6a759e40d7b92120ea0ee1f08300fc6
00d4fcfed6a759e40d7b92120ea0ee1f08300fc6 Modified environemnt variables
* Changes to build sonic-mgmt-framework docker
* bumped up sonic-mgmt-framework commit-id
* version bump for sonic-mgmt-framework commit-it
* bumped up sonic-mgmt-framework commit-id
* Add python packages to docker
* Build fix for docker with python packages
* added libyang as dependent package
* Allow building images on NFS-mounted clones
Prior to this change, `build_debian.sh` would generate a Debian
filesystem in `./fsroot`. This needs root permissions, and one of the
tests that is performed is whether the user can create a character
special file in the filesystem (using mknod).
On most NFS deployments, `root` is the least privileged user, and cannot
run mknod. Also, attempting to run commands like rm or mv as root would
fail due to permission errors, since the root user gets mapped to an
unprivileged user like `nobody`.
This commit changes the location of the Debian filesystem to `/fsroot`,
which is a tmpfs mount within the slave Docker. The default squashfs,
docker tarball and zip files are also created within /tmp, before being
copied back to /sonic as the regular user.
The side effect of this change is that the contents of `/fsroot` are no
longer available once the slave container exits, however they are
available within the squashfs image.
Signed-off-by: Nirenjan Krishnan <Nirenjan.Krishnan@dell.com>
* bumped up sonc-mgmt-framework commit to include PR #18
* REST Server startup script is enahnced to read the settings from
ConfigDB. Below table provides mapping of db field to command line
argument name.
============================================================
ConfigDB entry key Field name REST Server argument
============================================================
REST_SERVER|default port -port
REST_SERVER|default client_auth -client_auth
REST_SERVER|default log_level -v
DEVICE_METADATA|x509 server_crt -cert
DEVICE_METADATA|x509 server_key -key
DEVICE_METADATA|x509 ca_crt -cacert
============================================================
* Replace src/telemetry as submodule to sonic-telemetry
* Update telemetry commit HEAD
* Update sonic-telemetry commit HEAD
* libyang env path update
* Add libyang dependency to telemetry
* Add scripts to create JSON files for CLI backend
Scripts to create /var/platform/syseeprom and /var/platform/system, which are back-end
files for CLI, for system EEPROM and system information.
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* In startup script, create directory where CLI back-end files live
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* build dependency pkgs added to docker for build failure fix
* Changes to fix build issue for mgmt framework
* Fix exec path issue with telemetry
* s5232[device] PSU detecttion and default led state support
* Processing of first boot in rc.local should not have premature exit
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* docker mount options added for platform, system features
* bumped up sonic-mgmt-framework commit id to pick 23rd July 2019 changes
* Added mount options for telemetry docker to get access for system and platform info.
* Update commit for sonic-utilities
* [dell]: Corrected dport map and renamed config files for S5232F
* Fix telemetry submodule commit
* added support for sonic-cli console
* [Dell S5232F, Z9264F] Harden FPGA driver kernel module
For Dell S5232F and Z9264F platforms, be more strict when checking state
in ISR of FPGA driver, to harden against spurious interrupts.
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* update mgmt-framework submodule to 27th Aug commit.
* remove changes not related to mgmt-framework and sonic-telemetry
* Revert "Replace src/telemetry as submodule to sonic-telemetry"
This reverts commit 11c31929759a17122782d4944066a6ac8453b78d.
* Revert "Replace src/telemetry as submodule to sonic-telemetry"
This reverts commit 11c31929759a17122782d4944066a6ac8453b78d.
* make submodule changes and remove a change not related to PR
* more changes
* Update .gitmodules
* Update Dockerfile.j2
* Update .gitmodules
* Update .gitmodules
* Update .gitmodules
reverting experimental change
* Removed syspoll for release_1.0
Signed-off-by: Jeff Yin <29264773+jeff-yin@users.noreply.github.com>
* Update docker-sonic-mgmt-framework.mk
* Update sonic-mgmt-framework.mk
* Update sonic-mgmt-framework.mk
* Update docker-sonic-mgmt-framework.mk
* Update docker-sonic-mgmt-framework.mk
* Revert "Processing of first boot in rc.local should not have premature exit"
This reverts commit e99a91ffc28a0fd13f4ad458719d2511c3665431.
* Remove old telemetry directory
* Update docker-sonic-mgmt-framework.mk
* Resolving merge conflict with Azure
* Reverting the wrong merge
* Use CVL_SCHEMA_PATH instead of changing directory for telemetry startup
* Add missing export
* Add python mmh3 to slave dockerfile
* Remove sonic-mgmt-framework build dep for telemetry, fix dialout startup issues
* Provided flag to disable compiling mgmt-framework
* Update sonic-utilites point latest commit id
* Point sonic-utilities to Azure accepted SHA
* Updating mgmt framework to right sha
* Add sonic-telemetry submodule
* Update the mgmt-framework commit id
Co-authored-by: jghalam <joe.ghalam@gmail.com>
Co-authored-by: Partha Dutta <51353699+dutta-partha@users.noreply.github.com>
Co-authored-by: srideepDell <srideep_devireddy@dell.com>
Co-authored-by: nirenjan <nirenjan@users.noreply.github.com>
Co-authored-by: Sachin Holla <51310506+sachinholla@users.noreply.github.com>
Co-authored-by: Eric Seifert <seiferteric@gmail.com>
Co-authored-by: Howard Persh <hpersh@yahoo.com>
Co-authored-by: Jeff Yin <29264773+jeff-yin@users.noreply.github.com>
Co-authored-by: Arunsundar Kannan <31632515+arunsundark@users.noreply.github.com>
Co-authored-by: rvasanthm <51932293+rvasanthm@users.noreply.github.com>
Co-authored-by: Ashok Daparthi-Dell <Ashok_Daparthi@Dell.com>
Co-authored-by: anand-kumar-subramanian <51383315+anand-kumar-subramanian@users.noreply.github.com>
2019-12-23 23:47:16 -06:00
|
|
|
|
# For mgmt-framework build
|
2023-03-30 10:10:34 -05:00
|
|
|
|
RUN pip2 install mmh3==2.5.1
|
SONiC Management Framework Release 1.0 (#3488)
* Added sonic-mgmt-framework as submodule / docker
* fix build issues
* update sonic-mgmt-framework submodule branch to master
* Merged changes 70007e6d2ba3a4c0b371cd693ccc63e0a8906e77..00d4fcfed6a759e40d7b92120ea0ee1f08300fc6
00d4fcfed6a759e40d7b92120ea0ee1f08300fc6 Modified environemnt variables
* Changes to build sonic-mgmt-framework docker
* bumped up sonic-mgmt-framework commit-id
* version bump for sonic-mgmt-framework commit-it
* bumped up sonic-mgmt-framework commit-id
* Add python packages to docker
* Build fix for docker with python packages
* added libyang as dependent package
* Allow building images on NFS-mounted clones
Prior to this change, `build_debian.sh` would generate a Debian
filesystem in `./fsroot`. This needs root permissions, and one of the
tests that is performed is whether the user can create a character
special file in the filesystem (using mknod).
On most NFS deployments, `root` is the least privileged user, and cannot
run mknod. Also, attempting to run commands like rm or mv as root would
fail due to permission errors, since the root user gets mapped to an
unprivileged user like `nobody`.
This commit changes the location of the Debian filesystem to `/fsroot`,
which is a tmpfs mount within the slave Docker. The default squashfs,
docker tarball and zip files are also created within /tmp, before being
copied back to /sonic as the regular user.
The side effect of this change is that the contents of `/fsroot` are no
longer available once the slave container exits, however they are
available within the squashfs image.
Signed-off-by: Nirenjan Krishnan <Nirenjan.Krishnan@dell.com>
* bumped up sonc-mgmt-framework commit to include PR #18
* REST Server startup script is enahnced to read the settings from
ConfigDB. Below table provides mapping of db field to command line
argument name.
============================================================
ConfigDB entry key Field name REST Server argument
============================================================
REST_SERVER|default port -port
REST_SERVER|default client_auth -client_auth
REST_SERVER|default log_level -v
DEVICE_METADATA|x509 server_crt -cert
DEVICE_METADATA|x509 server_key -key
DEVICE_METADATA|x509 ca_crt -cacert
============================================================
* Replace src/telemetry as submodule to sonic-telemetry
* Update telemetry commit HEAD
* Update sonic-telemetry commit HEAD
* libyang env path update
* Add libyang dependency to telemetry
* Add scripts to create JSON files for CLI backend
Scripts to create /var/platform/syseeprom and /var/platform/system, which are back-end
files for CLI, for system EEPROM and system information.
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* In startup script, create directory where CLI back-end files live
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* build dependency pkgs added to docker for build failure fix
* Changes to fix build issue for mgmt framework
* Fix exec path issue with telemetry
* s5232[device] PSU detecttion and default led state support
* Processing of first boot in rc.local should not have premature exit
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* docker mount options added for platform, system features
* bumped up sonic-mgmt-framework commit id to pick 23rd July 2019 changes
* Added mount options for telemetry docker to get access for system and platform info.
* Update commit for sonic-utilities
* [dell]: Corrected dport map and renamed config files for S5232F
* Fix telemetry submodule commit
* added support for sonic-cli console
* [Dell S5232F, Z9264F] Harden FPGA driver kernel module
For Dell S5232F and Z9264F platforms, be more strict when checking state
in ISR of FPGA driver, to harden against spurious interrupts.
Signed-off-by: Howard Persh <Howard_Persh@dell.com>
* update mgmt-framework submodule to 27th Aug commit.
* remove changes not related to mgmt-framework and sonic-telemetry
* Revert "Replace src/telemetry as submodule to sonic-telemetry"
This reverts commit 11c31929759a17122782d4944066a6ac8453b78d.
* Revert "Replace src/telemetry as submodule to sonic-telemetry"
This reverts commit 11c31929759a17122782d4944066a6ac8453b78d.
* make submodule changes and remove a change not related to PR
* more changes
* Update .gitmodules
* Update Dockerfile.j2
* Update .gitmodules
* Update .gitmodules
* Update .gitmodules
reverting experimental change
* Removed syspoll for release_1.0
Signed-off-by: Jeff Yin <29264773+jeff-yin@users.noreply.github.com>
* Update docker-sonic-mgmt-framework.mk
* Update sonic-mgmt-framework.mk
* Update sonic-mgmt-framework.mk
* Update docker-sonic-mgmt-framework.mk
* Update docker-sonic-mgmt-framework.mk
* Revert "Processing of first boot in rc.local should not have premature exit"
This reverts commit e99a91ffc28a0fd13f4ad458719d2511c3665431.
* Remove old telemetry directory
* Update docker-sonic-mgmt-framework.mk
* Resolving merge conflict with Azure
* Reverting the wrong merge
* Use CVL_SCHEMA_PATH instead of changing directory for telemetry startup
* Add missing export
* Add python mmh3 to slave dockerfile
* Remove sonic-mgmt-framework build dep for telemetry, fix dialout startup issues
* Provided flag to disable compiling mgmt-framework
* Update sonic-utilites point latest commit id
* Point sonic-utilities to Azure accepted SHA
* Updating mgmt framework to right sha
* Add sonic-telemetry submodule
* Update the mgmt-framework commit id
Co-authored-by: jghalam <joe.ghalam@gmail.com>
Co-authored-by: Partha Dutta <51353699+dutta-partha@users.noreply.github.com>
Co-authored-by: srideepDell <srideep_devireddy@dell.com>
Co-authored-by: nirenjan <nirenjan@users.noreply.github.com>
Co-authored-by: Sachin Holla <51310506+sachinholla@users.noreply.github.com>
Co-authored-by: Eric Seifert <seiferteric@gmail.com>
Co-authored-by: Howard Persh <hpersh@yahoo.com>
Co-authored-by: Jeff Yin <29264773+jeff-yin@users.noreply.github.com>
Co-authored-by: Arunsundar Kannan <31632515+arunsundark@users.noreply.github.com>
Co-authored-by: rvasanthm <51932293+rvasanthm@users.noreply.github.com>
Co-authored-by: Ashok Daparthi-Dell <Ashok_Daparthi@Dell.com>
Co-authored-by: anand-kumar-subramanian <51383315+anand-kumar-subramanian@users.noreply.github.com>
2019-12-23 23:47:16 -06:00
|
|
|
|
|
2019-07-26 00:06:41 -05:00
|
|
|
|
# Install dependencies for isc-dhcp-relay build
|
|
|
|
|
RUN apt-get -y build-dep isc-dhcp
|
|
|
|
|
|
|
|
|
|
# Install vim
|
|
|
|
|
RUN apt-get install -y vim
|
|
|
|
|
|
|
|
|
|
# Install rsyslog
|
|
|
|
|
RUN apt-get install -y rsyslog
|
|
|
|
|
|
2020-03-27 12:49:08 -05:00
|
|
|
|
RUN apt-get install -y libgtest-dev
|
|
|
|
|
RUN apt-get install -y libarchive13 librhash0
|
|
|
|
|
RUN apt-get -t stretch-backports install -y libuv1
|
|
|
|
|
# Install cmake/cmake-data 3.13.2-1_bpo9+1
|
|
|
|
|
# latest cmake 3.16.3 break the build libyang 1.0.73
|
2024-02-27 19:45:49 -06:00
|
|
|
|
RUN wget -O cmake-data_3.13.2-1_bpo9+1_all.deb "https://sonicstorage.blob.core.windows.net/public/cmake/cmake-data_3.13.2-1_bpo9%2B1_all.deb"
|
2020-03-27 12:49:08 -05:00
|
|
|
|
RUN dpkg -i cmake-data_3.13.2-1_bpo9+1_all.deb || apt-get install -f
|
|
|
|
|
{% if CONFIGURED_ARCH == "armhf" %}
|
2024-02-27 19:45:49 -06:00
|
|
|
|
RUN wget -O cmake_3.13.2-1_bpo9+1_armhf.deb "https://sonicstorage.blob.core.windows.net/public/cmake/cmake_3.13.2-1_bpo9%2B1_armhf.deb"
|
2020-03-27 12:49:08 -05:00
|
|
|
|
RUN dpkg -i cmake_3.13.2-1_bpo9+1_armhf.deb || apt-get install -f
|
|
|
|
|
{% elif CONFIGURED_ARCH == "arm64" %}
|
2024-02-27 19:45:49 -06:00
|
|
|
|
RUN wget -O cmake_3.13.2-1_bpo9+1_arm64.deb "https://sonicstorage.blob.core.windows.net/public/cmake/cmake_3.13.2-1_bpo9%2B1_arm64.deb"
|
2020-03-27 12:49:08 -05:00
|
|
|
|
RUN dpkg -i cmake_3.13.2-1_bpo9+1_arm64.deb || apt-get install -f
|
|
|
|
|
{% else %}
|
2024-02-27 19:45:49 -06:00
|
|
|
|
RUN wget -O cmake_3.13.2-1_bpo9+1_amd64.deb "https://sonicstorage.blob.core.windows.net/public/cmake/cmake_3.13.2-1_bpo9%2B1_amd64.deb"
|
2020-03-27 12:49:08 -05:00
|
|
|
|
RUN dpkg -i cmake_3.13.2-1_bpo9+1_amd64.deb || apt-get install -f
|
|
|
|
|
{% endif %}
|
2019-07-26 00:06:41 -05:00
|
|
|
|
RUN cd /usr/src/gtest && cmake . && make -C /usr/src/gtest
|
|
|
|
|
|
|
|
|
|
RUN mkdir /var/run/sshd
|
|
|
|
|
EXPOSE 22
|
|
|
|
|
|
|
|
|
|
# Install depot-tools (for git-retry)
|
|
|
|
|
RUN git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git /usr/share/depot_tools
|
|
|
|
|
ENV PATH /usr/share/depot_tools:$PATH
|
|
|
|
|
|
|
|
|
|
# Install docker engine 17.03.2~ce-0 inside docker and enable experimental feature
|
|
|
|
|
RUN apt-get update
|
|
|
|
|
RUN apt-get install -y \
|
|
|
|
|
apt-transport-https \
|
|
|
|
|
ca-certificates \
|
|
|
|
|
curl \
|
|
|
|
|
gnupg2 \
|
|
|
|
|
software-properties-common
|
|
|
|
|
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
|
|
|
|
RUN add-apt-repository \
|
|
|
|
|
"deb [arch={{ CONFIGURED_ARCH }}] https://download.docker.com/linux/debian \
|
|
|
|
|
$(lsb_release -cs) \
|
|
|
|
|
stable"
|
|
|
|
|
RUN apt-get update
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- if CONFIGURED_ARCH == "amd64" %}
|
2020-05-19 00:18:50 -05:00
|
|
|
|
RUN apt-get install -y docker-ce=5:18.09.5~3-0~debian-stretch docker-ce-cli=5:18.09.5~3-0~debian-stretch
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- else %}
|
2020-05-21 07:09:06 -05:00
|
|
|
|
RUN apt-get install -y docker-ce=18.06.3~ce~3-0~debian
|
2019-07-26 15:13:33 -05:00
|
|
|
|
{%- endif %}
|
2021-06-08 10:24:35 -05:00
|
|
|
|
RUN echo "DOCKER_OPTS=\"--experimental --storage-driver=vfs {{ DOCKER_EXTRA_OPTS }}\"" >> /etc/default/docker
|
2020-06-09 02:25:17 -05:00
|
|
|
|
|
2020-12-08 18:25:54 -06:00
|
|
|
|
# Install m2crypto package, needed by SWI tools
|
|
|
|
|
RUN pip install m2crypto==0.36.0
|
|
|
|
|
|
2020-06-09 02:25:17 -05:00
|
|
|
|
# Install swi tools
|
2020-10-26 15:48:50 -05:00
|
|
|
|
RUN pip2 install git+https://github.com/aristanetworks/swi-tools.git@d51761ec0bb93c73039233f3c01ed48235ffad00
|
2020-12-28 21:43:53 -06:00
|
|
|
|
|
|
|
|
|
{% if CONFIGURED_ARCH != "amd64" -%}
|
|
|
|
|
# Install node.js for azure pipeline
|
|
|
|
|
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
|
|
|
|
|
RUN apt-get install -y nodejs
|
|
|
|
|
|
|
|
|
|
# Tell azure pipeline to use node.js in the docker
|
|
|
|
|
LABEL "com.azure.dev.pipelines.agent.handler.node.path"="/usr/bin/node"
|
|
|
|
|
{% endif -%}
|
2021-12-07 13:11:25 -06:00
|
|
|
|
|
|
|
|
|
# Install Bazel build system (amd64 and arm64 architectures are supported using this method)
|
|
|
|
|
# TODO(PINS): Remove once pre-build Bazel binaries are available for armhf (armv7l)
|
|
|
|
|
{%- if CONFIGURED_ARCH == "amd64" or CONFIGURED_ARCH == "arm64" %}
|
|
|
|
|
ARG bazelisk_url=https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-{{ CONFIGURED_ARCH }}
|
|
|
|
|
RUN curl -fsSL -o /usr/local/bin/bazel ${bazelisk_url} && chmod 755 /usr/local/bin/bazel
|
|
|
|
|
{% endif -%}
|