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.

<!--
- 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
- [ ] 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.

<!--
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-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

Co-authored-by: liuh-80 <azureuser@liuh-dev-vm-02.5fg3zjdzj2xezlx1yazx5oxkzd.hx.internal.cloudapp.net>

<!--
     Please make sure you've read and understood our contributing guidelines:
     https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

     ** Make sure all your commits include a signature generated with `git commit -s` **

     If this is a bug fix, make sure your description includes "fixes #xxxx", or
     "closes #xxxx" or "resolves #xxxx"

     Please provide the following information:
-->

#### Why I did it

#### How I did it

#### How to verify it

#### 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
- [ ] 202205

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

#### 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-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
This commit is contained in:
Hua Liu 2022-08-12 20:57:24 +08:00 committed by GitHub
parent a9f2edd195
commit 7e4883e71f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 7 deletions

View File

@ -79,7 +79,7 @@ rm $db_cfg_file_tmp
# copy dump.rdb file to each instance for restoration # copy dump.rdb file to each instance for restoration
DUMPFILE=/var/lib/redis/dump.rdb 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 for inst in $redis_inst_list
do do
mkdir -p /var/lib/$inst mkdir -p /var/lib/$inst

View File

@ -11,15 +11,15 @@ while(True):
break break
time.sleep(1) time.sleep(1)
instlists = swsssdk.SonicDBConfig.get_instancelist() instlists = swsscommon.SonicDBConfig.getInstanceList()
for instname, v in instlists.items(): for instname, v in instlists.items():
insthost = v['hostname'] insthost = v.hostname
instsocket = v['unix_socket_path'] instsocket = v.unixSocketPath
dblists = swsssdk.SonicDBConfig.get_dblist() dblists = swsscommon.SonicDBConfig.getDbList()
for dbname in dblists: for dbname in dblists:
dbid = swsssdk.SonicDBConfig.get_dbid(dbname) dbid = swsscommon.SonicDBConfig.getDbId(dbname)
dbinst = swsssdk.SonicDBConfig.get_instancename(dbname) dbinst = swsscommon.SonicDBConfig.getDbInst(dbname)
# this DB is on current instance, skip flush # this DB is on current instance, skip flush
if dbinst == instname: if dbinst == instname: