Migrate flush_unused_database from py-redis to sonic-swss-common (#15511)
Migrate flush_unused_database from py-redis to sonic-swss-common #### Why I did it flush_unused_database using py-redis, but sonic-swss-common already support flushdb, so we need migrate to sonic-swss-common ##### Work item tracking - Microsoft ADO **(number only)**: 24292565 #### How I did it Migrate flush_unused_database from py-redis to sonic-swss-common #### How to verify it Pass all UT and E2E test #### Description for the changelog Migrate flush_unused_database from py-redis to sonic-swss-common
This commit is contained in:
parent
aa46167fdd
commit
c91707ff31
@ -1,6 +1,5 @@
|
||||
#!/usr/bin/python3
|
||||
from swsscommon import swsscommon
|
||||
import redis
|
||||
import subprocess
|
||||
import time
|
||||
import syslog
|
||||
@ -26,7 +25,18 @@ for instname, v in instlists.items():
|
||||
continue
|
||||
|
||||
try:
|
||||
r = redis.Redis(host=insthost, unix_socket_path=instsocket, db=dbid)
|
||||
r.flushdb()
|
||||
except (redis.exceptions.ConnectionError):
|
||||
# Migrate code from py-redis to swsscommon, original code:
|
||||
# r = redis.Redis(host=insthost, unix_socket_path=instsocket, db=dbid)
|
||||
# py-redis will use TCP connection when unix_socket_path is None
|
||||
# https://github.com/redis/redis-py/blob/d95d8a24ed2af3eae80b7b0f14cbccc9dbe86e96/redis/client.py#L1006
|
||||
if instsocket is not None:
|
||||
# connect with Unix socket
|
||||
connector = swsscommon.DBConnector(dbid, instsocket, 0)
|
||||
else:
|
||||
# connect with TCP socket
|
||||
port = swsscommon.SonicDBConfig.getDbPort(dbname);
|
||||
connector = swsscommon.DBConnector(dbid, insthost, port, 0)
|
||||
|
||||
connector.flushdb()
|
||||
except RuntimeError:
|
||||
syslog.syslog(syslog.LOG_INFO,"flushdb:Redis Unix Socket connection error for path {} and dbaname {}".format(instsocket, dbname))
|
||||
|
Loading…
Reference in New Issue
Block a user