Skip to content

Commit

Permalink
gNOI Cold Reboot - Integrated Docker and Makefile changes
Browse files Browse the repository at this point in the history
  • Loading branch information
rkavitha-hcl committed Nov 1, 2024
1 parent 5446d81 commit 44f1889
Show file tree
Hide file tree
Showing 23 changed files with 632 additions and 3 deletions.
229 changes: 229 additions & 0 deletions files/build/versions/dockers/docker-framework/versions-deb-bullseye
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
adduser==4.118+deb11u1
apt==2.2.4
apt-utils==2.2.4
base-files==11.1+deb11u9
base-passwd==3.5.51
bash==5.1-2+deb11u1
bsdutils==1:2.36.1-8+deb11u2
ca-certificates==20210119
coreutils==8.32-4+b1
curl==7.74.0-1.3+deb11u11
dash==0.5.11+git20200708+dd9ef66-5
debconf==1.5.77
debian-archive-keyring==2021.1.1+deb11u1
debianutils==4.11.2
diffutils==1:3.7-5
dpkg==1.20.13
dpkg-dev==1.20.13
e2fsprogs==1.46.2-2
findutils==4.8.0-1
framework==1.0.0
framework-dbg==1.0.0
gcc-10-base==10.2.1-6
gcc-9-base==9.3.0-22
gdb==10.1-1.7
gdbserver==10.1-1.7
gpgv==2.2.27-2+deb11u2
grep==3.6-1+deb11u1
gzip==1.10-4+deb11u1
hostname==3.23
init-system-helpers==1.60
iproute2==5.10.0-4
jq==1.6-2.1
less==551-2+deb11u2
libabsl20200923==0~20200923.3-2
libacl1==2.2.53-10
libapt-pkg6.0==2.2.4
libatomic1==10.2.1-6
libattr1==1:2.4.48-6
libaudit-common==1:3.0-2
libaudit1==1:3.0-2
libbabeltrace1==1.5.8-1+b3
libblkid1==2.36.1-8+deb11u2
libboost-regex1.74.0==1.74.0-9
libboost-serialization1.74.0==1.74.0-9
libbpf0==1:0.3-3
libbrotli1==1.0.9-2+b2
libbsd0==0.11.3-1+deb11u1
libbz2-1.0==1.0.8-4
libc-ares2==1.17.1-1+deb11u3
libc-bin==2.31-13+deb11u10
libc6==2.31-13+deb11u10
libcap-ng0==0.7.9-2.2+b1
libcap2==1:2.44-1
libcap2-bin==1:2.44-1
libcbor0==0.5.0+dfsg-2
libcom-err2==1.46.2-2
libcrypt1==1:4.4.18-4
libcurl3-gnutls==7.74.0-1.3+deb11u11
libcurl4==7.74.0-1.3+deb11u11
libdaemon0==0.14-7.1
libdb5.3==5.3.28+dfsg1-0.8
libdbus-1-3==1.12.28-0+deb11u1
libdbus-c++-1-0v5==0.9.0-8.2
libdebconfclient0==0.260
libdebuginfod1==0.183-1
libdw1==0.183-1
libecore1==1.25.1-1
libedit2==3.1-20191231-2+b1
libeina1a==1.25.1-1
libelf1==0.183-1
libestr0==0.1.10-2.1+b1
libexpat1==2.2.10-2+deb11u5
libext2fs2==1.46.2-2
libfastjson4==0.99.9-1
libffi7==3.3-6
libfido2-1==1.6.0-2
libgcc-s1==10.2.1-6
libgcrypt20==1.8.7-6
libgdbm-compat4==1.19-2
libgdbm6==1.19-2
libglib2.0-0==2.66.8-1+deb11u3
libgmp10==2:6.2.1+dfsg-1+deb11u1
libgnutls30==3.7.1-5+deb11u4
libgpg-error0==1.38-2
libgpm2==1.20.7-8
libgrpc++1==1.30.2-3
libgrpc10==1.30.2-3
libgssapi-krb5-2==1.18.3-6+deb11u4
libhiredis0.14==0.14.1-1
libhiredis0.14-dbgsym==0.14.1-1
libhogweed6==3.7.3-1
libicu67==67.1-7
libidn2-0==2.3.0-5
libipt2==2.0.3-1
libjansson4==2.13.1-1.1
libjemalloc2==5.2.1-3
libjq1==1.6-2.1
libjs-jquery==3.5.1+dfsg+~3.5.5-7
libk5crypto3==1.18.3-6+deb11u4
libkeyutils1==1.6.1-2
libkrb5-3==1.18.3-6+deb11u4
libkrb5support0==1.18.3-6+deb11u4
libldap-2.4-2==2.4.57+dfsg-3+deb11u1
liblognorm5==2.0.5-1.1
liblua5.1-0==5.1.5-8.1+b3
liblz4-1==1.9.3-2
liblzf1==3.6-3
liblzma5==5.2.5-2.1~deb11u1
libmd0==1.0.3-3
libmnl0==1.0.4-3
libmount1==2.36.1-8+deb11u2
libmpdec3==2.5.1-1
libmpfr6==4.1.0-3
libncurses6==6.2+20201114-2+deb11u2
libncursesw6==6.2+20201114-2+deb11u2
libnettle8==3.7.3-1
libnghttp2-14==1.43.0-1+deb11u1
libnl-3-200==3.5.0-1
libnl-cli-3-200==3.5.0-1
libnl-genl-3-200==3.5.0-1
libnl-nf-3-200==3.5.0-1
libnl-route-3-200==3.5.0-1
libnorm1==1.5.9+dfsg-2
libnsl2==1.3.0-2
libonig5==6.9.6-1.1
libp11-kit0==0.23.22-1
libpam-modules==1.4.0-9+deb11u1
libpam-modules-bin==1.4.0-9+deb11u1
libpam-runtime==1.4.0-9+deb11u1
libpam0g==1.4.0-9+deb11u1
libpcre2-8-0==10.36-2+deb11u1
libpcre3==2:8.39-13
libperl5.32==5.32.1-4+deb11u3
libpgm-5.3-0==5.3.128~dfsg-2
libprocps8==2:3.3.17-5
libprotobuf-dev==3.21.12-3
libprotobuf-lite32==3.21.12-3
libprotobuf32==3.21.12-3
libprotoc32==3.21.12-3
libpsl5==0.21.0-1.2
libpython3-stdlib==3.9.2-3
libpython3.9==3.9.2-1
libpython3.9-minimal==3.9.2-1
libpython3.9-stdlib==3.9.2-1
libreadline8==8.1-1
librtmp1==2.4+20151223.gitfa8646d.1-2+b2
libsasl2-2==2.1.27+dfsg-2.1+deb11u1
libsasl2-modules-db==2.1.27+dfsg-2.1+deb11u1
libseccomp2==2.5.1-1+deb11u1
libselinux1==3.1-3
libsemanage-common==3.1-1
libsemanage1==3.1-1+b2
libsepol1==3.1-1
libsmartcols1==2.36.1-8+deb11u2
libsodium23==1.0.18-1
libsource-highlight-common==3.1.9-3
libsource-highlight4v5==3.1.9-3+b1
libsqlite3-0==3.34.1-3
libss2==1.46.2-2
libssh2-1==1.9.0-2
libssl1.1==1.1.1w-0+deb11u1
libstdc++6==10.2.1-6
libswsscommon==1.0.0
libswsscommon-dbgsym==1.0.0
libsystemd0==247.3-7+deb11u4
libtasn1-6==4.16.0-2+deb11u1
libtinfo6==6.2+20201114-2+deb11u2
libtirpc-common==1.3.1-1+deb11u1
libtirpc3==1.3.1-1+deb11u1
libudev1==247.3-7+deb11u4
libunistring2==0.9.10-4
libunwind8==1.3.2-2
libuuid1==2.36.1-8+deb11u2
libwrap0==7.6.q-31
libxtables12==1.8.7-1
libxxhash0==0.8.0-2
libyang==1.0.73
libyang-cpp==1.0.73
libzmq5==4.3.4-1+deb11u1
libzstd1==1.4.8+dfsg-2.1
login==1:4.8.1-1
logsave==1.46.2-2
lsb-base==11.1.0
lua-bitop==1.0.2-5
lua-cjson==2.1.0+dfsg-2.1
mawk==1.3.4.20200120-2
media-types==4.0.0
mount==2.36.1-8+deb11u2
ncurses-base==6.2+20201114-2+deb11u2
ncurses-bin==6.2+20201114-2+deb11u2
net-tools==1.60+git20181103.0eebece-1
netbase==6.3
openssh-client==1:8.4p1-5+deb11u3
openssl==1.1.1w-0+deb11u1
passwd==1:4.8.1-1
perl==5.32.1-4+deb11u3
perl-base==5.32.1-4+deb11u3
perl-modules-5.32==5.32.1-4+deb11u3
procps==2:3.3.17-5
protobuf-compiler==3.21.12-3
python-is-python3==3.9.2-1
python3==3.9.2-3
python3-distutils==3.9.2-1
python3-lib2to3==3.9.2-1
python3-minimal==3.9.2-3
python3-swsscommon==1.0.0
python3-yang==1.0.73
python3.9==3.9.2-1
python3.9-minimal==3.9.2-1
readline-common==8.1-1
redis-tools==5:6.0.16-1+deb11u2
rsyslog==8.2302.0-1~bpo11+1
sed==4.7-1
socat==1.7.4.1-3
sonic-build-hooks==1.0
sonic-db-cli==1.0.0
sonic-eventd==1.0.0-0
sshpass==1.09-1+b1
strace==5.10-1
sysvinit-utils==2.96-7+deb11u1
tar==1.34+dfsg-1+deb11u1
tzdata==2024a-0+deb11u1
util-linux==2.36.1-8+deb11u2
vim==2:8.2.2434-3+deb11u1
vim-common==2:8.2.2434-3+deb11u1
vim-runtime==2:8.2.2434-3+deb11u1
vim-tiny==2:8.2.2434-3+deb11u1
xxd==2:8.2.2434-3+deb11u1
zlib1g==1:1.2.11.dfsg-2+deb11u2
3 changes: 3 additions & 0 deletions files/build/versions/dockers/docker-framework/versions-mirror
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
debian-archive.trafficmanager.net_debian-security_dists_bullseye-security==2024-05-10T08:02:59Z
debian-archive.trafficmanager.net_debian_dists_bullseye-backports==2024-05-10T02:16:16Z
debian-archive.trafficmanager.net_debian_dists_bullseye-updates==2024-05-10T02:16:16Z
26 changes: 26 additions & 0 deletions files/build/versions/dockers/docker-framework/versions-py3
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
async-timeout==4.0.3
bitarray==1.5.3
ijson==2.6.1
ipaddress==1.0.23
j2cli==0.3.10
jinja2==3.1.4
jsondiff==2.0.0
lxml==4.9.1
markupsafe==2.1.5
natsort==6.2.1
netaddr==0.8.0
pip==24.0
pyang==2.6.0
pyangbind==0.8.1
pyyaml==5.4.1
redis==4.5.4
redis-dump-load==1.1
regex==2024.5.10
setuptools==58.1.0
six==1.16.0
supervisor==4.2.1
supervisord-dependent-startup==1.4.0
tabulate==0.8.2
toposort==1.10
wheel==0.40.0
xmltodict==0.12.0
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ fontconfig-config==2.13.1-4.2
fonts-dejavu-core==2.37-2
fonts-font-awesome==5.0.10+really4.7.0~dfsg-4.1
fonts-lato==2.0-2.1
framework==1.0.0
frr==8.5.4-sonic-0
gettext-base==0.21-4
gir1.2-glib-2.0==1.66.1-1+b1
Expand Down
22 changes: 22 additions & 0 deletions files/build_templates/framework.service.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[Unit]
Description=Framework Container
Requires=database.service
After=database.service swss.service
BindsTo=sonic.target
After=sonic.target
Before=ntp-config.service
StartLimitIntervalSec=1200
StartLimitBurst=3


[Service]
User={{ sonicadmin_user }}
ExecStartPre=/usr/bin/{{docker_container_name}}.sh start
ExecStart=/usr/bin/{{docker_container_name}}.sh wait
ExecStop=/usr/bin/{{docker_container_name}}.sh stop
Restart=always
RestartSec=30


[Install]
WantedBy=sonic.target
3 changes: 2 additions & 1 deletion files/build_templates/init_cfg.json.j2
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
},
{%- set features = [("bgp", "{% if not DEVICE_RUNTIME_METADATA['ETHERNET_PORTS_PRESENT'] or ('CHASSIS_METADATA' in DEVICE_RUNTIME_METADATA and DEVICE_RUNTIME_METADATA['CHASSIS_METADATA']['module_type'] in ['supervisor']) %}disabled{% else %}enabled{% endif %}", false, "enabled"),
("database", "always_enabled", false, "always_enabled"),
("framework", "enabled", false, "enabled"),
("lldp", "enabled", true, "enabled"),
("pmon", "enabled", "{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] == 'SpineRouter' %}False{% else %}True{% endif %}", "enabled"),
("snmp", "enabled", true, "enabled"),
Expand Down Expand Up @@ -66,7 +67,7 @@
{%- elif include_system_eventd == "y" %}
{% do features.append(("eventd", "enabled", false, "enabled")) %}
{%- endif %}
"FEATURE": {
"FEATURE": {
{# delayed field if set, will start the feature systemd .timer unit instead of .service unit #}
{%- for feature, state, delayed, autorestart in features %}
"{{feature}}": {
Expand Down
6 changes: 4 additions & 2 deletions platform/vs/docker-sonic-vs.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ $(DOCKER_SONIC_VS)_DEPENDS += $(SYNCD_VS) \
$(LIBYANG_CPP) \
$(LIBYANG_PY3) \
$(SONIC_UTILITIES_DATA) \
$(SONIC_HOST_SERVICES_DATA)
$(SONIC_HOST_SERVICES_DATA) \
$(FRAMEWORK)

$(DOCKER_SONIC_VS)_PYTHON_WHEELS += $(SONIC_PY_COMMON_PY3) \
$(SONIC_PLATFORM_COMMON_PY3) \
Expand All @@ -24,7 +25,8 @@ ifeq ($(INSTALL_DEBUG_TOOLS), y)
$(DOCKER_SONIC_VS)_DEPENDS += $(LIBSWSSCOMMON_DBG) \
$(LIBSAIREDIS_DBG) \
$(LIBSAIVS_DBG) \
$(SYNCD_VS_DBG)
$(SYNCD_VS_DBG) \
$(FRAMEWORK_DBG)
endif

ifeq ($(SONIC_ROUTING_STACK), frr)
Expand Down
2 changes: 2 additions & 0 deletions platform/vs/docker-sonic-vs/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,8 @@ supervisorctl start tunnelmgrd

supervisorctl start fabricmgrd

supervisorctl start rebootbackend

# Start arp_update when VLAN exists
VLAN=`sonic-cfggen -d -v 'VLAN.keys() | join(" ") if VLAN'`
if [ "$VLAN" != "" ]; then
Expand Down
10 changes: 10 additions & 0 deletions rules/docker-framework.dep
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
DPATH := $($(DOCKER_FRAMEWORK)_PATH)
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/docker-framework.mk rules/docker-framework.dep
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
DEP_FILES += $(shell git ls-files $(DPATH))

$(DOCKER_FRAMEWORK)_CACHE_MODE := GIT_CONTENT_SHA
$(DOCKER_FRAMEWORK)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
$(DOCKER_FRAMEWORK)_DEP_FILES := $(DEP_FILES)

$(eval $(call add_dbg_docker,$(DOCKER_FRAMEWORK),$(DOCKER_FRAMEWORK_DBG)))
35 changes: 35 additions & 0 deletions rules/docker-framework.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# docker image for framework

DOCKER_FRAMEWORK_STEM = docker-framework
DOCKER_FRAMEWORK = $(DOCKER_FRAMEWORK_STEM).gz
DOCKER_FRAMEWORK_DBG = $(DOCKER_FRAMEWORK_STEM)-$(DBG_IMAGE_MARK).gz

$(DOCKER_FRAMEWORK)_PATH = $(DOCKERS_PATH)/$(DOCKER_FRAMEWORK_STEM)

$(DOCKER_FRAMEWORK)_DEPENDS += $(FRAMEWORK)
$(DOCKER_FRAMEWORK)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_DEPENDS)
$(DOCKER_FRAMEWORK)_DBG_DEPENDS += $(FRAMEWORK_DBG) $(LIBSWSSCOMMON_DBG)
$(DOCKER_FRAMEWORK)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_IMAGE_PACKAGES)

$(DOCKER_FRAMEWORK)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BULLSEYE)
$(DOCKER_FRAMEWORK)_LOAD_DOCKERS += $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_LOAD_DOCKERS)

$(DOCKER_FRAMEWORK)_VERSION = 1.0.0
$(DOCKER_FRAMEWORK)_PACKAGE_NAME = framework

SONIC_DOCKER_IMAGES += $(DOCKER_FRAMEWORK)
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_FRAMEWORK)

SONIC_DOCKER_DBG_IMAGES += $(DOCKER_FRAMEWORK_DBG)
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_FRAMEWORK_DBG)

