Skip to content

Commit fa594b1

Browse files
[warm-reboot] Support warm-reboot on Multi-ASIC systems
Signed-off-by: Stepan Blyschak <[email protected]>
1 parent b247e93 commit fa594b1

2 files changed

Lines changed: 268 additions & 93 deletions

File tree

scripts/centralize_database

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,30 @@
11
#!/usr/bin/python
22
from __future__ import print_function
33
import sys
4-
from swsscommon.swsscommon import SonicDBConfig
4+
from swsscommon.swsscommon import SonicDBConfig, SonicDBKey
55
import redis
66
import argparse
7+
import os
8+
9+
NETNS = os.environ.get("NETNS", "")
710

811
def centralize_to_target_db(target_dbname):
9-
target_dbport = SonicDBConfig.getDbPort(target_dbname)
10-
target_dbhost = SonicDBConfig.getDbHostname(target_dbname)
12+
SonicDBConfig.initializeGlobalConfig()
13+
key = SonicDBKey()
14+
key.netns = NETNS
15+
target_dbport = SonicDBConfig.getDbPort(target_dbname, key)
16+
target_dbhost = SonicDBConfig.getDbHostname(target_dbname, key)
1117

12-
dblists = SonicDBConfig.getDbList()
18+
dblists = SonicDBConfig.getDbList(key)
1319
for dbname in dblists:
14-
dbport = SonicDBConfig.getDbPort(dbname)
15-
dbhost = SonicDBConfig.getDbHostname(dbname)
20+
dbport = SonicDBConfig.getDbPort(dbname, key)
21+
dbhost = SonicDBConfig.getDbHostname(dbname, key)
1622
# if the db is on the same instance, no need to move
1723
if dbport == target_dbport and dbhost == target_dbhost:
1824
continue
1925

20-
dbsocket = SonicDBConfig.getDbSock(dbname)
21-
dbid = SonicDBConfig.getDbId(dbname)
26+
dbsocket = SonicDBConfig.getDbSock(dbname, key)
27+
dbid = SonicDBConfig.getDbId(dbname, key)
2228

2329
r = redis.Redis(host=dbhost, unix_socket_path=dbsocket, db=dbid)
2430

0 commit comments

Comments
 (0)