diff --git a/Makefile.work b/Makefile.work index adc40f381613..0a578c3e8672 100644 --- a/Makefile.work +++ b/Makefile.work @@ -180,6 +180,7 @@ $(shell \ SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \ TRUSTED_GPG_URLS=$(TRUSTED_GPG_URLS) \ PACKAGE_URL_PREFIX=$(PACKAGE_URL_PREFIX) \ + MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \ scripts/generate_buildinfo_config.sh) # Generate the slave Dockerfile, and prepare build info for it @@ -501,6 +502,7 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \ SONIC_SLAVE_DOCKER_DRIVER=$(SONIC_SLAVE_DOCKER_DRIVER) \ MIRROR_URLS=$(MIRROR_URLS) \ MIRROR_SECURITY_URLS=$(MIRROR_SECURITY_URLS) \ + MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \ $(SONIC_OVERRIDE_BUILD_VARS) .PHONY: sonic-slave-build sonic-slave-bash init reset diff --git a/dockers/docker-base-bullseye/Dockerfile.j2 b/dockers/docker-base-bullseye/Dockerfile.j2 index 6f124b7cdb48..bbf86034687b 100644 --- a/dockers/docker-base-bullseye/Dockerfile.j2 +++ b/dockers/docker-base-bullseye/Dockerfile.j2 @@ -81,7 +81,7 @@ RUN pip3 install supervisor==4.2.1 # Add support for supervisord to handle startup dependencies RUN pip3 install supervisord-dependent-startup==1.4.0 -RUN mkdir -p /etc/supervisor /var/log/supervisor +RUN mkdir -p /var/log/supervisor /etc/supervisor/conf.d RUN apt-get -y purge \ exim4 \ @@ -104,10 +104,10 @@ RUN apt-get clean -y && \ apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/* /tmp/* ~/.cache -COPY ["etc/rsyslog.conf", "/etc/rsyslog.conf"] COPY ["etc/rsyslog.d/*", "/etc/rsyslog.d/"] COPY ["root/.vimrc", "/root/.vimrc"] RUN ln /usr/bin/vim.tiny /usr/bin/vim COPY ["etc/supervisor/supervisord.conf", "/etc/supervisor/"] +COPY ["etc/supervisor/containercfgd.conf", "/etc/supervisor/conf.d/"] diff --git a/dockers/docker-base-bullseye/etc/supervisor/containercfgd.conf b/dockers/docker-base-bullseye/etc/supervisor/containercfgd.conf new file mode 100644 index 000000000000..704b5490c3fb --- /dev/null +++ b/dockers/docker-base-bullseye/etc/supervisor/containercfgd.conf @@ -0,0 +1,9 @@ +[program:containercfgd] +command=python3 /usr/local/bin/containercfgd +priority=99 +autostart=false +autorestart=unexpected +stdout_logfile=syslog +stderr_logfile=syslog +dependent_startup=true +dependent_startup_wait_for=rsyslogd:running diff --git a/dockers/docker-base-buster/Dockerfile.j2 b/dockers/docker-base-buster/Dockerfile.j2 index 6977b44d3412..3b76ef691718 100644 --- a/dockers/docker-base-buster/Dockerfile.j2 +++ b/dockers/docker-base-buster/Dockerfile.j2 @@ -94,7 +94,7 @@ RUN pip3 install supervisor==4.2.1 # Add support for supervisord to handle startup dependencies RUN pip3 install supervisord-dependent-startup==1.4.0 -RUN mkdir -p /etc/supervisor /var/log/supervisor +RUN mkdir -p /var/log/supervisor /etc/supervisor/conf.d RUN apt-get -y purge \ exim4 \ @@ -117,10 +117,10 @@ RUN apt-get clean -y && \ apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/* /tmp/* ~/.cache/ -COPY ["etc/rsyslog.conf", "/etc/rsyslog.conf"] COPY ["etc/rsyslog.d/*", "/etc/rsyslog.d/"] COPY ["root/.vimrc", "/root/.vimrc"] RUN ln /usr/bin/vim.tiny /usr/bin/vim COPY ["etc/supervisor/supervisord.conf", "/etc/supervisor/"] +COPY ["etc/supervisor/containercfgd.conf", "/etc/supervisor/conf.d/"] diff --git a/dockers/docker-base-buster/etc/supervisor/containercfgd.conf b/dockers/docker-base-buster/etc/supervisor/containercfgd.conf new file mode 100644 index 000000000000..704b5490c3fb --- /dev/null +++ b/dockers/docker-base-buster/etc/supervisor/containercfgd.conf @@ -0,0 +1,9 @@ +[program:containercfgd] +command=python3 /usr/local/bin/containercfgd +priority=99 +autostart=false +autorestart=unexpected +stdout_logfile=syslog +stderr_logfile=syslog +dependent_startup=true +dependent_startup_wait_for=rsyslogd:running diff --git a/dockers/docker-base-stretch/Dockerfile.j2 b/dockers/docker-base-stretch/Dockerfile.j2 index 9e11c4ea35f0..5db96e37ba0b 100644 --- a/dockers/docker-base-stretch/Dockerfile.j2 +++ b/dockers/docker-base-stretch/Dockerfile.j2 @@ -90,7 +90,7 @@ RUN pip install supervisor>=3.4.0 # Add support for supervisord to handle startup dependencies RUN pip install supervisord-dependent-startup==1.4.0 -RUN mkdir -p /etc/supervisor /var/log/supervisor +RUN mkdir -p /var/log/supervisor /etc/supervisor/conf.d RUN apt-get -y purge \ exim4 \ @@ -113,10 +113,10 @@ RUN apt-get clean -y && \ apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/* /tmp/* -COPY ["etc/rsyslog.conf", "/etc/rsyslog.conf"] COPY ["etc/rsyslog.d/*", "/etc/rsyslog.d/"] COPY ["root/.vimrc", "/root/.vimrc"] RUN ln /usr/bin/vim.tiny /usr/bin/vim COPY ["etc/supervisor/supervisord.conf", "/etc/supervisor/"] +COPY ["etc/supervisor/containercfgd.conf", "/etc/supervisor/conf.d/"] diff --git a/dockers/docker-base-stretch/etc/supervisor/containercfgd.conf b/dockers/docker-base-stretch/etc/supervisor/containercfgd.conf new file mode 100644 index 000000000000..8d938e6f0ff3 --- /dev/null +++ b/dockers/docker-base-stretch/etc/supervisor/containercfgd.conf @@ -0,0 +1,9 @@ +[program:containercfgd] +command=python /usr/local/bin/containercfgd +priority=99 +autostart=false +autorestart=unexpected +stdout_logfile=syslog +stderr_logfile=syslog +dependent_startup=true +dependent_startup_wait_for=rsyslogd:running diff --git a/dockers/docker-base/Dockerfile.j2 b/dockers/docker-base/Dockerfile.j2 index 15df3fe8a754..cd839e6075e0 100644 --- a/dockers/docker-base/Dockerfile.j2 +++ b/dockers/docker-base/Dockerfile.j2 @@ -49,7 +49,6 @@ RUN apt-get -y install \ rsyslog \ less -COPY ["etc/rsyslog.conf", "/etc/rsyslog.conf"] COPY ["etc/rsyslog.d/*", "/etc/rsyslog.d/"] COPY ["root/.vimrc", "/root/.vimrc"] @@ -64,10 +63,11 @@ RUN pip install wheel # Install supervisor RUN pip install supervisor>=3.4.0 -RUN mkdir -p /etc/supervisor +RUN mkdir -p /etc/supervisor/conf.d RUN mkdir -p /var/log/supervisor COPY ["etc/supervisor/supervisord.conf", "/etc/supervisor/"] +COPY ["etc/supervisor/containercfgd.conf", "/etc/supervisor/conf.d/"] RUN apt-get -y purge \ exim4 \ diff --git a/dockers/docker-base/etc/supervisor/containercfgd.conf b/dockers/docker-base/etc/supervisor/containercfgd.conf new file mode 100644 index 000000000000..8d938e6f0ff3 --- /dev/null +++ b/dockers/docker-base/etc/supervisor/containercfgd.conf @@ -0,0 +1,9 @@ +[program:containercfgd] +command=python /usr/local/bin/containercfgd +priority=99 +autostart=false +autorestart=unexpected +stdout_logfile=syslog +stderr_logfile=syslog +dependent_startup=true +dependent_startup_wait_for=rsyslogd:running diff --git a/dockers/docker-database/supervisord.conf.j2 b/dockers/docker-database/supervisord.conf.j2 index b063016eb68a..c73c6e783e81 100644 --- a/dockers/docker-database/supervisord.conf.j2 +++ b/dockers/docker-database/supervisord.conf.j2 @@ -3,6 +3,15 @@ logfile_maxbytes=1MB logfile_backups=2 nodaemon=true +[eventlistener:dependent-startup] +command=python3 -m supervisord_dependent_startup +autostart=true +autorestart=unexpected +startretries=0 +exitcodes=0,3 +events=PROCESS_STATE +buffer_size=1024 + [eventlistener:supervisor-proc-exit-listener] command=/usr/bin/supervisor-proc-exit-listener --container-name database events=PROCESS_STATE_EXITED,PROCESS_STATE_RUNNING @@ -13,14 +22,15 @@ buffer_size=1024 [program:rsyslogd] command=/usr/sbin/rsyslogd -n -iNONE priority=1 -autostart=true +autostart=false autorestart=false stdout_logfile=syslog stderr_logfile=syslog +dependent_startup=true {% if INSTANCES %} {% for redis_inst, redis_items in INSTANCES.items() %} -[program: {{ redis_inst }}] +[program:{{ redis_inst }}] {% if redis_items['hostname'] != '127.0.0.1' and redis_inst != 'redis_chassis' %} {%- set LOOPBACK_IP = '127.0.0.1' -%} {%- else -%} @@ -28,17 +38,21 @@ stderr_logfile=syslog {%- endif -%} command=/bin/bash -c "{ [[ -s /var/lib/{{ redis_inst }}/dump.rdb ]] || rm -f /var/lib/{{ redis_inst }}/dump.rdb; } && mkdir -p /var/lib/{{ redis_inst }} && exec /usr/bin/redis-server /etc/redis/redis.conf --bind {{ LOOPBACK_IP }} {{ redis_items['hostname'] }} --port {{ redis_items['port'] }} --unixsocket {{ redis_items['unix_socket_path'] }} --pidfile /var/run/redis/{{ redis_inst }}.pid --dir /var/lib/{{ redis_inst }}" priority=2 -autostart=true +autostart=false autorestart=false stdout_logfile=syslog stderr_logfile=syslog +dependent_startup=true +dependent_startup_wait_for=rsyslogd:running {% endfor %} {% endif %} [program:flushdb] command=/bin/bash -c "sleep 300 && /usr/local/bin/flush_unused_database" priority=3 -autostart=true +autostart=false autorestart=false stdout_logfile=syslog stderr_logfile=syslog +dependent_startup=true +dependent_startup_wait_for=rsyslogd:running diff --git a/files/build/versions/build/build-sonic-slave-bullseye/versions-deb-bullseye b/files/build/versions/build/build-sonic-slave-bullseye/versions-deb-bullseye index 2fdeef7145fe..5c6531bd4cfb 100644 --- a/files/build/versions/build/build-sonic-slave-bullseye/versions-deb-bullseye +++ b/files/build/versions/build/build-sonic-slave-bullseye/versions-deb-bullseye @@ -2,7 +2,7 @@ applibs==1.mlnx.4.5.4026 applibs-dev==1.mlnx.4.5.4026 bfnplatform==1.0.0 iproute2-dev==1.mlnx.4.5.4026 -isc-dhcp-relay==4.4.1-2.3 +isc-dhcp-relay==4.4.1-2.3+deb11u1 kernel-mft-dkms==4.21.0-100 libhiredis-dev==0.14.0-3~bpo9+1 libhiredis0.14==0.14.0-3~bpo9+1 diff --git a/files/build/versions/build/build-sonic-slave-bullseye/versions-git b/files/build/versions/build/build-sonic-slave-bullseye/versions-git deleted file mode 100644 index b52f6be417e3..000000000000 --- a/files/build/versions/build/build-sonic-slave-bullseye/versions-git +++ /dev/null @@ -1,14 +0,0 @@ -https://github.com/CESNET/libyang.git==f95b730cc8d8903c68f1b463a0b4d2856ad4943f -https://github.com/daveolson53/audisp-tacplus.git==559c9f22edd4f2dea0ecedffb3ad9502b12a75b6 -https://github.com/daveolson53/libnss-tacplus.git==19008ab68d9d504aa58eb34d5f564755a1613b8b -https://github.com/flashrom/flashrom.git==9a152b8191c5bd3b0a88b29c6b267030da77b770 -https://github.com/FreeRADIUS/freeradius-server.git==38a181e6ea71a38ff90fa3a1c20e2be4098323fb -https://github.com/FreeRADIUS/pam_radius.git==bcafcf535c763ee193ce7803a56cddb929db04cb -https://github.com/jeroennijhof/pam_tacplus.git==4f91b0de2be88d02984bef8fb0f64c213c650ed9 -https://github.com/jpirko/libteam.git==fd26b370d85d63cca0736d7e666736bb15c395aa -https://github.com/thom311/libnl==cbafad9ddf24caef5230fef715d34f0539603be0 -https://salsa.debian.org/debian/libteam.git==48142125234a665ad5367b724af36a58fb484d3d -https://salsa.debian.org/kernel-team/ethtool/==b24474c5f4cad2bb690ced33a3c7df397170a699 -https://salsa.debian.org/kernel-team/initramfs-tools.git==dd16eade69ef76b304a369fac2f6c0de508b855b -https://salsa.debian.org/sk-guest/monit.git==c9da7ebb1f35dfba17b50b5969a6e75e29cbec0d -https://salsa.debian.org/ssh-team/openssh.git==f1b82547e654ea81ab2f0cd40d7d98a3a30a7ef7 \ No newline at end of file diff --git a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3 b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3 index a45d952ce343..fa4ac3493a2e 100644 --- a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3 +++ b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3 @@ -1,11 +1,11 @@ blessed==1.19.1 -charset-normalizer==2.1.1 +charset-normalizer==3.0.1 click-log==0.4.0 colorful==0.5.5 docker==6.0.1 docker-image-py==0.1.12 enlighten==1.11.1 -filelock==3.8.2 +filelock==3.9.0 ijson==2.6.1 ipaddress==1.0.23 jsondiff==2.0.0 @@ -16,7 +16,7 @@ natsort==6.2.1 netaddr==0.8.0 netifaces==0.11.0 pddf-platform==1.0 -prefixed==0.5.0 +prefixed==0.6.0 prettyprinter==0.18.0 psutil==5.9.4 pycairo==1.23.0 @@ -27,7 +27,7 @@ systemd-python==234 tabulate==0.8.2 thrift==0.14.1 toposort==1.6 -wcwidth==0.2.5 +wcwidth==0.2.6 websocket-client==1.4.2 www-authenticate==0.9.2 xmltodict==0.12.0 \ No newline at end of file diff --git a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 index 864bb6dcc539..902508ceb827 100644 --- a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 +++ b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-arm64 @@ -2,5 +2,5 @@ bitarray==1.5.3 click==7.0 lxml==4.9.1 redis==3.5.3 -requests==2.28.1 +requests==2.28.2 zipp==1.2.0 \ No newline at end of file diff --git a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-armhf b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-armhf index 864bb6dcc539..902508ceb827 100644 --- a/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-armhf +++ b/files/build/versions/build/build-sonic-slave-bullseye/versions-py3-all-armhf @@ -2,5 +2,5 @@ bitarray==1.5.3 click==7.0 lxml==4.9.1 redis==3.5.3 -requests==2.28.1 +requests==2.28.2 zipp==1.2.0 \ No newline at end of file diff --git a/files/build/versions/build/build-sonic-slave-bullseye/versions-web b/files/build/versions/build/build-sonic-slave-bullseye/versions-web deleted file mode 100644 index aaa6fc71d1a1..000000000000 --- a/files/build/versions/build/build-sonic-slave-bullseye/versions-web +++ /dev/null @@ -1,65 +0,0 @@ -http://deb.debian.org/debian/pool/main/i/isc-dhcp/isc-dhcp_4.4.1-2.3.debian.tar.xz==72af4f677ebb88970bdcae0f73f2d9e8 -http://deb.debian.org/debian/pool/main/i/isc-dhcp/isc-dhcp_4.4.1-2.3.dsc==ff46d1b27970c3648701be4c20a5128a -http://deb.debian.org/debian/pool/main/i/isc-dhcp/isc-dhcp_4.4.1.orig.tar.gz==dbcba5108f659278200218ac0847ce3f -http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.6.0-7.debian.tar.xz==8eab143a53c71c03695ebc78e4b5ed36 -http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.6.0-7.dsc==983d68fb43001bb2fc94862bc4bc2e2b -http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.6.0.orig.tar.gz==f60e47b5eb50bbeed48a9f43bb08dd5e -http://deb.debian.org/debian/pool/main/n/ntp/ntp_4.2.8p15+dfsg-1.debian.tar.xz==896c9b6679f379d8967b012a0cc792c2 -http://deb.debian.org/debian/pool/main/n/ntp/ntp_4.2.8p15+dfsg.orig.tar.xz==c1c557036197188a22ec285fa53149d8 -http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0-3~bpo9+1.debian.tar.xz==ef340aedc6fd42c549cd503bffb498b2 -http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0-3~bpo9+1.dsc==be4ce11ef67268e59e4b6be587327c40 -http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0.orig.tar.gz==6d565680a4af0d2e261abbc3e3431b2b -https://archive.apache.org/dist/thrift/0.14.1/thrift-0.14.1.tar.gz==c64434548438df2cb1e53fb27c600e85 -https://deb.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.123+deb11u1.dsc==27f74ae171f50bfc1116d3e23dbbab3f -https://deb.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.123+deb11u1.tar.gz==37b56a6cf74721c6496d05d032cd22af -https://deb.debian.org/debian/pool/main/k/kdump-tools/kdump-tools_1.6.8.4.dsc==f96a03bb090ab03d484e5d232161fafe -https://deb.debian.org/debian/pool/main/k/kdump-tools/kdump-tools_1.6.8.4.tar.xz==26bcae7c27b729d614a4a85e2a01cb64 -https://github.com/aristanetworks/sonic-firmware/raw/446f30ccd8626f904d89d5798da7294948e090a6/phy/phy-credo_1.0_amd64.deb==6c3d6c32477615cbe049b9161ce15bd5 -https://github.com/CumulusNetworks/ifupdown2/archive/3.0.0-1.tar.gz==755459b3a58fbc11625336846cea7420 -https://launchpad.net/debian/+archive/primary/+sourcefiles/bash/5.1-2/bash_5.1-2.debian.tar.xz==9d0cbd5f463f461c840c95f62a64d61b -https://launchpad.net/debian/+archive/primary/+sourcefiles/bash/5.1-2/bash_5.1-2.dsc==be44c5a9fc12fb567a486f54b842dd9e -https://launchpad.net/debian/+archive/primary/+sourcefiles/bash/5.1-2/bash_5.1.orig.tar.xz==6ddb13b6111f601db08fc7c72afa0263 -https://sonicstorage.blob.core.windows.net/debian-security/pool/updates/main/l/linux/linux_5.10.140-1.debian.tar.xz==9813a002af43da3a5be05f3d31e85328 -https://sonicstorage.blob.core.windows.net/debian-security/pool/updates/main/l/linux/linux_5.10.140-1.dsc==84ab224b073f97978802d9f998248fcc -https://sonicstorage.blob.core.windows.net/debian-security/pool/updates/main/l/linux/linux_5.10.140.orig.tar.xz==925a4af3dffcc9e2838d223e413d6ebb -https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.4-1.debian.tar.xz==0a529cf8d1717b5c3dbe0c61b3512aa1 -https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.4-1.dsc==b88b922d96688c948e90987fcaa3a2de -https://sonicstorage.blob.core.windows.net/debian/pool/main/l/lldpd/lldpd_1.0.4.orig.tar.gz==33e8d58623f99184e4e709cbbfe45db3 -https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang2_2.0.112-6.debian.tar.xz==aa798a069f506a243d337c18600477e5 -https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang2_2.0.112-6.dsc==da4924086edc4911c6fca21ca46fdb1d -https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang2_2.0.112.orig.tar.gz==4ac414ef27f3c4d14f96c2f49c58c2be -https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.9+dfsg-4+deb11u1.debian.tar.xz==a3e626b1ed5adc26430e1727d81641df -https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.9+dfsg-4+deb11u1.dsc==a36ed553b5034b7400d9e9a8d529b27e -https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.9+dfsg.orig.tar.xz==6c2d346ce3320e8999500497e9bacc99 -https://sonicstorage.blob.core.windows.net/packages/20190307/bcmcmd?sv=2015-04-05&sr=b&sig=sUdbU7oVbh5exbXXHVL5TDFBTWDDBASHeJ8Cp0B0TIc%3D&se=2038-05-06T22%3A34%3A19Z&sp=r==b8aefc751bdf93218716bca6797460ff -https://sonicstorage.blob.core.windows.net/packages/20190307/dsserve?sv=2015-04-05&sr=b&sig=lk7BH3DtW%2F5ehc0Rkqfga%2BUCABI0UzQmDamBsZH9K6w%3D&se=2038-05-06T22%3A34%3A45Z&sp=r==f9d4b815ebb9be9f755dedca8a51170d -https://sonicstorage.blob.core.windows.net/packages/credosai/libsaicredo-owl_0.7.5_amd64.deb?sv=2020-10-02&st=2022-04-14T02%3A23%3A22Z&se=2100-04-15T02%3A23%3A00Z&sr=b&sp=r&sig=58z6E2nPcLIGjqAoxRAo7du%2FzjIBZkFdoXfSzw96Kxc%3D==b02c8664535fc6f9c02a89c5a6930578 -https://sonicstorage.blob.core.windows.net/packages/credosai/libsaicredo_0.7.5_amd64.deb?sv=2020-10-02&st=2022-04-14T02%3A21%3A31Z&se=2100-04-15T02%3A21%3A00Z&sr=b&sp=r&sig=iDv9Fprntpw9iVBFYVjW8iygy4qcSWT8O90nAXdXR0A%3D==e62bdf009e1a81e2ce8a38073305450c -https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.4.1-3.debian.tar.xz?sv=2020-04-08&st=2021-12-14T08%3A00%3A00Z&se=2030-12-14T18%3A18%3A00Z&sr=b&sp=r&sig=C8aYSvaQgMJ58Z13kFY0Wr0J0QF6i7WCeET9%2BpF%2BAxc%3D==e8d1e99b4b9e93f5dde860f6d55f42e3 -https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.4.1-3.dsc?sv=2020-04-08&st=2021-12-14T00%3A00%3A00Z&se=2050-12-15T00%3A00%3A00Z&sr=b&sp=r&sig=fIy6dVz3s59K0TiMkTlwSWN8lCzRl3i76ruAtROhfWA%3D==df3ed0dd965589fd09bf6a2920bc273e -https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.4.1.orig.tar.gz?sv=2020-04-08&st=2021-12-14T00%3A00%3A00Z&se=2050-12-15T00%3A00%3A00Z&sr=b&sp=r&sig=gpihyZv%2Fr0bVrCUKCKwpS4bIoqiPpdd%2BgCfuUGNHOUc%3D==780d14908dc1a6aa2790de376ab56b7a -https://sonicstorage.blob.core.windows.net/packages/debian/thrift_0.11.0-4.debian.tar.xz?sv=2015-04-05&sr=b&sig=dj9uJ5YjUNupcmuxSX6%2F5IS9NqaGAyM9iF2h%2F2rROZA%3D&se=2156-02-02T17%3A19%3A34Z&sp=r==52ad383b97ad051f4d1d25b54aaad569 -https://sonicstorage.blob.core.windows.net/packages/debian/thrift_0.11.0-4.dsc?sv=2015-04-05&sr=b&sig=pWfg55owvQ2jZtZ6ylHp0OP8uZyfc9sxO6H%2BP4Ez7w4%3D&se=2156-02-02T17%3A20%3A05Z&sp=r==6917fe7b3ada9313be94713dd50fee7b -https://sonicstorage.blob.core.windows.net/packages/debian/thrift_0.11.0.orig.tar.gz?sv=2015-04-05&sr=b&sig=%2BrAjWESiSNRCMN7NGqEqVGceLefpwwS%2FWPKEfJpPLSQ%3D&se=2156-02-02T17%3A17%3A20Z&sp=r==0be59730ebce071eceaf6bfdb8d3a20e -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/golang-1.15-doc_1.15.15-1~deb11u4+fips_all.deb==72ead09139135d4ecd91b76c89128567 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/golang-1.15-go_1.15.15-1~deb11u4+fips_amd64.deb==145e103357a915cc759cc93de602b631 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/golang-1.15-src_1.15.15-1~deb11u4+fips_amd64.deb==1c1a46d5599be92777702643c37d5751 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/golang-1.15_1.15.15-1~deb11u4+fips_all.deb==847bc1fc5ce9c8ebae5176947ab34d30 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/libk5crypto3_1.18.3-6+deb11u1+fips_amd64.deb==5e8de29d5f6844f71f15cbf0c3993f1c -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/libpython3.9-minimal_3.9.2-1+fips_amd64.deb==83f017c6d70549925f698c3930e29658 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/libpython3.9-stdlib_3.9.2-1+fips_amd64.deb==fa283106429a20fa05f2cca1f2748a08 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/libpython3.9_3.9.2-1+fips_amd64.deb==c405132eacaf059c7c903f853d48be7e -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/libssl-dev_1.1.1n-0+deb11u3+fips_amd64.deb==69a2d771f47209d084e7a811d308dd25 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/libssl-doc_1.1.1n-0+deb11u3+fips_all.deb==fe47a7d5c2f6c0f1afe43ad78d8cf1ed -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/libssl1.1_1.1.1n-0+deb11u3+fips_amd64.deb==6d0966b26b15317af754c9ac547dce78 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/openssh-client_8.4p1-5+deb11u1+fips_amd64.deb==762f476f77363194e28ec78ff19eb18d -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/openssh-server_8.4p1-5+deb11u1+fips_amd64.deb==da98fb62c04e19a36695e1d050d48003 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/openssh-sftp-server_8.4p1-5+deb11u1+fips_amd64.deb==f481e9a8ae931220db5735dbfb4166de -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/openssl_1.1.1n-0+deb11u3+fips_amd64.deb==d843a0e1167f2a9c44b8d0b7d1004ec5 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/python3.9-minimal_3.9.2-1+fips_amd64.deb==2dbf92d7e51e0d670a99463609cf4021 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/python3.9_3.9.2-1+fips_amd64.deb==30be224443931a2a3428aa270b87384a -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/amd64/symcrypt-openssl_0.4_amd64.deb==333246e63a3c5008d970d0e409d491d2 -https://sonicstorage.blob.core.windows.net/public/sai/bcmpai/REL_3.8/3.8/libsaibroncos_3.8_amd64.deb==f7c3f0ed8c97c2572e3c2e59faaae4a8 -https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm-dev_7.1.111.1_amd64.deb==894abd7658c3832962db4eaea1a40fd1 -https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm_7.1.111.1_amd64.deb==23d3292d27e1c39cee89575f2a91e18c -https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm_dnx_7.1.111.1_amd64.deb==458f404279c3f30ec71de6bad7373323 \ No newline at end of file diff --git a/files/build/versions/build/build-sonic-slave-buster/versions-git b/files/build/versions/build/build-sonic-slave-buster/versions-git deleted file mode 100644 index 3c0f3c729e12..000000000000 --- a/files/build/versions/build/build-sonic-slave-buster/versions-git +++ /dev/null @@ -1,7 +0,0 @@ -https://github.com/CESNET/libyang.git==f95b730cc8d8903c68f1b463a0b4d2856ad4943f -https://github.com/jpirko/libteam.git==fd26b370d85d63cca0736d7e666736bb15c395aa -https://github.com/Mellanox/libpsample.git==62bb27d9a49424e45191eee81df7ce0d8c74e774 -https://github.com/sflow/host-sflow==7cb2b83ef34ed970a7b6028e8b3d4b44ddef8452 -https://github.com/sflow/sflowtool==8c914e79ecb7930adcba2e5296041c3f9eb8e450 -https://github.com/thom311/libnl==cbafad9ddf24caef5230fef715d34f0539603be0 -https://salsa.debian.org/debian/libteam.git==48142125234a665ad5367b724af36a58fb484d3d \ No newline at end of file diff --git a/files/build/versions/build/build-sonic-slave-buster/versions-py2 b/files/build/versions/build/build-sonic-slave-buster/versions-py2 index 2da8bacb13ef..a21fc8345ac2 100644 --- a/files/build/versions/build/build-sonic-slave-buster/versions-py2 +++ b/files/build/versions/build/build-sonic-slave-buster/versions-py2 @@ -1,6 +1,6 @@ bitarray==1.5.3 contextlib2==0.6.0.post1 -future==0.18.2 +future==0.18.3 importlib-resources==3.3.1 natsort==6.2.1 netaddr==0.8.0 diff --git a/files/build/versions/build/build-sonic-slave-buster/versions-py3 b/files/build/versions/build/build-sonic-slave-buster/versions-py3 index 24c130166277..a61e10a72ef0 100644 --- a/files/build/versions/build/build-sonic-slave-buster/versions-py3 +++ b/files/build/versions/build/build-sonic-slave-buster/versions-py3 @@ -1,5 +1,5 @@ blessed==1.19.1 -charset-normalizer==2.1.1 +charset-normalizer==3.0.1 click==7.0 click-log==0.4.0 colorful==0.5.5 @@ -7,17 +7,17 @@ dbus-python==1.3.2 docker==6.0.1 docker-image-py==0.1.12 enlighten==1.11.1 -filelock==3.8.2 +filelock==3.9.0 ijson==2.6.1 ipaddress==1.0.23 jsondiff==2.0.0 jsonpatch==1.32 jsonpointer==2.3 -lazy-object-proxy==1.8.0 +lazy-object-proxy==1.9.0 natsort==6.2.1 netaddr==0.8.0 netifaces==0.11.0 -prefixed==0.5.0 +prefixed==0.6.0 prettyprinter==0.18.0 pycairo==1.23.0 pyroute2==0.5.19 @@ -25,7 +25,7 @@ semantic-version==2.10.0 systemd-python==234 tabulate==0.8.2 toposort==1.6 -wcwidth==0.2.5 +wcwidth==0.2.6 websocket-client==1.4.2 www-authenticate==0.9.2 xmltodict==0.12.0 \ No newline at end of file diff --git a/files/build/versions/build/build-sonic-slave-buster/versions-web b/files/build/versions/build/build-sonic-slave-buster/versions-web deleted file mode 100644 index e02c07d4e1e2..000000000000 --- a/files/build/versions/build/build-sonic-slave-buster/versions-web +++ /dev/null @@ -1,18 +0,0 @@ -http://deb.debian.org/debian/pool/main/i/iptables/iptables_1.8.2-4.debian.tar.xz==c27e499611c48ba307792518d29cdcc7 -http://deb.debian.org/debian/pool/main/i/iptables/iptables_1.8.2-4.dsc==d9572a9f48c88293341681601a7b18c5 -http://deb.debian.org/debian/pool/main/i/iptables/iptables_1.8.2.orig.tar.bz2==944558e88ddcc3b9b0d9550070fa3599 -http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0-3~bpo9+1.debian.tar.xz==ef340aedc6fd42c549cd503bffb498b2 -http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0-3~bpo9+1.dsc==be4ce11ef67268e59e4b6be587327c40 -http://http.debian.net/debian/pool/main/h/hiredis/hiredis_0.14.0.orig.tar.gz==6d565680a4af0d2e261abbc3e3431b2b -https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.5/swagger-codegen-cli-2.4.5.jar==219f1453ff22482d9e080effbfa7fa81 -https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang2_2.0.112-6.debian.tar.xz==aa798a069f506a243d337c18600477e5 -https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang2_2.0.112-6.dsc==da4924086edc4911c6fca21ca46fdb1d -https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang/libyang2_2.0.112.orig.tar.gz==4ac414ef27f3c4d14f96c2f49c58c2be -https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg-5.debian.tar.xz==ad957e90207d0669beb2109e4e325def -https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg-5.dsc==2443e4dffbdb020e7ab4f947a7904912 -https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.7.3+dfsg.orig.tar.xz==6391ae27eb1ae34ff5530712bb1c4209 -https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.4.1-3.debian.tar.xz?sv=2020-04-08&st=2021-12-14T08%3A00%3A00Z&se=2030-12-14T18%3A18%3A00Z&sr=b&sp=r&sig=C8aYSvaQgMJ58Z13kFY0Wr0J0QF6i7WCeET9%2BpF%2BAxc%3D==e8d1e99b4b9e93f5dde860f6d55f42e3 -https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.4.1-3.dsc?sv=2020-04-08&st=2021-12-14T00%3A00%3A00Z&se=2050-12-15T00%3A00%3A00Z&sr=b&sp=r&sig=fIy6dVz3s59K0TiMkTlwSWN8lCzRl3i76ruAtROhfWA%3D==df3ed0dd965589fd09bf6a2920bc273e -https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.4.1.orig.tar.gz?sv=2020-04-08&st=2021-12-14T00%3A00%3A00Z&se=2050-12-15T00%3A00%3A00Z&sr=b&sp=r&sig=gpihyZv%2Fr0bVrCUKCKwpS4bIoqiPpdd%2BgCfuUGNHOUc%3D==780d14908dc1a6aa2790de376ab56b7a -https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm-dev_7.1.111.1_amd64.deb==894abd7658c3832962db4eaea1a40fd1 -https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm_7.1.111.1_amd64.deb==23d3292d27e1c39cee89575f2a91e18c \ No newline at end of file diff --git a/files/build/versions/build/build-sonic-slave-stretch/versions-web b/files/build/versions/build/build-sonic-slave-stretch/versions-web deleted file mode 100644 index 29f50a0cdbf4..000000000000 --- a/files/build/versions/build/build-sonic-slave-stretch/versions-web +++ /dev/null @@ -1,2 +0,0 @@ -https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm-dev_7.1.111.1_amd64.deb==894abd7658c3832962db4eaea1a40fd1 -https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm_7.1.111.1_amd64.deb==23d3292d27e1c39cee89575f2a91e18c \ No newline at end of file diff --git a/files/build/versions/default/versions-docker b/files/build/versions/default/versions-docker index 0ee5672cf82a..f2fda3bdb3ba 100644 --- a/files/build/versions/default/versions-docker +++ b/files/build/versions/default/versions-docker @@ -1,15 +1,15 @@ -amd64:amd64/debian:bullseye==sha256:027b617a00fa483967b045f55459aa12da6f751e6ffbe82ffe9aa007d977027a -amd64:amd64/debian:buster==sha256:09739ccbaff5b5569817c554bad447c68707932f46b2da93cd5a0cdb218f4898 -amd64:debian:bullseye==sha256:c66c0e5dc607baefefda1d9e64a3b3a317e4189c540c8eac0c1a06186fe353a1 -amd64:debian:buster==sha256:a3b7e971fef3e488479afd0a8387b35bed4c55891a1597d64a8fc6494d61d798 +amd64:amd64/debian:bullseye==sha256:640e07a7971e0c13eb14214421cf3d75407e0965b84430e08ec90c336537a2cf +amd64:amd64/debian:buster==sha256:52327d3fedb136db9aa0ef9cabfe60cca6bdea4c3c793695aa2335a169598edb +amd64:debian:bullseye==sha256:534da5794e770279c889daa891f46f5a530b0c5de8bfbc5e40394a0164d9fa87 +amd64:debian:buster==sha256:bb8c62f9f540a5f5f49f7ed5caae0e2889f999cd14553f2aaccaf1fa4fcb998d amd64:debian:stretch==sha256:c5c5200ff1e9c73ffbf188b4a67eb1c91531b644856b4aefe86a58d2f0cb05be -arm64:arm64v8/debian:bullseye==sha256:cd0203336405261730500869e4ea4c4e28b485188b4719531851a103feacdde1 -arm64:arm64v8/debian:buster==sha256:b366e2065a4d63182ab1acb0f5b7267066c181c0206dde64594e951a62e73f96 -arm64:debian:bullseye==sha256:c66c0e5dc607baefefda1d9e64a3b3a317e4189c540c8eac0c1a06186fe353a1 -arm64:debian:buster==sha256:a3b7e971fef3e488479afd0a8387b35bed4c55891a1597d64a8fc6494d61d798 +arm64:arm64v8/debian:bullseye==sha256:8753a14ec6bc1cddae687b2840b36527cf2bf5f58a272ffcb3f8e9a0a4586b8d +arm64:arm64v8/debian:buster==sha256:bafc5cfcb188d1b60a50ee90ba2a0da8e2fad5a4b52b02c549c930cfed772e8e +arm64:debian:bullseye==sha256:534da5794e770279c889daa891f46f5a530b0c5de8bfbc5e40394a0164d9fa87 +arm64:debian:buster==sha256:bb8c62f9f540a5f5f49f7ed5caae0e2889f999cd14553f2aaccaf1fa4fcb998d arm64:debian:stretch==sha256:c5c5200ff1e9c73ffbf188b4a67eb1c91531b644856b4aefe86a58d2f0cb05be -armhf:arm32v7/debian:bullseye==sha256:0525557a9512f00c3ac064b3ae0c0cddc1721aa1614120a8467ae5e829844f24 -armhf:arm32v7/debian:buster==sha256:f6657e72719700232d3efe8750c1bb20fadbc0a2d22c54e631b52f60b752ee3a -armhf:debian:bullseye==sha256:c66c0e5dc607baefefda1d9e64a3b3a317e4189c540c8eac0c1a06186fe353a1 -armhf:debian:buster==sha256:a3b7e971fef3e488479afd0a8387b35bed4c55891a1597d64a8fc6494d61d798 +armhf:arm32v7/debian:bullseye==sha256:c6c25a39d869b0b1c77645aa6dfdb69c4a3531cdb8fd43fdbdba8e945e720b72 +armhf:arm32v7/debian:buster==sha256:304253da7b1da5426472067c2d4384ba6201003054c59652beb64cf3b84c7072 +armhf:debian:bullseye==sha256:534da5794e770279c889daa891f46f5a530b0c5de8bfbc5e40394a0164d9fa87 +armhf:debian:buster==sha256:bb8c62f9f540a5f5f49f7ed5caae0e2889f999cd14553f2aaccaf1fa4fcb998d armhf:debian:stretch==sha256:c5c5200ff1e9c73ffbf188b4a67eb1c91531b644856b4aefe86a58d2f0cb05be \ No newline at end of file diff --git a/files/build/versions/default/versions-git b/files/build/versions/default/versions-git index f66c989a3842..21109994d2dc 100644 --- a/files/build/versions/default/versions-git +++ b/files/build/versions/default/versions-git @@ -1,11 +1,11 @@ -https://chromium.googlesource.com/chromium/tools/depot_tools.git==03af44a5163e9448e375a6bbe7bef1fc0e2bb205 +https://chromium.googlesource.com/chromium/tools/depot_tools.git==4f50adb3325cbc0eb19ad3d94fd63a3dc4418817 https://github.com/aristanetworks/swi-tools.git==b5f087e4774168bf536360d43c9c509c8f14ad9f https://github.com/CESNET/libyang.git==f95b730cc8d8903c68f1b463a0b4d2856ad4943f https://github.com/daveolson53/audisp-tacplus.git==559c9f22edd4f2dea0ecedffb3ad9502b12a75b6 https://github.com/daveolson53/libnss-tacplus.git==19008ab68d9d504aa58eb34d5f564755a1613b8b https://github.com/dyninc/OpenBFDD.git==e35f43ad8d2b3f084e96a84c392528a90d05a287 -https://github.com/flashrom/flashrom.git==9a152b8191c5bd3b0a88b29c6b267030da77b770 -https://github.com/FreeRADIUS/freeradius-server.git==38a181e6ea71a38ff90fa3a1c20e2be4098323fb +https://github.com/flashrom/flashrom.git==3d76865fd50ab9b28f367ed27b19d8746548cdb1 +https://github.com/FreeRADIUS/freeradius-server.git==f027fc7a7641548637417de14aa86656209a48fb https://github.com/FreeRADIUS/pam_radius.git==bcafcf535c763ee193ce7803a56cddb929db04cb https://github.com/jeroennijhof/pam_tacplus.git==4f91b0de2be88d02984bef8fb0f64c213c650ed9 https://github.com/jpirko/libteam.git==fd26b370d85d63cca0736d7e666736bb15c395aa @@ -14,11 +14,11 @@ https://github.com/Marvell-switching/mrvl-prestera.git==9dbae444204a2c27b33be698 https://github.com/Mellanox/libpsample.git==62bb27d9a49424e45191eee81df7ce0d8c74e774 https://github.com/p4lang/ptf.git==7494366607e2e4c171439df3585eba3c9769fad8 https://github.com/p4lang/scapy-vxlan.git==85ffe83da156568ee47a0750f638227e6e1d7479 -https://github.com/sflow/host-sflow==7cb2b83ef34ed970a7b6028e8b3d4b44ddef8452 +https://github.com/sflow/host-sflow==b730e7759715dd9822e1eb26544595bfe05d0766 https://github.com/sflow/sflowtool==8c914e79ecb7930adcba2e5296041c3f9eb8e450 https://github.com/thom311/libnl==cbafad9ddf24caef5230fef715d34f0539603be0 https://salsa.debian.org/debian/libteam.git==48142125234a665ad5367b724af36a58fb484d3d https://salsa.debian.org/kernel-team/ethtool/==b24474c5f4cad2bb690ced33a3c7df397170a699 https://salsa.debian.org/kernel-team/initramfs-tools.git==dd16eade69ef76b304a369fac2f6c0de508b855b https://salsa.debian.org/sk-guest/monit.git==c9da7ebb1f35dfba17b50b5969a6e75e29cbec0d -https://salsa.debian.org/ssh-team/openssh.git==f1b82547e654ea81ab2f0cd40d7d98a3a30a7ef7 \ No newline at end of file +https://salsa.debian.org/ssh-team/openssh.git==51c25428249b1b2093bb1ffaff3d814b6095435d \ No newline at end of file diff --git a/files/build/versions/default/versions-mirror b/files/build/versions/default/versions-mirror new file mode 100644 index 000000000000..4928bdfb3450 --- /dev/null +++ b/files/build/versions/default/versions-mirror @@ -0,0 +1,24 @@ +deb.debian.org_debian-security_dists_buster_updates==2023-01-17T09:55:45Z +deb.debian.org_debian_dists_buster==2022-09-10T11:30:54Z +deb.debian.org_debian_dists_buster-updates==2023-01-18T02:50:30Z +deb.nodesource.com_node%5f10.x_dists_stretch==2021-04-06T21:05:39Z +deb.nodesource.com_node%5f14.x_dists_bullseye==2023-01-13T18:33:07Z +deb.nodesource.com_node%5f14.x_dists_buster==2023-01-13T18:33:06Z +debian==20230117T000305Z +debian-archive.trafficmanager.net_debian_dists_buster-backports==2023-01-18T02:50:30Z +debian-security==20230117T000243Z +download.docker.com_linux_debian_dists_bullseye==2023-01-13T15:01:53Z +download.docker.com_linux_debian_dists_buster==2023-01-12T10:55:01Z +download.docker.com_linux_debian_dists_stretch==2021-02-01T21:46:06Z +packages.microsoft.com_repos_sonic-dev_dists_jessie==2019-05-26T14:59:06Z +packages.trafficmanager.net_snapshot_debian-security_20230117T000243Z_dists_bullseye-security==2023-01-16T19:32:57Z +packages.trafficmanager.net_snapshot_debian-security_20230117T000243Z_dists_buster_updates==2023-01-16T19:32:57Z +packages.trafficmanager.net_snapshot_debian-security_20230117T000243Z_dists_stretch_updates==2023-01-16T19:32:57Z +packages.trafficmanager.net_snapshot_debian_20230117T000305Z_dists_bullseye==2022-12-17T10:14:37Z +packages.trafficmanager.net_snapshot_debian_20230117T000305Z_dists_bullseye-backports==2023-01-16T20:17:30Z +packages.trafficmanager.net_snapshot_debian_20230117T000305Z_dists_bullseye-updates==2023-01-16T20:17:30Z +packages.trafficmanager.net_snapshot_debian_20230117T000305Z_dists_buster==2022-09-10T11:30:54Z +packages.trafficmanager.net_snapshot_debian_20230117T000305Z_dists_buster-backports==2023-01-16T20:17:30Z +packages.trafficmanager.net_snapshot_debian_20230117T000305Z_dists_buster-updates==2023-01-16T20:17:30Z +packages.trafficmanager.net_snapshot_debian_20230117T000305Z_dists_stretch-backports==2023-01-16T20:17:30Z +packages.trafficmanager.net_snapshot_debian_20230117T000305Z_dists_stretch-updates==2021-08-14T07:47:11Z \ No newline at end of file diff --git a/files/build/versions/default/versions-web b/files/build/versions/default/versions-web index d936a57977ed..d90a1078db98 100644 --- a/files/build/versions/default/versions-web +++ b/files/build/versions/default/versions-web @@ -4,8 +4,8 @@ http://deb.debian.org/debian/pool/main/i/iproute2/iproute2_5.10.0.orig.tar.xz==f http://deb.debian.org/debian/pool/main/i/iptables/iptables_1.8.2-4.debian.tar.xz==c27e499611c48ba307792518d29cdcc7 http://deb.debian.org/debian/pool/main/i/iptables/iptables_1.8.2-4.dsc==d9572a9f48c88293341681601a7b18c5 http://deb.debian.org/debian/pool/main/i/iptables/iptables_1.8.2.orig.tar.bz2==944558e88ddcc3b9b0d9550070fa3599 -http://deb.debian.org/debian/pool/main/i/isc-dhcp/isc-dhcp_4.4.1-2.3.debian.tar.xz==72af4f677ebb88970bdcae0f73f2d9e8 -http://deb.debian.org/debian/pool/main/i/isc-dhcp/isc-dhcp_4.4.1-2.3.dsc==ff46d1b27970c3648701be4c20a5128a +http://deb.debian.org/debian/pool/main/i/isc-dhcp/isc-dhcp_4.4.1-2.3+deb11u1.debian.tar.xz==8c3640097a1b4cc59e927badbd45b3f0 +http://deb.debian.org/debian/pool/main/i/isc-dhcp/isc-dhcp_4.4.1-2.3+deb11u1.dsc==1af0a028a9655235ec3372332f94a19c http://deb.debian.org/debian/pool/main/i/isc-dhcp/isc-dhcp_4.4.1.orig.tar.gz==dbcba5108f659278200218ac0847ce3f http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.6.0-7.debian.tar.xz==8eab143a53c71c03695ebc78e4b5ed36 http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.6.0-7.dsc==983d68fb43001bb2fc94862bc4bc2e2b @@ -25,11 +25,12 @@ https://deb.debian.org/debian/pool/main/k/kdump-tools/kdump-tools_1.6.8.4.dsc==f https://deb.debian.org/debian/pool/main/k/kdump-tools/kdump-tools_1.6.8.4.tar.xz==26bcae7c27b729d614a4a85e2a01cb64 https://deb.nodesource.com/gpgkey/nodesource.gpg.key==003b51a89a133b5db4cca98b2dea3117 https://deb.nodesource.com/node_10.x/dists/stretch/Release==22738118af583db3bfad39d6fcb4fa5a -https://deb.nodesource.com/node_14.x/dists/bullseye/Release==535ee79372649a44e963a1bd4db9ac5b -https://deb.nodesource.com/node_14.x/dists/buster/Release==d701f2bf6451c4b10cf3670af05ab217 +https://deb.nodesource.com/node_14.x/dists/bullseye/Release==e7d1d56ab4f993a91b7d6fabd77f298c +https://deb.nodesource.com/node_14.x/dists/buster/Release==8c7f066a1fa7e957109aaca26b1262e0 https://deb.nodesource.com/setup_10.x==6742c0148159980e8f6e886df1f8bbe1 -https://deb.nodesource.com/setup_14.x==8b4c0534353a1bf3154e84f6b1654460 +https://deb.nodesource.com/setup_14.x==7e3b27b12367cbc79d788cd43bbc917c https://download.docker.com/linux/debian/gpg==1afae06b34a13c1b3d9cb61a26285a15 +https://github.com/aristanetworks/sonic-firmware/raw/446f30ccd8626f904d89d5798da7294948e090a6/phy/phy-credo_1.0_amd64.deb==6c3d6c32477615cbe049b9161ce15bd5 https://github.com/barefootnetworks/sonic-release-pkgs/raw/dev/bfnplatform_20220815_sai_1.10_deb11.deb==ece1121c25dbfcbe674788b30ed105cf https://github.com/barefootnetworks/sonic-release-pkgs/raw/dev/bfnsdk_20220815_sai_1.10_deb11.deb==944cf175710101883c5e6e19282cd1ce https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64==4c3f0a07a6d21c6d1ce2b1fef9acf357 @@ -63,10 +64,14 @@ https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_ https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.9+dfsg-4+deb11u1.debian.tar.xz==a3e626b1ed5adc26430e1727d81641df https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.9+dfsg-4+deb11u1.dsc==a36ed553b5034b7400d9e9a8d529b27e https://sonicstorage.blob.core.windows.net/debian/pool/main/n/net-snmp/net-snmp_5.9+dfsg.orig.tar.xz==6c2d346ce3320e8999500497e9bacc99 +https://sonicstorage.blob.core.windows.net/packages/20190307/bcmcmd?sv=2015-04-05&sr=b&sig=sUdbU7oVbh5exbXXHVL5TDFBTWDDBASHeJ8Cp0B0TIc%3D&se=2038-05-06T22%3A34%3A19Z&sp=r==b8aefc751bdf93218716bca6797460ff +https://sonicstorage.blob.core.windows.net/packages/20190307/dsserve?sv=2015-04-05&sr=b&sig=lk7BH3DtW%2F5ehc0Rkqfga%2BUCABI0UzQmDamBsZH9K6w%3D&se=2038-05-06T22%3A34%3A45Z&sp=r==f9d4b815ebb9be9f755dedca8a51170d https://sonicstorage.blob.core.windows.net/packages/cmake/cmake-data_3.13.2-1_bpo9%2B1_all.deb?st=2020-03-27T02%3A22%3A24Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=Xby%2Bm3OZOjPB%2FSlDbHD65yDcPzAgoys%2FA3vK8RB4BzA%3D==147cf42f3a68f6d6f1e53d95a599a1af https://sonicstorage.blob.core.windows.net/packages/cmake/cmake_3.13.2-1_bpo9%2B1_amd64.deb?st=2020-03-27T02%3A27%3A21Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=4MvmmDBQuicFEJYakLm7xCNU19yJ8GIP4ankFSnITKY%3D==e75c741e8b6918b8f03625e456fa0275 https://sonicstorage.blob.core.windows.net/packages/cmake/cmake_3.13.2-1_bpo9%2B1_arm64.deb?st=2020-03-27T02%3A28%3A38Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=rrHMkLi29aI8yH6s52ILCY8VcEbNFrzYT2DmC5RwOgs%3D==9bcc989e6ed168717f67c07e79177d4a https://sonicstorage.blob.core.windows.net/packages/cmake/cmake_3.13.2-1_bpo9%2B1_armhf.deb?st=2020-03-27T02%3A29%3A41Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=sWt7kxrFumn020d2GeutGJ716cuQsFwmAmgU%2BJ0kqnk%3D==b5625da7ac620a2ae869653b9e5318ed +https://sonicstorage.blob.core.windows.net/packages/credosai/libsaicredo-owl_0.7.5_amd64.deb?sv=2020-10-02&st=2022-04-14T02%3A23%3A22Z&se=2100-04-15T02%3A23%3A00Z&sr=b&sp=r&sig=58z6E2nPcLIGjqAoxRAo7du%2FzjIBZkFdoXfSzw96Kxc%3D==b02c8664535fc6f9c02a89c5a6930578 +https://sonicstorage.blob.core.windows.net/packages/credosai/libsaicredo_0.7.5_amd64.deb?sv=2020-10-02&st=2022-04-14T02%3A21%3A31Z&se=2100-04-15T02%3A21%3A00Z&sr=b&sp=r&sig=iDv9Fprntpw9iVBFYVjW8iygy4qcSWT8O90nAXdXR0A%3D==e62bdf009e1a81e2ce8a38073305450c https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.4.1-3.debian.tar.xz?sv=2020-04-08&st=2021-12-14T08%3A00%3A00Z&se=2030-12-14T18%3A18%3A00Z&sr=b&sp=r&sig=C8aYSvaQgMJ58Z13kFY0Wr0J0QF6i7WCeET9%2BpF%2BAxc%3D==e8d1e99b4b9e93f5dde860f6d55f42e3 https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.4.1-3.dsc?sv=2020-04-08&st=2021-12-14T00%3A00%3A00Z&se=2050-12-15T00%3A00%3A00Z&sr=b&sp=r&sig=fIy6dVz3s59K0TiMkTlwSWN8lCzRl3i76ruAtROhfWA%3D==df3ed0dd965589fd09bf6a2920bc273e https://sonicstorage.blob.core.windows.net/packages/debian/socat_1.7.4.1.orig.tar.gz?sv=2020-04-08&st=2021-12-14T00%3A00%3A00Z&se=2050-12-15T00%3A00%3A00Z&sr=b&sp=r&sig=gpihyZv%2Fr0bVrCUKCKwpS4bIoqiPpdd%2BgCfuUGNHOUc%3D==780d14908dc1a6aa2790de376ab56b7a @@ -120,6 +125,10 @@ https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/arm64/openss https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/arm64/python3.9-minimal_3.9.2-1+fips_arm64.deb==3f2151dd5845c808b18f1ff9e7d705c8 https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/arm64/python3.9_3.9.2-1+fips_arm64.deb==4d6307dabcd3060235d6188cfa0346b8 https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.4/arm64/symcrypt-openssl_0.4_arm64.deb==62a54cef035a02965f19b15b4e1f35c9 +https://sonicstorage.blob.core.windows.net/public/sai/bcmpai/REL_3.8/3.8/libsaibroncos_3.8_amd64.deb==f7c3f0ed8c97c2572e3c2e59faaae4a8 +https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm-dev_7.1.111.1_amd64.deb==894abd7658c3832962db4eaea1a40fd1 +https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm_7.1.111.1_amd64.deb==23d3292d27e1c39cee89575f2a91e18c +https://sonicstorage.blob.core.windows.net/public/sai/bcmsai/REL_7.0_SAI_1.11/7.1.111.1/libsaibcm_dnx_7.1.111.1_amd64.deb==458f404279c3f30ec71de6bad7373323 https://storage.googleapis.com/golang/go1.14.2.linux-amd64.tar.gz==856d248e3ea8a287d13e5f6afd086282 https://storage.googleapis.com/golang/go1.14.2.linux-arm64.tar.gz==e5f79b403701e00f20d13f0ea561b064 https://storage.googleapis.com/golang/go1.14.2.linux-armv6l.tar.gz==04467414e783b18de4278e9f24baf4be \ No newline at end of file diff --git a/files/build/versions/dockers/docker-base-bullseye/versions-py3 b/files/build/versions/dockers/docker-base-bullseye/versions-py3 index 4cb64ea768d0..4602e8aa671e 100644 --- a/files/build/versions/dockers/docker-base-bullseye/versions-py3 +++ b/files/build/versions/dockers/docker-base-bullseye/versions-py3 @@ -1,6 +1,6 @@ j2cli==0.3.10 jinja2==3.1.2 -markupsafe==2.1.1 +markupsafe==2.1.2 supervisor==4.2.1 supervisord-dependent-startup==1.4.0 -toposort==1.7 \ No newline at end of file +toposort==1.9 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-base-buster/versions-py3 b/files/build/versions/dockers/docker-base-buster/versions-py3 index 4cb64ea768d0..4602e8aa671e 100644 --- a/files/build/versions/dockers/docker-base-buster/versions-py3 +++ b/files/build/versions/dockers/docker-base-buster/versions-py3 @@ -1,6 +1,6 @@ j2cli==0.3.10 jinja2==3.1.2 -markupsafe==2.1.1 +markupsafe==2.1.2 supervisor==4.2.1 supervisord-dependent-startup==1.4.0 -toposort==1.7 \ No newline at end of file +toposort==1.9 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-base-buster/versions-web b/files/build/versions/dockers/docker-base-buster/versions-web deleted file mode 100644 index d85bc54c0062..000000000000 --- a/files/build/versions/dockers/docker-base-buster/versions-web +++ /dev/null @@ -1 +0,0 @@ -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==2d58c3c3358290c04d5e0ba70f297f18 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-dhcp-relay/versions-deb-bullseye b/files/build/versions/dockers/docker-dhcp-relay/versions-deb-bullseye index 43bfbd7f5f52..83b488b87ca4 100644 --- a/files/build/versions/dockers/docker-dhcp-relay/versions-deb-bullseye +++ b/files/build/versions/dockers/docker-dhcp-relay/versions-deb-bullseye @@ -1,7 +1,7 @@ gdb==10.1-1.7 gdbserver==10.1-1.7 -isc-dhcp-relay==4.4.1-2.3 -isc-dhcp-relay-dbgsym==4.4.1-2.3 +isc-dhcp-relay==4.4.1-2.3+deb11u1 +isc-dhcp-relay-dbgsym==4.4.1-2.3+deb11u1 libbabeltrace1==1.5.8-1+b3 libboost-regex1.74.0==1.74.0-9 libboost-thread1.74.0==1.74.0-9 diff --git a/files/build/versions/dockers/docker-platform-monitor/versions-py3 b/files/build/versions/dockers/docker-platform-monitor/versions-py3 index 45adeb90c8b6..10323c3a89ef 100644 --- a/files/build/versions/dockers/docker-platform-monitor/versions-py3 +++ b/files/build/versions/dockers/docker-platform-monitor/versions-py3 @@ -10,6 +10,6 @@ more-itertools==4.2.0 protobuf==3.20.3 pyrsistent==0.15.5 python_sdk_api==4.5.4026 -redis==4.4.0 +redis==4.4.2 thrift==0.13.0 zipp==1.0.0 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-ptf/versions-deb-buster b/files/build/versions/dockers/docker-ptf/versions-deb-buster index 97d443a53526..d320d35e6062 100644 --- a/files/build/versions/dockers/docker-ptf/versions-deb-buster +++ b/files/build/versions/dockers/docker-ptf/versions-deb-buster @@ -284,6 +284,7 @@ libssl1.1==1.1.1n-0+deb10u3 libstdc++-8-dev==8.3.0-6 libsynctex2==2018.20181218.49446-1 libtacacs+1==4.0.4.27a-3 +libtasn1-6==4.13-3+deb10u1 libtcl8.6==8.6.9+dfsg-2 libteam-utils==1.28-1 libteam5==1.28-1 diff --git a/files/build/versions/dockers/docker-ptf/versions-py2 b/files/build/versions/dockers/docker-ptf/versions-py2 index 2630048e4335..641047569664 100644 --- a/files/build/versions/dockers/docker-ptf/versions-py2 +++ b/files/build/versions/dockers/docker-ptf/versions-py2 @@ -11,7 +11,7 @@ enum34==1.1.6 exabgp==3.4.17 flask==1.0 flask-httpauth==2.5.0 -future==0.18.2 +future==0.18.3 futures==3.2.0 grpcio==1.18.0 grpcio-tools==1.15.0 @@ -62,7 +62,7 @@ traitlets==4.3.3 twisted==16.0.0 typing==3.10.0.0 unittest-xml-reporting==2.5.2 -wcwidth==0.2.5 +wcwidth==0.2.6 werkzeug==1.0.1 yabgp==0.8.2 zipp==1.2.0 diff --git a/files/build/versions/dockers/docker-snmp/versions-py3 b/files/build/versions/dockers/docker-snmp/versions-py3 index 3ff33510a7a2..84846d4541e7 100644 --- a/files/build/versions/dockers/docker-snmp/versions-py3 +++ b/files/build/versions/dockers/docker-snmp/versions-py3 @@ -1,6 +1,6 @@ async-timeout==4.0.2 -hiredis==2.1.0 +hiredis==2.1.1 psutil==5.9.4 python-arptable==0.0.2 -redis==4.4.0 +redis==4.4.2 smbus==1.1.post2 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-snmp/versions-py3-all-armhf b/files/build/versions/dockers/docker-snmp/versions-py3-all-armhf deleted file mode 100644 index 252e8c7f1140..000000000000 --- a/files/build/versions/dockers/docker-snmp/versions-py3-all-armhf +++ /dev/null @@ -1 +0,0 @@ -hiredis==2.0.0 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-sonic-mgmt-framework/versions-py3 b/files/build/versions/dockers/docker-sonic-mgmt-framework/versions-py3 index c17c7c71771f..d3a83a3f708e 100644 --- a/files/build/versions/dockers/docker-sonic-mgmt-framework/versions-py3 +++ b/files/build/versions/dockers/docker-sonic-mgmt-framework/versions-py3 @@ -1,6 +1,6 @@ attrs==22.2.0 certifi==2017.4.17 -charset-normalizer==2.1.1 +charset-normalizer==3.0.1 click==8.1.3 clickclick==20.10.2 connexion==2.7.0 @@ -8,21 +8,21 @@ flask==2.2.2 grpcio==1.51.1 grpcio-tools==1.20.0 idna==3.4 -importlib-metadata==5.2.0 -importlib-resources==5.10.1 +importlib-metadata==6.0.0 +importlib-resources==5.10.2 inflection==0.5.1 itsdangerous==2.1.2 jsonschema==4.17.3 jsonschema-spec==0.1.2 -lazy-object-proxy==1.8.0 -openapi-schema-validator==0.3.4 -openapi-spec-validator==0.5.1 +lazy-object-proxy==1.9.0 +openapi-schema-validator==0.4.0 +openapi-spec-validator==0.5.2 pathable==0.4.3 pkgutil_resolve_name==1.3.10 protobuf==4.21.12 -pyrsistent==0.19.2 +pyrsistent==0.19.3 python-dateutil==2.6.0 -requests==2.28.1 +requests==2.28.2 six==1.11.0 typing_extensions==4.4.0 urllib3==1.26.5 diff --git a/files/build/versions/dockers/docker-sonic-vs/versions-py2 b/files/build/versions/dockers/docker-sonic-vs/versions-py2 index bab11c897825..2592e3bd311e 100644 --- a/files/build/versions/dockers/docker-sonic-vs/versions-py2 +++ b/files/build/versions/dockers/docker-sonic-vs/versions-py2 @@ -1,6 +1,6 @@ certifi==2021.10.8 chardet==4.0.0 -crontab==0.23.0 +crontab==1.0.0 idna==2.10 monotonic==1.5 netifaces==0.10.7 @@ -10,4 +10,4 @@ pyroute2==0.5.3 requests==2.27.1 scapy==2.4.0 six==1.16.0 -urllib3==1.26.13 \ No newline at end of file +urllib3==1.26.14 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-sonic-vs/versions-py3 b/files/build/versions/dockers/docker-sonic-vs/versions-py3 index 72cd82ab46a4..5ea489d5081b 100644 --- a/files/build/versions/dockers/docker-sonic-vs/versions-py3 +++ b/files/build/versions/dockers/docker-sonic-vs/versions-py3 @@ -1,7 +1,7 @@ async-timeout==4.0.2 blessed==1.19.1 certifi==2022.12.7 -charset-normalizer==2.1.1 +charset-normalizer==3.0.1 click==7.0 click-log==0.4.0 colorful==0.5.5 @@ -10,33 +10,33 @@ deprecated==1.2.13 docker==6.0.1 docker-image-py==0.1.12 enlighten==1.11.1 -filelock==3.8.2 +filelock==3.9.0 idna==3.4 -importlib-metadata==5.2.0 +importlib-metadata==6.0.0 jsonpatch==1.32 jsonpointer==2.3 -lazy-object-proxy==1.8.0 +lazy-object-proxy==1.9.0 m2crypto==0.38.0 netifaces==0.10.9 -packaging==22.0 +packaging==23.0 pexpect==4.8.0 -prefixed==0.5.0 +prefixed==0.6.0 prettyprinter==0.18.0 ptyprocess==0.7.0 pycairo==1.23.0 -pygments==2.13.0 +pygments==2.14.0 pygobject==3.42.2 pyparsing==3.0.9 pyroute2==0.5.14 -redis==4.4.0 -requests==2.28.1 +redis==4.4.2 +requests==2.28.2 scapy==2.4.4 semantic-version==2.10.0 systemd-python==234 toposort==1.6 typing_extensions==4.4.0 -urllib3==1.26.13 -wcwidth==0.2.5 +urllib3==1.26.14 +wcwidth==0.2.6 websocket-client==1.4.2 wrapt==1.14.1 www-authenticate==0.9.2 diff --git a/files/build/versions/dockers/docker-syncd-brcm-dnx-rpc/versions-web b/files/build/versions/dockers/docker-syncd-brcm-dnx-rpc/versions-web deleted file mode 100644 index df3c11729f32..000000000000 --- a/files/build/versions/dockers/docker-syncd-brcm-dnx-rpc/versions-web +++ /dev/null @@ -1 +0,0 @@ -https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz==6f56ef28c93cee644e8c4aaaef7cfb55 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-syncd-brcm-rpc/versions-web b/files/build/versions/dockers/docker-syncd-brcm-rpc/versions-web deleted file mode 100644 index df3c11729f32..000000000000 --- a/files/build/versions/dockers/docker-syncd-brcm-rpc/versions-web +++ /dev/null @@ -1 +0,0 @@ -https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz==6f56ef28c93cee644e8c4aaaef7cfb55 \ No newline at end of file diff --git a/files/build/versions/dockers/docker-syncd-mlnx/versions-deb-bullseye b/files/build/versions/dockers/docker-syncd-mlnx/versions-deb-bullseye index 17aff7e00969..9d979d3743dd 100644 --- a/files/build/versions/dockers/docker-syncd-mlnx/versions-deb-bullseye +++ b/files/build/versions/dockers/docker-syncd-mlnx/versions-deb-bullseye @@ -43,11 +43,18 @@ mlnx-sai==1.mlnx.SAIBuild2211.23.1.0 openssh-client==1:8.4p1-5+deb11u1 python-pip-whl==20.3.4-4+deb11u1 python-sdk-api==1.mlnx.4.5.4026 +python3-attr==20.3.0-1 python3-dev==3.9.2-3 +python3-importlib-metadata==1.6.0-2 +python3-jsonschema==3.2.0-3 +python3-more-itertools==4.2.0-3 python3-pip==20.3.4-4+deb11u1 python3-pkg-resources==52.0.0-4 +python3-pyrsistent==0.15.5-1+b3 python3-setuptools==52.0.0-4 +python3-six==1.16.0-2 python3-wheel==0.34.2-1 +python3-zipp==1.0.0-3 python3.9-dev==3.9.2-1 sshpass==1.09-1+b1 strace==5.10-1 diff --git a/files/build/versions/dockers/docker-syncd-mlnx/versions-py3 b/files/build/versions/dockers/docker-syncd-mlnx/versions-py3 index b71b3679d3e1..6025406003df 100644 --- a/files/build/versions/dockers/docker-syncd-mlnx/versions-py3 +++ b/files/build/versions/dockers/docker-syncd-mlnx/versions-py3 @@ -1 +1,7 @@ -python_sdk_api==4.5.4026 \ No newline at end of file +attrs==20.3.0 +importlib-metadata==1.6.0 +jsonschema==3.2.0 +more-itertools==4.2.0 +pyrsistent==0.15.5 +python_sdk_api==4.5.4026 +zipp==1.0.0 \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye-arm64 b/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye-arm64 index b4bb4a370d41..768557d87d6a 100644 --- a/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye-arm64 +++ b/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye-arm64 @@ -19,4 +19,4 @@ libubsan1-armhf-cross==10.2.1-6cross1 libxslt1-dev==1.1.34-4+deb11u1 linux-headers-5.10.0-20-arm64==5.10.158-2 linux-headers-arm64==5.10.158-2 -nodejs==14.21.1-deb-1nodesource1 \ No newline at end of file +nodejs==14.21.2-deb-1nodesource1 \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye-armhf b/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye-armhf index 11f4283d0296..e59c7a4a4680 100644 --- a/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye-armhf +++ b/files/build/versions/dockers/sonic-slave-bullseye/versions-deb-bullseye-armhf @@ -7,4 +7,4 @@ libxslt1-dev==1.1.34-4+deb11u1 linux-compiler-gcc-10-arm==5.10.158-2 linux-headers-5.10.0-20-armmp==5.10.158-2 linux-headers-armmp==5.10.158-2 -nodejs==14.21.1-deb-1nodesource1 \ No newline at end of file +nodejs==14.21.2-deb-1nodesource1 \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-bullseye/versions-git b/files/build/versions/dockers/sonic-slave-bullseye/versions-git index 8d343bdc8fbb..4dd1d6a5ec00 100644 --- a/files/build/versions/dockers/sonic-slave-bullseye/versions-git +++ b/files/build/versions/dockers/sonic-slave-bullseye/versions-git @@ -1,2 +1 @@ -https://chromium.googlesource.com/chromium/tools/depot_tools.git==03af44a5163e9448e375a6bbe7bef1fc0e2bb205 -https://github.com/aristanetworks/swi-tools.git==b5f087e4774168bf536360d43c9c509c8f14ad9f \ No newline at end of file +https://chromium.googlesource.com/chromium/tools/depot_tools.git==86cfa62b0785d066d4970123a01994f699f2023d \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-bullseye/versions-py3 b/files/build/versions/dockers/sonic-slave-bullseye/versions-py3 index 0e416f1e9126..7c19abdc6a4e 100644 --- a/files/build/versions/dockers/sonic-slave-bullseye/versions-py3 +++ b/files/build/versions/dockers/sonic-slave-bullseye/versions-py3 @@ -6,7 +6,7 @@ automat==20.2.0 babel==2.8.0 bcrypt==3.1.7 beautifulsoup4==4.9.3 -bitarray==2.6.1 +bitarray==2.6.2 certifi==2020.6.20 chardet==4.0.0 click==7.1.2 @@ -18,6 +18,7 @@ crc16==0.1.1 cryptography==3.3.2 ctypesgen==1.0.2 dbus-python==1.2.16 +deepdiff==6.2.2 devscripts==2.21.3+deb11u1 distro-info==1.0 docutils==0.16 @@ -45,13 +46,14 @@ markdown==3.3.4 markupsafe==1.1.1 mccabe==0.6.1 mmh3==2.5.1 -mock==4.0.3 +mock==5.0.1 mockredispy==2.9.3 more-itertools==4.2.0 mypy-extensions==0.4.3 nose==1.3.7 nose2==0.9.2 olefile==0.46 +ordered-set==4.1.0 packaging==20.9 parameterized==0.8.1 parse==1.6.6 @@ -65,7 +67,7 @@ pyangbind==0.8.1 pyasn1==0.4.8 pyasn1-modules==0.2.1 pycurl==7.43.0.6 -pyfakefs==5.0.0 +pyfakefs==5.1.0 pygments==2.7.1 pygobject==3.38.0 pyhamcrest==1.9.0 @@ -83,7 +85,7 @@ python-magic==0.4.20 pytz==2021.1 pyxdg==0.27 pyyaml==5.4.1 -redis==4.4.0 +redis==4.4.2 regex==2022.10.31 requests==2.25.1 roman==2.0.0 diff --git a/files/build/versions/dockers/sonic-slave-bullseye/versions-web b/files/build/versions/dockers/sonic-slave-bullseye/versions-web deleted file mode 100644 index eed8123cbc8f..000000000000 --- a/files/build/versions/dockers/sonic-slave-bullseye/versions-web +++ /dev/null @@ -1,4 +0,0 @@ -https://download.docker.com/linux/debian/gpg==1afae06b34a13c1b3d9cb61a26285a15 -https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64==4c3f0a07a6d21c6d1ce2b1fef9acf357 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.1/amd64/golang-1.15-go_1.15.15-1~deb11u4%2Bfips_amd64.deb==b60f6db62805696b47ab422ab798fe56 -https://sonicstorage.blob.core.windows.net/public/fips/bullseye/0.1/amd64/golang-1.15-src_1.15.15-1~deb11u4%2Bfips_amd64.deb==1c920937aa49b602a1bfec3c49747131 \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster b/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster index b2a9f9cbdf79..ab742595e594 100644 --- a/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster +++ b/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster @@ -50,7 +50,7 @@ cmake==3.13.4-1 cmake-data==3.13.4-1 cmocka-doc==1.1.3-1 comerr-dev==2.1-1.44.5-1+deb10u3 -containerd.io==1.6.14-1 +containerd.io==1.6.15-1 cowbuilder==0.88 cowdancer==0.88 cpio==2.12+dfsg-9 @@ -111,7 +111,7 @@ exim4-base==4.92-8+deb10u7 exim4-config==4.92-8+deb10u7 exim4-daemon-light==4.92-8+deb10u7 expat==2.2.6-2+deb10u6 -exuberant-ctags==1:5.9~svn20110310-12 +exuberant-ctags==1:5.9~svn20110310-12+deb10u1 fakeroot==1.23-1 file==1:5.35-4+deb10u2 flex==2.6.4-6.2 @@ -1070,9 +1070,9 @@ libsnappy-java==1.1.7.2-1 libsnappy-jni==1.1.7.2-1 libsnappy1v5==1.1.7-1 libsndfile1==1.0.28-6+deb10u2 -libsnmp-base==5.7.3+dfsg-5+deb10u3 -libsnmp-dev==5.7.3+dfsg-5+deb10u3 -libsnmp30==5.7.3+dfsg-5+deb10u3 +libsnmp-base==5.7.3+dfsg-5+deb10u4 +libsnmp-dev==5.7.3+dfsg-5+deb10u4 +libsnmp30==5.7.3+dfsg-5+deb10u4 libsoap-lite-perl==1.27-1 libsodium-dev==1.0.17-1 libsodium23==1.0.17-1 @@ -1115,8 +1115,9 @@ libsystemd-dev==241-7~deb10u8 libtag1v5==1.11.1+dfsg.1-0.3+deb10u1 libtag1v5-vanilla==1.11.1+dfsg.1-0.3+deb10u1 libtask-weaken-perl==1.06-1 -libtasn1-6-dev==4.13-3 -libtasn1-doc==4.13-3 +libtasn1-6==4.13-3+deb10u1 +libtasn1-6-dev==4.13-3+deb10u1 +libtasn1-doc==4.13-3+deb10u1 libtcl8.6==8.6.9+dfsg-2 libtcmalloc-minimal4==2.7-1 libteckit0==2.5.8+ds2-5 diff --git a/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster-arm64 b/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster-arm64 index 30f56b7d2027..6cda7cd771f9 100644 --- a/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster-arm64 +++ b/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster-arm64 @@ -4,4 +4,4 @@ libdrm-freedreno1==2.4.97-1 libdrm-tegra0==2.4.97-1 libtext-iconv-perl==1.7-5+b6 libxslt1-dev==1.1.32-2.2~deb10u2 -nodejs==14.21.1-deb-1nodesource1 \ No newline at end of file +nodejs==14.21.2-deb-1nodesource1 \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster-armhf b/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster-armhf index e4d003c63d19..20084c499c59 100644 --- a/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster-armhf +++ b/files/build/versions/dockers/sonic-slave-buster/versions-deb-buster-armhf @@ -7,4 +7,4 @@ libdrm-tegra0==2.4.97-1 libgles2-mesa-dev==18.3.6-2+deb10u1 libxslt1-dev==1.1.32-2.2~deb10u2 linux-compiler-gcc-8-arm==4.19.269-1 -nodejs==14.21.1-deb-1nodesource1 \ No newline at end of file +nodejs==14.21.2-deb-1nodesource1 \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-buster/versions-git b/files/build/versions/dockers/sonic-slave-buster/versions-git index 8d343bdc8fbb..4dd1d6a5ec00 100644 --- a/files/build/versions/dockers/sonic-slave-buster/versions-git +++ b/files/build/versions/dockers/sonic-slave-buster/versions-git @@ -1,2 +1 @@ -https://chromium.googlesource.com/chromium/tools/depot_tools.git==03af44a5163e9448e375a6bbe7bef1fc0e2bb205 -https://github.com/aristanetworks/swi-tools.git==b5f087e4774168bf536360d43c9c509c8f14ad9f \ No newline at end of file +https://chromium.googlesource.com/chromium/tools/depot_tools.git==86cfa62b0785d066d4970123a01994f699f2023d \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-buster/versions-py3 b/files/build/versions/dockers/sonic-slave-buster/versions-py3 index 62d792c643fc..15c08f4a552f 100644 --- a/files/build/versions/dockers/sonic-slave-buster/versions-py3 +++ b/files/build/versions/dockers/sonic-slave-buster/versions-py3 @@ -4,7 +4,7 @@ async-timeout==4.0.2 atomicwrites==1.1.5 attrs==18.2.0 babel==2.6.0 -bitarray==2.6.1 +bitarray==2.6.2 certifi==2018.8.24 chardet==3.0.4 cov-core==1.15.0 @@ -20,7 +20,7 @@ gcovr==4.1 gpg==1.12.0 idna==2.6 imagesize==1.0.0 -importlib-metadata==5.2.0 +importlib-metadata==6.0.0 jinja2==3.0.3 keyring==17.1.1 keyrings.alt==3.1.1 @@ -48,7 +48,7 @@ pyang==2.4.0 pyangbind==0.8.1 pycrypto==2.6.1 pycurl==7.43.0.2 -pyfakefs==5.0.0 +pyfakefs==5.1.0 pygments==2.3.1 pygobject==3.30.4 pympler==0.8 @@ -63,7 +63,7 @@ python-magic==0.4.16 pytz==2019.1 pyxdg==0.25 pyyaml==5.4.1 -redis==4.4.0 +redis==4.4.2 regex==2022.10.31 requests==2.21.0 roman==2.0.0 diff --git a/files/build/versions/dockers/sonic-slave-buster/versions-web b/files/build/versions/dockers/sonic-slave-buster/versions-web deleted file mode 100644 index 514be674f4a7..000000000000 --- a/files/build/versions/dockers/sonic-slave-buster/versions-web +++ /dev/null @@ -1,3 +0,0 @@ -https://download.docker.com/linux/debian/gpg==1afae06b34a13c1b3d9cb61a26285a15 -https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64==4c3f0a07a6d21c6d1ce2b1fef9acf357 -https://storage.googleapis.com/golang/go1.14.2.linux-amd64.tar.gz==856d248e3ea8a287d13e5f6afd086282 \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-stretch/versions-git b/files/build/versions/dockers/sonic-slave-stretch/versions-git index 8d343bdc8fbb..f9cb53ecddb0 100644 --- a/files/build/versions/dockers/sonic-slave-stretch/versions-git +++ b/files/build/versions/dockers/sonic-slave-stretch/versions-git @@ -1,2 +1 @@ -https://chromium.googlesource.com/chromium/tools/depot_tools.git==03af44a5163e9448e375a6bbe7bef1fc0e2bb205 -https://github.com/aristanetworks/swi-tools.git==b5f087e4774168bf536360d43c9c509c8f14ad9f \ No newline at end of file +https://chromium.googlesource.com/chromium/tools/depot_tools.git==4f50adb3325cbc0eb19ad3d94fd63a3dc4418817 \ No newline at end of file diff --git a/files/build/versions/dockers/sonic-slave-stretch/versions-py3 b/files/build/versions/dockers/sonic-slave-stretch/versions-py3 index aa1101e39769..e3c15f9ada88 100644 --- a/files/build/versions/dockers/sonic-slave-stretch/versions-py3 +++ b/files/build/versions/dockers/sonic-slave-stretch/versions-py3 @@ -1,6 +1,6 @@ alabaster==0.7.8 babel==2.3.4 -bitarray==2.6.1 +bitarray==2.6.2 chardet==2.3.0 cryptography==1.7.1 devscripts==2.17.6+deb9u2 diff --git a/files/build/versions/dockers/sonic-slave-stretch/versions-web b/files/build/versions/dockers/sonic-slave-stretch/versions-web deleted file mode 100644 index 9fdc609442cb..000000000000 --- a/files/build/versions/dockers/sonic-slave-stretch/versions-web +++ /dev/null @@ -1,5 +0,0 @@ -https://download.docker.com/linux/debian/gpg==1afae06b34a13c1b3d9cb61a26285a15 -https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64==4c3f0a07a6d21c6d1ce2b1fef9acf357 -https://sonicstorage.blob.core.windows.net/packages/cmake/cmake-data_3.13.2-1_bpo9%2B1_all.deb?st=2020-03-27T02%3A22%3A24Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=Xby%2Bm3OZOjPB%2FSlDbHD65yDcPzAgoys%2FA3vK8RB4BzA%3D==147cf42f3a68f6d6f1e53d95a599a1af -https://sonicstorage.blob.core.windows.net/packages/cmake/cmake_3.13.2-1_bpo9%2B1_amd64.deb?st=2020-03-27T02%3A27%3A21Z&se=2100-03-26T19%3A00%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=4MvmmDBQuicFEJYakLm7xCNU19yJ8GIP4ankFSnITKY%3D==e75c741e8b6918b8f03625e456fa0275 -https://storage.googleapis.com/golang/go1.14.2.linux-amd64.tar.gz==856d248e3ea8a287d13e5f6afd086282 \ No newline at end of file diff --git a/files/build/versions/host-image/versions-py3 b/files/build/versions/host-image/versions-py3 index eebada2371d2..9a63005e5b95 100644 --- a/files/build/versions/host-image/versions-py3 +++ b/files/build/versions/host-image/versions-py3 @@ -5,16 +5,16 @@ bitarray==1.5.3 blessed==1.19.1 certifi==2022.12.7 cffi==1.15.1 -charset-normalizer==2.1.1 +charset-normalizer==3.0.1 click==7.0 click-log==0.4.0 colorful==0.5.5 -cryptography==38.0.4 +cryptography==39.0.0 dbus-python==1.2.16 docker==5.0.3 docker-image-py==0.1.12 enlighten==1.11.1 -filelock==3.8.2 +filelock==3.9.0 grpcio==1.39.0 grpcio-tools==1.39.0 idna==3.4 @@ -27,17 +27,17 @@ jsondiff==2.0.0 jsonpatch==1.32 jsonpointer==2.3 jsonschema==2.6.0 -lazy-object-proxy==1.8.0 +lazy-object-proxy==1.9.0 lxml==4.9.1 m2crypto==0.38.0 -markupsafe==2.1.1 +markupsafe==2.1.2 natsort==6.2.1 netaddr==0.8.0 netifaces==0.11.0 pathtools==0.1.2 pddf-platform==1.0 pexpect==4.8.0 -prefixed==0.5.0 +prefixed==0.6.0 prettyprinter==0.18.0 protobuf==3.20.3 psutil==5.9.4 @@ -47,7 +47,7 @@ pyangbind==0.8.1 pycairo==1.23.0 pycparser==2.21 pycurl==7.43.0.6 -pygments==2.13.0 +pygments==2.14.0 pygobject==3.42.2 pyroute2==0.5.19 python-apt==2.2.1 @@ -55,7 +55,7 @@ python-dateutil==2.8.2 pyyaml==5.4.1 redis==3.5.3 regex==2022.10.31 -requests==2.28.1 +requests==2.28.2 scapy==2.4.4 semantic-version==2.10.0 six==1.16.0 @@ -63,9 +63,9 @@ systemd-python==234 tabulate==0.8.2 thrift==0.13.0 toposort==1.6 -urllib3==1.26.13 +urllib3==1.26.14 watchdog==0.10.3 -wcwidth==0.2.5 +wcwidth==0.2.6 websocket-client==1.4.2 www-authenticate==0.9.2 xmltodict==0.12.0 \ No newline at end of file diff --git a/files/build/versions/host-image/versions-web b/files/build/versions/host-image/versions-web deleted file mode 100644 index c9f935ca9a85..000000000000 --- a/files/build/versions/host-image/versions-web +++ /dev/null @@ -1 +0,0 @@ -https://download.docker.com/linux/debian/gpg==1afae06b34a13c1b3d9cb61a26285a15 \ No newline at end of file diff --git a/files/build_templates/docker_image_ctl.j2 b/files/build_templates/docker_image_ctl.j2 index ace39df4e546..6ba11ce65082 100644 --- a/files/build_templates/docker_image_ctl.j2 +++ b/files/build_templates/docker_image_ctl.j2 @@ -34,16 +34,23 @@ function updateSyslogConf() # Also update the container name if [[ ($NUM_ASIC -gt 1) ]]; then TARGET_IP=$(docker network inspect bridge --format={{ "'{{(index .IPAM.Config 0).Gateway}}'" }}) - CONTAINER_NAME="$DOCKERNAME" - TMP_FILE="/tmp/rsyslog.$CONTAINER_NAME.conf" - {%- if docker_container_name == "database" %} - python -c "import jinja2, os; paths=['/usr/share/sonic/templates']; loader = jinja2.FileSystemLoader(paths); env = jinja2.Environment(loader=loader, trim_blocks=True); template_file='/usr/share/sonic/templates/rsyslog-container.conf.j2'; template = env.get_template(os.path.basename(template_file)); data=template.render({\"target_ip\":\"$TARGET_IP\",\"container_name\":\"$CONTAINER_NAME\"}); print(data)" > $TMP_FILE - {%- else %} - sonic-cfggen -t /usr/share/sonic/templates/rsyslog-container.conf.j2 -a "{\"target_ip\": \"$TARGET_IP\", \"container_name\": \"$CONTAINER_NAME\" }" > $TMP_FILE - {%- endif %} - docker cp $TMP_FILE ${DOCKERNAME}:/etc/rsyslog.conf - rm -rf $TMP_FILE + else + if [ "$CONTAINER_EXISTS" = "yes" ]; then + # database configuration has been synced to /etc/rsyslog.conf + # no need generate it to save boot time + return + fi + TARGET_IP="127.0.0.1" fi + CONTAINER_NAME="$DOCKERNAME" + TMP_FILE="/tmp/rsyslog.$CONTAINER_NAME.conf" + {%- if docker_container_name == "database" %} + python -c "import jinja2, os; paths=['/usr/share/sonic/templates']; loader = jinja2.FileSystemLoader(paths); env = jinja2.Environment(loader=loader, trim_blocks=True); template_file='/usr/share/sonic/templates/rsyslog-container.conf.j2'; template = env.get_template(os.path.basename(template_file)); data=template.render({\"target_ip\":\"$TARGET_IP\",\"container_name\":\"$CONTAINER_NAME\"}); print(data)" > $TMP_FILE + {%- else %} + sonic-cfggen -d -t /usr/share/sonic/templates/rsyslog-container.conf.j2 -a "{\"target_ip\": \"$TARGET_IP\", \"container_name\": \"$CONTAINER_NAME\" }" > $TMP_FILE + {%- endif %} + docker cp $TMP_FILE ${DOCKERNAME}:/etc/rsyslog.conf + rm -rf $TMP_FILE } function ebtables_config() { @@ -342,6 +349,7 @@ start() { DOCKERMOUNT=`getMountPoint "$DOCKERCHECK"` {%- endif %} if [ x"$DOCKERMOUNT" == x"$MOUNTPATH" ]; then + CONTAINER_EXISTS="yes" preStartAction {%- if docker_container_name == "database" %} echo "Starting existing ${DOCKERNAME} container" @@ -536,6 +544,7 @@ start() { {%- endif %} $REDIS_MNT \ -v /usr/share/sonic/device/$PLATFORM:/usr/share/sonic/platform:ro \ + -v /usr/share/sonic/templates/rsyslog-container.conf.j2:/usr/share/sonic/templates/rsyslog-container.conf.j2:ro \ {%- if sonic_asic_platform != "mellanox" %} {%- if mount_default_tmpfs|default("n") == "y" %} --tmpfs /tmp \ @@ -547,6 +556,7 @@ start() { --env "NAMESPACE_ID"="$DEV" \ --env "NAMESPACE_PREFIX"="$NAMESPACE_PREFIX" \ --env "NAMESPACE_COUNT"=$NUM_ASIC \ + --env "CONTAINER_NAME"=$DOCKERNAME \ --name=$DOCKERNAME \ {%- if docker_container_name == "gbsyncd" %} -v /var/run/docker-syncd$DEV:/var/run/sswsyncd \ @@ -617,6 +627,7 @@ fi {%- endif %} NAMESPACE_PREFIX="asic" DOCKERNAME=$DOCKERNAME$DEV +CONTAINER_EXISTS="no" if [ "$DEV" ]; then NET_NS="$NAMESPACE_PREFIX$DEV" #name of the network namespace @@ -639,4 +650,4 @@ case "$1" in echo "Usage: $0 {start namespace(optional)|wait namespace(optional)|stop namespace(optional)}" exit 1 ;; -esac +esac \ No newline at end of file diff --git a/files/image_config/platform/rc.local b/files/image_config/platform/rc.local index 8692ff6484cd..11d26ff9af2c 100755 --- a/files/image_config/platform/rc.local +++ b/files/image_config/platform/rc.local @@ -289,7 +289,7 @@ if [ -f $FIRST_BOOT_FILE ]; then mv /etc/apt/sources.list /etc/apt/sources.list.rc-local echo "deb [trusted=yes] file:///host/image-$SONIC_VERSION/platform/common /" > /etc/apt/sources.list.d/sonic_debian_extension.list LANG=C DEBIAN_FRONTEND=noninteractive apt-get update - LANG=C DEBIAN_FRONTEND=noninteractive apt-get -y install /host/image-$SONIC_VERSION/platform/$platform/*.deb + LANG=C DEBIAN_FRONTEND=noninteractive apt-get -o DPkg::Path=$PATH:/usr/local/bin -y install /host/image-$SONIC_VERSION/platform/$platform/*.deb # Cleanup rm -f /etc/apt/sources.list.d/sonic_debian_extension.list rm -f /var/lib/apt/lists/_host_image-${SONIC_VERSION}_platform_common_Packages.lz4 diff --git a/files/image_config/rsyslog/rsyslog-container.conf.j2 b/files/image_config/rsyslog/rsyslog-container.conf.j2 index d17fbb6767ba..4e2c90b548b2 100644 --- a/files/image_config/rsyslog/rsyslog-container.conf.j2 +++ b/files/image_config/rsyslog/rsyslog-container.conf.j2 @@ -14,8 +14,24 @@ $ModLoad imuxsock # provides support for local system logging # # Set a rate limit on messages from the container # -$SystemLogRateLimitInterval 300 -$SystemLogRateLimitBurst 20000 + +{% if SYSLOG_CONFIG_FEATURE is defined %} +{% if container_name in SYSLOG_CONFIG_FEATURE %} +{% if 'rate_limit_interval' in SYSLOG_CONFIG_FEATURE[container_name]%} +{% set rate_limit_interval = SYSLOG_CONFIG_FEATURE[container_name]['rate_limit_interval'] %} +{% endif %} +{% if 'rate_limit_burst' in SYSLOG_CONFIG_FEATURE[container_name]%} +{% set rate_limit_burst = SYSLOG_CONFIG_FEATURE[container_name]['rate_limit_burst'] %} +{% endif %} +{% endif %} +{% endif %} + +{% if rate_limit_interval is defined %} +$SystemLogRateLimitInterval {{ rate_limit_interval }} +{% endif %} +{% if rate_limit_burst is defined %} +$SystemLogRateLimitBurst {{ rate_limit_burst }} +{% endif %} #$ModLoad imklog # provides kernel logging support #$ModLoad immark # provides --MARK-- message capability @@ -73,4 +89,4 @@ $RepeatedMsgReduction on ############### #### RULES #### -############### +############### \ No newline at end of file diff --git a/platform/mellanox/docker-syncd-mlnx/ecmp_calculator/README.md b/platform/mellanox/docker-syncd-mlnx/ecmp_calculator/README.md index 7eb90ec9063b..59a49edeca59 100644 --- a/platform/mellanox/docker-syncd-mlnx/ecmp_calculator/README.md +++ b/platform/mellanox/docker-syncd-mlnx/ecmp_calculator/README.md @@ -14,20 +14,34 @@ Packet is defined by a JSON file given as an argument to the tool. 3. Changes done in the packet classification (e.g. ACL, PBR) are not taken into consideration during calculation. ## Command line interface -1. User shall provide the following input parameters: +1. User shall enter syncd container to run ECMP calculator. +2. User shall provide the following input parameters: - JSON file describing a packet - Ingress port (e.g. "Ethernet0", must pe a physical interface) - Debug option for debug purposes (optional) - VRF name (optional) -2. Usage example: +3. Usage example: ``` -$ show ip ecmp-egress-port --packet /tmp/packet.json --ingress-port Ethernet0 --vrf Vrf_red --debug +$ docker exec -it syncd bash +$ /usr/bin/ecmp_calc.py -i Ethernet0 -p ./packet.json -v Vrf_red Egress port: Ethernet4 ``` -ECMP calculator is a vendor specific tool. If tool was not implemented and CLI command is being called, the following message will be returned to user: ``` -$ show ip ecmp-egress-port --packet /tmp/packet.json --ingress-port Ethernet0 --vrf Vrf_red --debug -ECMP calculator is not available in this image +$ docker exec -it syncd bash +$ /usr/bin/ecmp_calc.py -h +usage: ecmp_calc.py [-h] -i INTERFACE -p PACKET [-v VRF] [-d] + +ECMP calculator + +optional arguments: + -h, --help show this help message and exit + -i INTERFACE, --interface INTERFACE + Ingress interface + -p PACKET, --packet PACKET + Packet description + -v VRF, --vrf VRF VRF name + -d, --debug Flag for debug + ``` ## Packet JSON diff --git a/rules/config b/rules/config index 9bb3326faa28..0ec0b575fea7 100644 --- a/rules/config +++ b/rules/config @@ -229,6 +229,9 @@ TRUSTED_GPG_URLS = https://packages.trafficmanager.net/debian/public_key.gpg,htt # docker: docker base images SONIC_VERSION_CONTROL_COMPONENTS ?= none +# MIRROR_SNAPSHOT - support mirror snapshot flag +MIRROR_SNAPSHOT ?= n + # SONiC docker registry # # Set the env variable ENABLE_DOCKER_BASE_PULL = y to enable pulling sonic-slave docker from registry diff --git a/rules/docker-config-engine-bullseye.mk b/rules/docker-config-engine-bullseye.mk index ea0ae43b54b9..9548391a6917 100644 --- a/rules/docker-config-engine-bullseye.mk +++ b/rules/docker-config-engine-bullseye.mk @@ -11,8 +11,9 @@ $(DOCKER_CONFIG_ENGINE_BULLSEYE)_DEPENDS += $(LIBSWSSCOMMON) \ $(SONIC_DB_CLI) \ $(SONIC_EVENTD) $(DOCKER_CONFIG_ENGINE_BULLSEYE)_PYTHON_WHEELS += $(SONIC_PY_COMMON_PY3) \ - $(SONIC_YANG_MGMT_PY3) \ - $(SONIC_YANG_MODELS_PY3) + $(SONIC_YANG_MGMT_PY3) \ + $(SONIC_YANG_MODELS_PY3) \ + $(SONIC_CONTAINERCFGD) $(DOCKER_CONFIG_ENGINE_BULLSEYE)_PYTHON_WHEELS += $(SONIC_CONFIG_ENGINE_PY3) $(DOCKER_CONFIG_ENGINE_BULLSEYE)_LOAD_DOCKERS += $(DOCKER_BASE_BULLSEYE) $(DOCKER_CONFIG_ENGINE_BULLSEYE)_FILES += $(SWSS_VARS_TEMPLATE) diff --git a/rules/docker-config-engine-buster.mk b/rules/docker-config-engine-buster.mk index 38a94bae4c1d..cd6d6f43b46d 100644 --- a/rules/docker-config-engine-buster.mk +++ b/rules/docker-config-engine-buster.mk @@ -11,7 +11,8 @@ $(DOCKER_CONFIG_ENGINE_BUSTER)_DEPENDS += $(LIBSWSSCOMMON) \ $(SONIC_DB_CLI) $(DOCKER_CONFIG_ENGINE_BUSTER)_PYTHON_WHEELS += $(SONIC_PY_COMMON_PY3) \ $(SONIC_YANG_MGMT_PY3) \ - $(SONIC_YANG_MODELS_PY3) + $(SONIC_YANG_MODELS_PY3) \ + $(SONIC_CONTAINERCFGD) $(DOCKER_CONFIG_ENGINE_BUSTER)_PYTHON_WHEELS += $(SONIC_CONFIG_ENGINE_PY3) $(DOCKER_CONFIG_ENGINE_BUSTER)_LOAD_DOCKERS += $(DOCKER_BASE_BUSTER) $(DOCKER_CONFIG_ENGINE_BUSTER)_FILES += $(SWSS_VARS_TEMPLATE) diff --git a/rules/isc-dhcp.mk b/rules/isc-dhcp.mk index 1a1ad54678b8..0951836470ce 100644 --- a/rules/isc-dhcp.mk +++ b/rules/isc-dhcp.mk @@ -1,7 +1,7 @@ # isc-dhcp packages ISC_DHCP_VERSION = 4.4.1 -ISC_DHCP_VERSION_FULL = ${ISC_DHCP_VERSION}-2.3 +ISC_DHCP_VERSION_FULL = ${ISC_DHCP_VERSION}-2.3+deb11u1 export ISC_DHCP_VERSION ISC_DHCP_VERSION_FULL diff --git a/rules/sonic-containercfgd.dep b/rules/sonic-containercfgd.dep new file mode 100644 index 000000000000..48f8d320af92 --- /dev/null +++ b/rules/sonic-containercfgd.dep @@ -0,0 +1,10 @@ +SPATH := $($(SONIC_CONTAINERCFGD)_SRC_PATH) +DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/sonic-containercfgd.mk rules/sonic-containercfgd.dep +DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST) +SMDEP_FILES := $(addprefix $(SPATH)/,$(shell cd $(SPATH) && git ls-files)) + +$(SONIC_CONTAINERCFGD)_CACHE_MODE := GIT_CONTENT_SHA +$(SONIC_CONTAINERCFGD)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) +$(SONIC_CONTAINERCFGD)_DEP_FILES := $(DEP_FILES) +$(SONIC_CONTAINERCFGD)_SMDEP_FILES := $(SMDEP_FILES) +$(SONIC_CONTAINERCFGD)_SMDEP_PATHS := $(SPATH) diff --git a/rules/sonic-containercfgd.mk b/rules/sonic-containercfgd.mk new file mode 100644 index 000000000000..e59f3bbd0b45 --- /dev/null +++ b/rules/sonic-containercfgd.mk @@ -0,0 +1,8 @@ +# sonic-bgpcfgd package + +SONIC_CONTAINERCFGD = sonic_containercfgd-1.0-py3-none-any.whl +$(SONIC_CONTAINERCFGD)_SRC_PATH = $(SRC_PATH)/sonic-containercfgd +$(SONIC_CONTAINERCFGD)_DEPENDS += $(SONIC_PY_COMMON_PY3) +$(SONIC_CONTAINERCFGD)_DEBS_DEPENDS = $(LIBSWSSCOMMON) $(PYTHON3_SWSSCOMMON) +$(SONIC_CONTAINERCFGD)_PYTHON_VERSION = 3 +SONIC_PYTHON_WHEELS += $(SONIC_CONTAINERCFGD) diff --git a/scripts/build_mirror_config.sh b/scripts/build_mirror_config.sh index 5f94e701cbde..a1e5900a48b8 100755 --- a/scripts/build_mirror_config.sh +++ b/scripts/build_mirror_config.sh @@ -5,16 +5,40 @@ CONFIG_PATH=$1 export ARCHITECTURE=$2 export DISTRIBUTION=$3 +DEFAULT_MIRROR_URL_PREFIX=http://packages.trafficmanager.net +MIRROR_VERSION_FILE=files/build/versions/default/versions-mirror +[ -f target/versions/default/versions-mirror ] && MIRROR_VERSION_FILE=target/versions/default/versions-mirror + # The default mirror urls DEFAULT_MIRROR_URLS=http://debian-archive.trafficmanager.net/debian/,http://packages.trafficmanager.net/debian/debian/ DEFAULT_MIRROR_SECURITY_URLS=http://debian-archive.trafficmanager.net/debian-security/,http://packages.trafficmanager.net/debian/debian-security/ + # The debian-archive.trafficmanager.net does not support armhf, use debian.org instead if [ "$ARCHITECTURE" == "armhf" ]; then DEFAULT_MIRROR_URLS=http://deb.debian.org/debian/,http://packages.trafficmanager.net/debian/debian/ DEFAULT_MIRROR_SECURITY_URLS=http://deb.debian.org/debian-security/,http://packages.trafficmanager.net/debian/debian-security/ fi +if [ "$MIRROR_SNAPSHOT" == y ]; then + if [ -f $MIRROR_VERSION_FILE ]; then + DEBIAN_TIMESTAMP=$(grep "^debian==" $MIRROR_VERSION_FILE | tail -n 1 | sed 's/.*==//') + DEBIAN_SECURITY_TIMESTAMP=$(grep "^debian-security==" $MIRROR_VERSION_FILE | tail -n 1 | sed 's/.*==//') + elif [ -z "$DEBIAN_TIMESTAMP" ] || [ -z "$DEBIAN_SECURITY_TIMESTAMP" ]; then + DEBIAN_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian/latest/timestamp) + DEBIAN_SECURITY_TIMESTAMP=$(curl $DEFAULT_MIRROR_URL_PREFIX/snapshot/debian-security/latest/timestamp) + fi + + DEFAULT_MIRROR_URLS=http://deb.debian.org/debian/,http://packages.trafficmanager.net/snapshot/debian/$DEBIAN_TIMESTAMP/ + DEFAULT_MIRROR_SECURITY_URLS=http://deb.debian.org/debian-security/,http://packages.trafficmanager.net/snapshot/debian-security/$DEBIAN_SECURITY_TIMESTAMP/ + + mkdir -p target/versions/default + if [ ! -f target/versions/default/versions-mirror ]; then + echo "debian==$DEBIAN_TIMESTAMP" > target/versions/default/versions-mirror + echo "debian-security==$DEBIAN_SECURITY_TIMESTAMP" >> target/versions/default/versions-mirror + fi +fi + [ -z "$MIRROR_URLS" ] && MIRROR_URLS=$DEFAULT_MIRROR_URLS [ -z "$MIRROR_SECURITY_URLS" ] && MIRROR_SECURITY_URLS=$DEFAULT_MIRROR_SECURITY_URLS @@ -24,3 +48,7 @@ TEMPLATE=files/apt/sources.list.j2 [ -f $CONFIG_PATH/sources.list.$ARCHITECTURE.j2 ] && TEMPLATE=$CONFIG_PATH/sources.list.$ARCHITECTURE.j2 MIRROR_URLS=$MIRROR_URLS MIRROR_SECURITY_URLS=$MIRROR_SECURITY_URLS j2 $TEMPLATE | sed '/^$/N;/^\n$/D' > $CONFIG_PATH/sources.list.$ARCHITECTURE +if [ "$MIRROR_SNAPSHOT" == y ]; then + # Set the snapshot mirror, and add the SET_REPR_MIRRORS flag + sed -i -e "/^#*deb.*packages.trafficmanager.net/! s/^#*deb/#&/" -e "\$a#SET_REPR_MIRRORS" $CONFIG_PATH/sources.list.$ARCHITECTURE +fi diff --git a/scripts/generate_buildinfo_config.sh b/scripts/generate_buildinfo_config.sh index fe7657a6b6c9..080e6a321a6b 100755 --- a/scripts/generate_buildinfo_config.sh +++ b/scripts/generate_buildinfo_config.sh @@ -8,3 +8,4 @@ mkdir -p $BUILDINFO_PATH/buildinfo/config echo "PACKAGE_URL_PREFIX=$PACKAGE_URL_PREFIX" > $BUILDINFO_CONFIG echo "SONIC_VERSION_CONTROL_COMPONENTS=$SONIC_VERSION_CONTROL_COMPONENTS" >> $BUILDINFO_CONFIG +echo "export MIRROR_SNAPSHOT=$MIRROR_SNAPSHOT" >> $BUILDINFO_CONFIG diff --git a/scripts/versions_manager.py b/scripts/versions_manager.py index a20684e97bb4..d4127dece932 100755 --- a/scripts/versions_manager.py +++ b/scripts/versions_manager.py @@ -475,12 +475,13 @@ def filter(self, ctypes=[]): module.filter(ctypes=ctypes) def get_default_module(self): - if DEFAULT_MODULE in self.modules: - return self.modules[DEFAULT_MODULE] + default_module = self.modules.get(DEFAULT_MODULE, VersionModule(DEFAULT_MODULE, [])) ctypes = self.get_component_types() dists = self.get_dists() components = [] for ctype in ctypes: + if ctype in DEFAULT_OVERWRITE_COMPONENTS: + continue if ctype == 'deb': for dist in dists: versions = self._get_versions(ctype, dist) @@ -492,7 +493,9 @@ def get_default_module(self): common_versions = self._get_common_versions(versions) component = Component(common_versions, ctype) components.append(component) - return VersionModule(DEFAULT_MODULE, components) + module = VersionModule(DEFAULT_MODULE, components) + module.overwrite(default_module, True, True) + return module def get_aggregatable_modules(self): modules = {} diff --git a/slave.mk b/slave.mk index 0cb2cd894491..9b1b799b846f 100644 --- a/slave.mk +++ b/slave.mk @@ -86,6 +86,7 @@ export DOCKER_BASE_ARCH export CROSS_BUILD_ENVIRON export BLDENV export BUILD_WORKDIR +export MIRROR_SNAPSHOT ############################################################################### ## Utility rules diff --git a/src/dhcprelay b/src/dhcprelay index 9c3b73837f76..4bf1868dcf3f 160000 --- a/src/dhcprelay +++ b/src/dhcprelay @@ -1 +1 @@ -Subproject commit 9c3b73837f768b3220d68ed01030d204c650d476 +Subproject commit 4bf1868dcf3f77edfd298950e6c8826d24be8118 diff --git a/src/sonic-build-hooks/scripts/buildinfo_base.sh b/src/sonic-build-hooks/scripts/buildinfo_base.sh index ff249dfdfb91..b9cbb5b3fbc7 100755 --- a/src/sonic-build-hooks/scripts/buildinfo_base.sh +++ b/src/sonic-build-hooks/scripts/buildinfo_base.sh @@ -11,7 +11,7 @@ POST_VERSION_PATH=$BUILDINFO_PATH/post-versions VERSION_DEB_PREFERENCE=$BUILDINFO_PATH/versions/01-versions-deb WEB_VERSION_FILE=$VERSION_PATH/versions-web BUILD_WEB_VERSION_FILE=$BUILD_VERSION_PATH/versions-web -REPR_MIRROR_URL_PATTERN='http:\/\/packages.trafficmanager.net\/debian' +REPR_MIRROR_URL_PATTERN='http:\/\/packages.trafficmanager.net\/' DPKG_INSTALLTION_LOCK_FILE=/tmp/.dpkg_installation.lock . $BUILDINFO_PATH/config/buildinfo.config @@ -72,14 +72,39 @@ set_reproducible_mirrors() { # Remove the charater # in front of the line if matched local expression="s/^#\(.*$REPR_MIRROR_URL_PATTERN\)/\1/" + # Add the character # in front of the line, if not match the URL pattern condition + local expression2="/^#*deb.*$REPR_MIRROR_URL_PATTERN/! s/^#*deb/#&/" + local expression3="\$a#SET_REPR_MIRRORS" if [ "$1" = "-d" ]; then # Add the charater # in front of the line if match expression="s/^deb.*$REPR_MIRROR_URL_PATTERN/#\0/" + # Remove the character # in front of the line, if not match the URL pattern condition + expression2="/^#*deb.*$REPR_MIRROR_URL_PATTERN/! s/^#(#*deb)/\1/" + expression3="/#SET_REPR_MIRRORS/d" fi local mirrors="/etc/apt/sources.list $(find /etc/apt/sources.list.d/ -type f)" for mirror in $mirrors; do + if ! grep -iq "$REPR_MIRROR_URL_PATTERN" "$mirror"; then + continue + fi + + # Make sure no duplicate operations on the mirror config file + if ([ "$1" == "-d" ] && ! grep -iq "#SET_REPR_MIRRORS" "$mirror") || + ([ "$1" != "-d" ] && grep -iq "#SET_REPR_MIRRORS" "$mirror"); then + continue + fi + + # Enable or disable the reproducible mirrors $SUDO sed -i "$expression" "$mirror" + + # Enable or disable the none reproducible mirrors + if [ "$MIRROR_SNAPSHOT" == y ]; then + $SUDO sed -ri "$expression2" "$mirror" + fi + + # Add or remove the SET_REPR_MIRRORS flag + $SUDO sed -i "$expression3" "$mirror" done } diff --git a/src/sonic-build-hooks/scripts/collect_version_files b/src/sonic-build-hooks/scripts/collect_version_files index a4b33eeaa897..3fcc99a87106 100755 --- a/src/sonic-build-hooks/scripts/collect_version_files +++ b/src/sonic-build-hooks/scripts/collect_version_files @@ -18,6 +18,13 @@ dpkg-query -W -f '${Package}==${Version}\n' >> "${TARGET_PATH}/versions-deb-${DI ## Add the the packages purged [ -f $POST_VERSION_PATH/purge-versions-deb ] && cat $POST_VERSION_PATH/purge-versions-deb >> "${TARGET_PATH}/versions-deb-${DIST}-${ARCH}" +## Add mirror versions +while read -r line; do + mirror=$(echo "$line" | sed "s/.*\///" | sed "s/_InRelease.*//") + date=$(date --date="$(echo "$line" | cut -d: -f3-)" +%Y-%m-%dT%H:%M:%SZ) + echo "$mirror==$date" >> ${TARGET_PATH}/versions-mirror +done < <(grep Date: /var/lib/apt/lists/*_InRelease 2>/dev/null) + ## Print the unique and sorted result sort -u "${TARGET_PATH}/versions-deb-${DIST}-${ARCH}" -o "${TARGET_PATH}/versions-deb-${DIST}-${ARCH}" if [ -e "${TARGET_PATH}/versions-py2-${DIST}-${ARCH}" ]; then @@ -26,5 +33,8 @@ fi if [ -e "${TARGET_PATH}/versions-py3-${DIST}-${ARCH}" ]; then sort -u "${TARGET_PATH}/versions-py3-${DIST}-${ARCH}" -o "${TARGET_PATH}/versions-py3-${DIST}-${ARCH}" fi +if [ -e "${TARGET_PATH}/versions-mirror" ]; then + sort -u "${TARGET_PATH}/versions-mirror" -o "${TARGET_PATH}/versions-mirror" +fi exit 0 diff --git a/src/sonic-containercfgd/.gitignore b/src/sonic-containercfgd/.gitignore new file mode 100644 index 000000000000..5ae7a596bfb6 --- /dev/null +++ b/src/sonic-containercfgd/.gitignore @@ -0,0 +1,13 @@ +# Compiled Python files +*.pyc + +# Generated by packaging +*.egg-info/ +.eggs/ +build/ +dist/ + +# Unit test coverage +.coverage +coverage.xml +htmlcov/ diff --git a/src/sonic-containercfgd/containercfgd/__init__.py b/src/sonic-containercfgd/containercfgd/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/src/sonic-containercfgd/containercfgd/containercfgd.py b/src/sonic-containercfgd/containercfgd/containercfgd.py new file mode 100644 index 000000000000..14b47db3c09f --- /dev/null +++ b/src/sonic-containercfgd/containercfgd/containercfgd.py @@ -0,0 +1,198 @@ +import os +import re +import signal +import subprocess +import sys + +from sonic_py_common import daemon_base, logger +from swsscommon.swsscommon import ConfigDBConnector, RestartWaiter + +SYSLOG_IDENTIFIER = "containercfgd" +logger = logger.Logger(SYSLOG_IDENTIFIER) + +# Table names +FEATURE_TABLE = 'FEATURE' +SYSLOG_CONFIG_FEATURE_TABLE = 'SYSLOG_CONFIG_FEATURE' + +# Table field names +SYSLOG_RATE_LIMIT_INTERVAL = 'rate_limit_interval' +SYSLOG_RATE_LIMIT_BURST = 'rate_limit_burst' + +# Container name +container_name = None + + +def run_command(command): + """ + Utility function to run an shell command and return the output. + :param command: Shell command string. + :return: Output of the shell command. + """ + return subprocess.check_output(command, text=True, stderr=subprocess.PIPE) + + +class ContainerConfigDaemon(daemon_base.DaemonBase): + handlers = {} + + def __init__(self): + super(ContainerConfigDaemon, self).__init__(SYSLOG_IDENTIFIER) + + def run(self): + """Register config handlers and listen to CONFIG DB changes + """ + config_db = ConfigDBConnector() + config_db.connect(wait_for_init=True, retry_on=True) + self.log_notice(f'Connected to CONFIG DB') + for table_name, handler in self.handlers.items(): + config_db.subscribe(table_name, handler.handle_config) + config_db.listen(init_data_handler=self.init_data_handler) + + def init_data_handler(self, init_data): + """Handle initial data in CONFIG DB + + Args: + init_data (dict): Initial data when first time connecting to CONFIG DB. {: {: }} + """ + for handler in self.handlers.values(): + handler.handle_init_data(init_data) + + @classmethod + def register_handler(cls, table_name, object_type): + """Register CONFIG DB handler + + Args: + table_name (str): CONFIG DB table name + object_type (class): Class of CONFIG DB handler + """ + cls.handlers[table_name] = object_type() + + def signal_handler(self, sig, frame): + if sig == signal.SIGHUP: + self.log_info("ContainerCfgd: Caught SIGHUP - ignoring...") + elif sig == signal.SIGINT: + self.log_info("ContainerCfgd: Caught SIGINT - exiting...") + sys.exit(128 + sig) + elif sig == signal.SIGTERM: + self.log_info("ContainerCfgd: Caught SIGTERM - exiting...") + sys.exit(128 + sig) + else: + self.log_warning("ContainerCfgd: Caught unhandled signal '{}'".format(sig)) + + +def config_handler(table_name): + """Decorator to register CONFIG DB handler + + Args: + table_name (str): CONFIG DB table name + """ + def wrapper(object_type): + ContainerConfigDaemon.register_handler(table_name, object_type) + return object_type + return wrapper + + +@config_handler(SYSLOG_CONFIG_FEATURE_TABLE) +class SyslogHandler: + # syslog conf file path in docker + SYSLOG_CONF_PATH = '/etc/rsyslog.conf' + # temporary syslog conf file path in docker + TMP_SYSLOG_CONF_PATH = '/tmp/rsyslog.conf' + + # Regular expressions to extract value from rsyslog.conf + INTERVAL_PATTERN = '.*SystemLogRateLimitInterval\s+(\d+).*' + BURST_PATTERN = '.*SystemLogRateLimitBurst\s+(\d+).*' + TARGET_IP_PATTERN = '.*target="(.*?)".*' + + def __init__(self): + self.current_interval, self.current_burst, self.target_ip = self.parse_syslog_conf() + + def handle_config(self, table, key, data): + """Handle CONFIG DB change. Callback by ConfigDBConnector. + + Args: + table (str): CONFIG DB table name + key (str): Key of the changed entry + data (dict): Data of the entry: {: } + """ + try: + if key != container_name: + return + self.update_syslog_config(data) + except Exception as e: + logger.log_error('Failed to config syslog for container {} with data {} - {}'.format(key, data, e)) + + def handle_init_data(self, init_data): + """Handle initial data in CONFIG DB. Callback by ConfigDBConnector. + + Args: + init_data (dict): Initial data when first time connecting to CONFIG DB. {: {: }} + """ + if SYSLOG_CONFIG_FEATURE_TABLE in init_data: + if container_name in init_data[SYSLOG_CONFIG_FEATURE_TABLE]: + self.update_syslog_config(init_data[SYSLOG_CONFIG_FEATURE_TABLE][container_name]) + + def update_syslog_config(self, data): + """Parse existing syslog conf and apply new syslog conf. + + Args: + data (dict): Data of the entry: {: } + """ + new_interval = '0' if not data else data.get(SYSLOG_RATE_LIMIT_INTERVAL, '0') + new_burst = '0' if not data else data.get(SYSLOG_RATE_LIMIT_BURST, '0') + + if new_interval == self.current_interval and new_burst == self.current_burst: + logger.log_notice('Syslog rate limit configuration does not change, ignore it') + return + + logger.log_notice(f'Configure syslog rate limit interval={new_interval}, burst={new_burst}') + + if os.path.exists(self.TMP_SYSLOG_CONF_PATH): + os.remove(self.TMP_SYSLOG_CONF_PATH) + with open(self.TMP_SYSLOG_CONF_PATH, 'w+') as f: + json_args = f'{{"target_ip": "127.0.0.1", "{self.target_ip}": "{container_name}" }}' + output = run_command(['sonic-cfggen', '-d', '-t', '/usr/share/sonic/templates/rsyslog-container.conf.j2', '-a', json_args]) + f.write(output) + run_command(['cp', self.TMP_SYSLOG_CONF_PATH, self.SYSLOG_CONF_PATH]) + run_command(['supervisorctl', 'restart', 'rsyslogd']) + self.current_interval = new_interval + self.current_burst = new_burst + + def parse_syslog_conf(self): + """Passe existing syslog conf and extract config values + + Returns: + tuple: interval,burst,target_ip + """ + interval = '0' + burst = '0' + target_ip = None + + with open(self.SYSLOG_CONF_PATH, 'r') as f: + content = f.read() + pattern = re.compile(self.INTERVAL_PATTERN) + for match in pattern.finditer(content): + interval = match.group(1) + break + + pattern = re.compile(self.BURST_PATTERN) + for match in pattern.finditer(content): + burst = match.group(1) + break + + pattern = re.compile(self.TARGET_IP_PATTERN) + for match in pattern.finditer(content): + target_ip = match.group(1) + break + return interval, burst, target_ip + + +def main(): + RestartWaiter.waitAdvancedBootDone() + global container_name + container_name = os.environ['CONTAINER_NAME'] + daemon = ContainerConfigDaemon() + daemon.run() + + +if __name__ == '__main__': + main() diff --git a/src/sonic-containercfgd/pytest.ini b/src/sonic-containercfgd/pytest.ini new file mode 100644 index 000000000000..2fc0931f27a7 --- /dev/null +++ b/src/sonic-containercfgd/pytest.ini @@ -0,0 +1,2 @@ +[pytest] +addopts = --cov=containercfgd --cov-report html --cov-report term --cov-report xml diff --git a/src/sonic-containercfgd/setup.cfg b/src/sonic-containercfgd/setup.cfg new file mode 100644 index 000000000000..b7e478982ccf --- /dev/null +++ b/src/sonic-containercfgd/setup.cfg @@ -0,0 +1,2 @@ +[aliases] +test=pytest diff --git a/src/sonic-containercfgd/setup.py b/src/sonic-containercfgd/setup.py new file mode 100644 index 000000000000..9f60c58135b4 --- /dev/null +++ b/src/sonic-containercfgd/setup.py @@ -0,0 +1,48 @@ +from setuptools import setup + +dependencies = [ + 'sonic_py_common', +] + +setup( + name='sonic-containercfgd', + version='1.0', + description='SONiC container config daemon package', + license='Apache 2.0', + author='SONiC Team', + author_email='linuxnetdev@microsoft.com', + url='https://github.com/Azure/sonic-buildimage', + maintainer='Junchao Chen', + maintainer_email='junchaow@nvidia.com', + install_requires=dependencies, + entry_points={ + 'console_scripts': [ + 'containercfgd = containercfgd.containercfgd:main', + ] + }, + packages=[ + 'containercfgd', + 'tests' + ], + setup_requires=[ + 'pytest-runner' + ], + tests_require=[ + 'pytest', + 'mock>=2.0.0' + ], + classifiers=[ + 'Development Status :: 4 - Beta', + 'Environment :: No Input/Output (Daemon)', + 'Intended Audience :: Developers', + 'Intended Audience :: Information Technology', + 'Intended Audience :: System Administrators', + 'License :: OSI Approved :: Apache Software License', + 'Natural Language :: English', + 'Operating System :: POSIX :: Linux', + 'Programming Language :: Python :: 3.7', + 'Topic :: System :: Hardware', + ], + keywords='SONiC sonic container config daemon', + test_suite='setup.get_test_suite' +) diff --git a/src/sonic-containercfgd/tests/conftest.py b/src/sonic-containercfgd/tests/conftest.py new file mode 100644 index 000000000000..0ac7be4265bd --- /dev/null +++ b/src/sonic-containercfgd/tests/conftest.py @@ -0,0 +1,7 @@ +import os + + +def init_env(): + # Just make sure there is an environment variable CONTAINER_NAME + # The value of this environment variable is not important + os.environ["CONTAINER_NAME"] = "some_container" diff --git a/src/sonic-containercfgd/tests/mock_empty_rsyslog.conf b/src/sonic-containercfgd/tests/mock_empty_rsyslog.conf new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/src/sonic-containercfgd/tests/mock_rsyslog.conf b/src/sonic-containercfgd/tests/mock_rsyslog.conf new file mode 100644 index 000000000000..68e917b9344c --- /dev/null +++ b/src/sonic-containercfgd/tests/mock_rsyslog.conf @@ -0,0 +1,29 @@ +$ModLoad imuxsock # provides support for local system logging + +# +# Set a rate limit on messages from the container +# + + +$SystemLogRateLimitInterval 50 +$SystemLogRateLimitBurst 10002 + +#$ModLoad imklog # provides kernel logging support +#$ModLoad immark # provides --MARK-- message capability + +# provides UDP syslog reception +#$ModLoad imudp +#$UDPServerRun 514 + +# provides TCP syslog reception +#$ModLoad imtcp +#$InputTCPServerRun 514 + + +########################### +#### GLOBAL DIRECTIVES #### +########################### + +# Set remote syslog server +template (name="ForwardFormatInContainer" type="string" string="<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% pmon#%syslogtag%%msg:::sp-if-no-1st-sp%%msg%") +*.* action(type="omfwd" target="127.0.0.1" port="514" protocol="udp" Template="ForwardFormatInContainer") diff --git a/src/sonic-containercfgd/tests/test_config_daemon.py b/src/sonic-containercfgd/tests/test_config_daemon.py new file mode 100644 index 000000000000..3604a32ab2d8 --- /dev/null +++ b/src/sonic-containercfgd/tests/test_config_daemon.py @@ -0,0 +1,54 @@ +import os +import sys +from unittest import mock + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +sys.path.insert(0, modules_path) + +from containercfgd import containercfgd + + +@containercfgd.config_handler('MockTable') +class MockHandler: + def handle_init_data(self, init_data): + pass + + def handle_config(self, table, key, data): + pass + + +def test_handler_register(): + assert 'MockTable' in containercfgd.ContainerConfigDaemon.handlers + assert isinstance(containercfgd.ContainerConfigDaemon.handlers['MockTable'], MockHandler) + + +def test_init_data_handler(): + mock_handler_cls = mock.MagicMock() + mock_handler_instance = mock.MagicMock() + mock_handler_instance.handle_init_data = mock.MagicMock() + mock_handler_cls.return_value = mock_handler_instance + + containercfgd.ContainerConfigDaemon.register_handler('LoadMock', mock_handler_cls) + daemon = containercfgd.ContainerConfigDaemon() + daemon.init_data_handler({}) + mock_handler_instance.handle_init_data.assert_called_once() + containercfgd.ContainerConfigDaemon.handlers.pop('LoadMock') + + +@mock.patch('containercfgd.containercfgd.ConfigDBConnector') +def test_run(mock_connector): + mock_db = mock.MagicMock() + mock_db.connect = mock.MagicMock() + mock_db.subscribe = mock.MagicMock() + mock_db.listen = mock.MagicMock() + mock_connector.return_value = mock_db + + daemon = containercfgd.ContainerConfigDaemon() + daemon.run() + mock_db.connect.assert_called_once() + expected = [] + for table_name, handler in containercfgd.ContainerConfigDaemon.handlers.items(): + expected.append(mock.call(table_name, handler.handle_config)) + mock_db.subscribe.assert_has_calls(expected, any_order=True) + mock_db.listen.assert_called_once() diff --git a/src/sonic-containercfgd/tests/test_syslog_config.py b/src/sonic-containercfgd/tests/test_syslog_config.py new file mode 100644 index 000000000000..23e5887b9d26 --- /dev/null +++ b/src/sonic-containercfgd/tests/test_syslog_config.py @@ -0,0 +1,81 @@ +import os +import sys +from unittest import mock + +test_path = os.path.dirname(os.path.abspath(__file__)) +modules_path = os.path.dirname(test_path) +sys.path.insert(0, modules_path) + +from containercfgd import containercfgd + +containercfgd.container_name = 'swss' + + +def test_handle_config(): + handler = containercfgd.SyslogHandler() + handler.update_syslog_config = mock.MagicMock() + + handler.handle_config(containercfgd.SYSLOG_CONFIG_FEATURE_TABLE, + 'bgp', + None) + handler.update_syslog_config.assert_not_called() + + handler.handle_config(containercfgd.SYSLOG_CONFIG_FEATURE_TABLE, + 'swss', + None) + handler.update_syslog_config.assert_called_once() + + handler.update_syslog_config.side_effect = Exception('') + handler.handle_config(containercfgd.SYSLOG_CONFIG_FEATURE_TABLE, + 'swss', + None) + + +def test_handle_init_data(): + handler = containercfgd.SyslogHandler() + handler.update_syslog_config = mock.MagicMock() + + init_data = {} + handler.handle_init_data(init_data) + handler.update_syslog_config.assert_not_called() + + init_data = {containercfgd.SYSLOG_CONFIG_FEATURE_TABLE: {}} + handler.handle_init_data(init_data) + handler.update_syslog_config.assert_not_called() + + init_data = {containercfgd.SYSLOG_CONFIG_FEATURE_TABLE: {'swss': {}}} + handler.handle_init_data(init_data) + handler.update_syslog_config.assert_called_once() + + +@mock.patch('containercfgd.containercfgd.run_command') +@mock.patch('containercfgd.containercfgd.SyslogHandler.parse_syslog_conf', mock.MagicMock(return_value=('100', '200', '127.0.0.1'))) +def test_update_syslog_config(mock_run_cmd): + mock_run_cmd.return_value = "" + handler = containercfgd.SyslogHandler() + + data = {containercfgd.SYSLOG_RATE_LIMIT_INTERVAL: '100', + containercfgd.SYSLOG_RATE_LIMIT_BURST: '200'} + handler.update_syslog_config(data) + mock_run_cmd.assert_not_called() + + data = {containercfgd.SYSLOG_RATE_LIMIT_INTERVAL: '200', + containercfgd.SYSLOG_RATE_LIMIT_BURST: '200'} + + handler.update_syslog_config(data) + mock_run_cmd.assert_called() + + +def test_parse_syslog_conf(): + handler = containercfgd.SyslogHandler() + handler.SYSLOG_CONF_PATH = os.path.join(test_path, 'mock_rsyslog.conf') + interval, burst, target_ip = handler.parse_syslog_conf() + assert interval == '50' + assert burst == '10002' + assert target_ip == '127.0.0.1' + + handler.SYSLOG_CONF_PATH = os.path.join(test_path, 'mock_empty_rsyslog.conf') + interval, burst, target_ip = handler.parse_syslog_conf() + assert interval == '0' + assert burst == '0' + assert target_ip is None diff --git a/src/sonic-host-services b/src/sonic-host-services index d3a4cf1f6c4d..4a2ef99630ee 160000 --- a/src/sonic-host-services +++ b/src/sonic-host-services @@ -1 +1 @@ -Subproject commit d3a4cf1f6c4dd633cfe9b07dfc26331238d79f37 +Subproject commit 4a2ef99630ee02e104643bf356cafd6a1228b882 diff --git a/src/sonic-utilities b/src/sonic-utilities index 72b9cf90f41b..4bd35e62ad8f 160000 --- a/src/sonic-utilities +++ b/src/sonic-utilities @@ -1 +1 @@ -Subproject commit 72b9cf90f41bed37521ad20579943dc0c9a0eb4a +Subproject commit 4bd35e62ad8fd4e41f4f9ad1821abf6cde3fa1da