$(DOCKER_FRAMEWORK)_CONTAINER_NAME = framework
$(DOCKER_FRAMEWORK)_RUN_OPT += -v /var/run/dbus:/var/run/dbus:rw
$(DOCKER_FRAMEWORK)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
$(DOCKER_FRAMEWORK)_GIT_REPOSITORIES += "sonic-swss"
$(DOCKER_FRAMEWORK)_GIT_REPOSITORIES += "sonic-swss-common"

$(DOCKER_FRAMEWORK)_FILES += $(SUPERVISOR_PROC_EXIT_LISTENER_SCRIPT)

SONIC_BULLSEYE_DOCKERS += $(DOCKER_FRAMEWORK)
SONIC_BULLSEYE_DBG_DOCKERS += $(DOCKER_FRAMEWORK_DBG)
13 changes: 13 additions & 0 deletions rules/framework.dep
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

SPATH := $($(FRAMEWORK)_SRC_PATH)
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/framework.mk rules/framework.dep
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
SMDEP_PATHS := $(SPATH) $(SPATH)/gnoi
$(foreach path, $(SMDEP_PATHS), $(eval $(path) :=$(filter-out $(SMDEP_PATHS),$(addprefix $(path)/, \
$(shell cd $(path) && git ls-files | grep -v " ")))))

$(FRAMEWORK)_CACHE_MODE := GIT_CONTENT_SHA
$(FRAMEWORK)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) $(ENABLE_ASAN)
$(FRAMEWORK)_DEP_FILES := $(DEP_FILES)
$(FRAMEWORK)_SMDEP_FILES := $(foreach path, $(SMDEP_PATHS), $($(path)))
$(FRAMEWORK)_SMDEP_PATHS := $(SPATH)
Loading

0 comments on commit 44f1889

Please sign in to comment.