Skip to content

Commit 96954f0

Browse files
authored
[swsscommon] Add c++ version sonic-db-cli from sonic-swss-common (#10825)
#### Why I did it Fix sonic-db-cli high CPU usage on SONiC startup issue: sonic-net/sonic-buildimage#10218 ETA of this issue will be 2022/05/31 #### How I did it Re-write sonic-cli with c++ in sonic-swss-common: sonic-net/sonic-swss-common#607 Modify swss-common rules and slave.mk to install c++ version sonic-db-cli. #### How to verify it Pass all E2E test scenario. #### Which release branch to backport (provide reason below if selected) <!-- - Note we only backport fixes to a release branch, *not* features! - Please also provide a reason for the backporting below. - e.g. - [x] 202006 --> - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 #### Description for the changelog Build and install c++ version sonic-db-cli from swss-common. #### Link to config_db schema for YANG module changes <!-- Provide a link to config_db schema for the table for which YANG model is defined Link should point to correct section on https://github.com/Azure/SONiC/wiki/Configuration. --> #### A picture of a cute animal (not mandatory but encouraged)
1 parent 299e67a commit 96954f0

9 files changed

+21
-4
lines changed

files/build_templates/sonic_debian_extension.j2

+4
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,10 @@ sudo dpkg --root=$FILESYSTEM_ROOT -i {{deb}} || sudo LANG=C DEBIAN_FRONTEND=noni
312312
{% endfor %}
313313
{% endif %}
314314

315+
# Install sonic-db-cli
316+
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/sonic-db-cli_*.deb || \
317+
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
318+
315319
# Install custom-built monit package and SONiC configuration files
316320
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/monit_*.deb || \
317321
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f

rules/docker-config-engine-bullseye.mk

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ $(DOCKER_CONFIG_ENGINE_BULLSEYE)_DEPENDS += $(LIBSWSSCOMMON) \
77
$(LIBYANG) \
88
$(LIBYANG_CPP) \
99
$(LIBYANG_PY3) \
10-
$(PYTHON3_SWSSCOMMON)
10+
$(PYTHON3_SWSSCOMMON) \
11+
$(SONIC_DB_CLI)
1112
$(DOCKER_CONFIG_ENGINE_BULLSEYE)_PYTHON_WHEELS += $(SWSSSDK_PY3)
1213
$(DOCKER_CONFIG_ENGINE_BULLSEYE)_PYTHON_WHEELS += $(SONIC_PY_COMMON_PY3) \
1314
$(SONIC_YANG_MGMT_PY3) \

rules/docker-config-engine-buster.mk

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ $(DOCKER_CONFIG_ENGINE_BUSTER)_DEPENDS += $(LIBSWSSCOMMON) \
77
$(LIBYANG) \
88
$(LIBYANG_CPP) \
99
$(LIBYANG_PY3) \
10-
$(PYTHON3_SWSSCOMMON)
10+
$(PYTHON3_SWSSCOMMON) \
11+
$(SONIC_DB_CLI)
1112
$(DOCKER_CONFIG_ENGINE_BUSTER)_PYTHON_WHEELS += $(SWSSSDK_PY3)
1213
$(DOCKER_CONFIG_ENGINE_BUSTER)_PYTHON_WHEELS += $(SONIC_PY_COMMON_PY3) \
1314
$(SONIC_YANG_MGMT_PY3) \

rules/docker-config-engine-stretch.mk

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
DOCKER_CONFIG_ENGINE_STRETCH = docker-config-engine-stretch.gz
44
$(DOCKER_CONFIG_ENGINE_STRETCH)_PATH = $(DOCKERS_PATH)/docker-config-engine-stretch
5-
$(DOCKER_CONFIG_ENGINE_STRETCH)_DEPENDS += $(LIBSWSSCOMMON) $(PYTHON_SWSSCOMMON)
5+
$(DOCKER_CONFIG_ENGINE_STRETCH)_DEPENDS += $(LIBSWSSCOMMON) \
6+
$(PYTHON_SWSSCOMMON) \
7+
$(SONIC_DB_CLI)
68
$(DOCKER_CONFIG_ENGINE_STRETCH)_PYTHON_WHEELS += $(SWSSSDK_PY2)
79
$(DOCKER_CONFIG_ENGINE_STRETCH)_PYTHON_WHEELS += $(SONIC_PY_COMMON_PY2)
810
$(DOCKER_CONFIG_ENGINE_STRETCH)_PYTHON_WHEELS += $(SONIC_CONFIG_ENGINE_PY2)

rules/docker-config-engine.mk

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
DOCKER_CONFIG_ENGINE = docker-config-engine.gz
44
$(DOCKER_CONFIG_ENGINE)_PATH = $(DOCKERS_PATH)/docker-config-engine
5+
$(DOCKER_CONFIG_ENGINE)_DEPENDS += $(LIBSWSSCOMMON) \
6+
$(SONIC_DB_CLI)
57
$(DOCKER_CONFIG_ENGINE)_PYTHON_WHEELS += $(SWSSSDK_PY2)
68
$(DOCKER_CONFIG_ENGINE)_PYTHON_WHEELS += $(SONIC_PY_COMMON_PY2)
79
$(DOCKER_CONFIG_ENGINE)_PYTHON_WHEELS += $(SONIC_CONFIG_ENGINE_PY2)

rules/docker-database.mk

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ DOCKER_DATABASE_STEM = docker-database
44
DOCKER_DATABASE = $(DOCKER_DATABASE_STEM).gz
55
DOCKER_DATABASE_DBG = $(DOCKER_DATABASE_STEM)-$(DBG_IMAGE_MARK).gz
66

7+
$(DOCKER_DATABASE)_DEPENDS += $(LIBSWSSCOMMON) \
8+
$(SONIC_DB_CLI)
9+
710
$(DOCKER_DATABASE)_PATH = $(DOCKERS_PATH)/$(DOCKER_DATABASE_STEM)
811

912
$(DOCKER_DATABASE)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_DEPENDS)

rules/swss-common.mk

+3
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ $(LIBSWSSCOMMON_DBG)_DEPENDS += $(LIBSWSSCOMMON)
3232
$(LIBSWSSCOMMON_DBG)_RDEPENDS += $(LIBSWSSCOMMON)
3333
$(eval $(call add_derived_package,$(LIBSWSSCOMMON),$(LIBSWSSCOMMON_DBG)))
3434

35+
SONIC_DB_CLI = sonic-db-cli_$(LIBSWSSCOMMON_VERSION)_$(CONFIGURED_ARCH).deb
36+
$(eval $(call add_derived_package,$(LIBSWSSCOMMON),$(SONIC_DB_CLI)))
37+
3538
# The .c, .cpp, .h & .hpp files under src/{$DBG_SRC_ARCHIVE list}
3639
# are archived into debug one image to facilitate debugging.
3740
#

slave.mk

+1
Original file line numberDiff line numberDiff line change
@@ -1048,6 +1048,7 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \
10481048
$(OPENSSH_SERVER) \
10491049
$(PYTHON_SWSSCOMMON) \
10501050
$(PYTHON3_SWSSCOMMON) \
1051+
$(SONIC_DB_CLI) \
10511052
$(SONIC_UTILITIES_DATA) \
10521053
$(SONIC_HOST_SERVICES_DATA) \
10531054
$(BASH) \

src/sonic-swss-common

0 commit comments

Comments
 (0)