From 7e4883e71f1ad627d3d4031ef820ac961aa24976 Mon Sep 17 00:00:00 2001 From: Hua Liu <58683130+liuh-80@users.noreply.github.com> Date: Fri, 12 Aug 2022 20:57:24 +0800 Subject: [PATCH] Fix docker database flush_unused_database failed issue (#11600) (#11677) Fix docker-database flush_unused_database failed issue: https://github.com/Azure/sonic-buildimage/issues/11597 When change flush_unused_database from use swsssdk to use swsscommon, get_instancelist() and get_dblist() name changed but not update. Change flush_unused_database code to use swsscommon API: Change get_instancelist to getInstanceList. Change get_dblist to getDbList. Pass all E2E test. Manually check syslog make sure error log not exist and swss, syncd, bgp service started. Search code in Azure make sure there all similer case are fixed in this PR. - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 Fix docker-database flush_unused_database failed issue: https://github.com/Azure/sonic-buildimage/issues/11597 When change flush_unused_database from use swsssdk to use swsscommon, get_instancelist() and get_dblist() name changed but not update. Co-authored-by: liuh-80 #### Why I did it #### How I did it #### How to verify it #### Which release branch to backport (provide reason below if selected) - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 #### Description for the changelog #### Link to config_db schema for YANG module changes #### A picture of a cute animal (not mandatory but encouraged) --- dockers/docker-database/docker-database-init.sh | 2 +- dockers/docker-database/flush_unused_database | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 413bbc0b20df..9b92b5890c2d 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -79,7 +79,7 @@ rm $db_cfg_file_tmp # copy dump.rdb file to each instance for restoration DUMPFILE=/var/lib/redis/dump.rdb -redis_inst_list=`/usr/bin/python3 -c "import swsssdk; print(' '.join(swsssdk.SonicDBConfig.get_instancelist().keys()))"` +redis_inst_list=`/usr/bin/python3 -c "from swsscommon import swsscommon; print(' '.join(swsscommon.SonicDBConfig.getInstanceList().keys()))"` for inst in $redis_inst_list do mkdir -p /var/lib/$inst diff --git a/dockers/docker-database/flush_unused_database b/dockers/docker-database/flush_unused_database index e1f7394d9776..cc69fc86eb72 100755 --- a/dockers/docker-database/flush_unused_database +++ b/dockers/docker-database/flush_unused_database @@ -11,15 +11,15 @@ while(True): break time.sleep(1) -instlists = swsssdk.SonicDBConfig.get_instancelist() +instlists = swsscommon.SonicDBConfig.getInstanceList() for instname, v in instlists.items(): - insthost = v['hostname'] - instsocket = v['unix_socket_path'] + insthost = v.hostname + instsocket = v.unixSocketPath - dblists = swsssdk.SonicDBConfig.get_dblist() + dblists = swsscommon.SonicDBConfig.getDbList() for dbname in dblists: - dbid = swsssdk.SonicDBConfig.get_dbid(dbname) - dbinst = swsssdk.SonicDBConfig.get_instancename(dbname) + dbid = swsscommon.SonicDBConfig.getDbId(dbname) + dbinst = swsscommon.SonicDBConfig.getDbInst(dbname) # this DB is on current instance, skip flush if dbinst == instname: