@@ -31,7 +31,7 @@ from config_samples import generate_sample_config, get_available_config
3131from functools import partial
3232from minigraph import minigraph_encoder , parse_xml , parse_device_desc_xml , parse_asic_sub_role , parse_asic_switch_type
3333from portconfig import get_port_config , get_breakout_mode
34- from sonic_py_common .multi_asic import get_asic_id_from_name , get_asic_device_id
34+ from sonic_py_common .multi_asic import get_asic_id_from_name , get_asic_device_id , is_multi_asic
3535from sonic_py_common import device_info
3636from swsscommon .swsscommon import ConfigDBConnector , SonicDBConfig , ConfigDBPipeConnector
3737
@@ -137,6 +137,14 @@ def ip_network(value):
137137 return "Invalid ip address %s" % value
138138 return r_v .network
139139
140+ def load_namespace_config ():
141+ if is_multi_asic ():
142+ if not SonicDBConfig .isGlobalInit ():
143+ SonicDBConfig .initializeGlobalConfig ()
144+ else :
145+ if not SonicDBConfig .isInit ():
146+ SonicDBConfig .initialize ()
147+
140148class FormatConverter :
141149 """Convert config DB based schema to legacy minigraph based schema for backward capability.
142150We will move to DB schema and remove this class when the config templates are modified.
@@ -301,6 +309,7 @@ def main():
301309 deep_update (data , hardware_data )
302310 if args .port_config is None :
303311 args .port_config = device_info .get_path_to_port_config_file (hwsku )
312+ load_namespace_config ()
304313 (ports , _ , _ ) = get_port_config (hwsku , platform , args .port_config , asic_id )
305314 if ports is None :
306315 print ('Failed to get port config' , file = sys .stderr )
@@ -326,6 +335,7 @@ def main():
326335
327336 if args .minigraph is not None :
328337 minigraph = args .minigraph
338+ load_namespace_config ()
329339 if platform :
330340 if args .port_config is not None :
331341 deep_update (data , parse_xml (minigraph , platform , args .port_config , asic_name = asic_name , hwsku_config_file = args .hwsku_config ))
@@ -353,7 +363,7 @@ def main():
353363 if args .namespace is None :
354364 configdb = ConfigDBPipeConnector (use_unix_socket_path = use_unix_sock , ** db_kwargs )
355365 else :
356- SonicDBConfig . load_sonic_global_db_config ( namespace = args . namespace )
366+ load_namespace_config ( )
357367 configdb = ConfigDBPipeConnector (use_unix_socket_path = use_unix_sock , namespace = args .namespace , ** db_kwargs )
358368
359369 configdb .connect ()
@@ -425,7 +435,7 @@ def main():
425435 if args .namespace is None :
426436 configdb = ConfigDBPipeConnector (use_unix_socket_path = True , ** db_kwargs )
427437 else :
428- SonicDBConfig . load_sonic_global_db_config ( namespace = args . namespace )
438+ load_namespace_config ( )
429439 configdb = ConfigDBPipeConnector (use_unix_socket_path = True , namespace = args .namespace , ** db_kwargs )
430440
431441 configdb .connect (False )
0 commit comments