@@ -578,82 +578,23 @@ def get_non_host_dbs(dbs):
578578 else :
579579 return dbs [1 :]
580580
581-
582- @staticmethod
583- def init_namespace_sync_d_interface_tables (dbs ):
584- if_name_map = {}
585- if_alias_map = {}
586- if_id_map = {}
587- oid_sai_map = {}
588- oid_name_map = {}
589-
590- """
591- all_ns_db - will have db_conn to all namespace DBs and
592- global db. First db in the list is global db.
593- Ignore first global db to get interface tables if there
594- are multiple namespaces.
595- """
596- Namespace .connect_namespace_dbs (dbs )
597- for db_conn in Namespace .get_non_host_dbs (dbs ):
598- if_name_map_ns , \
599- if_alias_map_ns , \
600- if_id_map_ns , \
601- oid_sai_map_ns , \
602- oid_name_map_ns = init_sync_d_interface_tables (db_conn )
603- if_name_map .update (if_name_map_ns )
604- if_alias_map .update (if_alias_map_ns )
605- if_id_map .update (if_id_map_ns )
606- oid_sai_map .update (oid_sai_map_ns )
607- oid_name_map .update (oid_name_map_ns )
608-
609- return if_name_map , if_alias_map , if_id_map , oid_sai_map , oid_name_map
610-
611581 @staticmethod
612- def init_namespace_sync_d_lag_tables (dbs ):
613-
614- lag_name_if_name_map = {}
615- if_name_lag_name_map = {}
616- oid_lag_name_map = {}
617-
618- """
619- all_ns_db - will have db_conn to all namespace DBs and
620- global db. First db in the list is global db.
621- Ignore first global db to get lag tables if
622- there are multiple namespaces.
623- """
624- Namespace .connect_namespace_dbs (dbs )
625- for db_conn in Namespace .get_non_host_dbs (dbs ):
626- lag_name_if_name_map_ns , \
627- if_name_lag_name_map_ns , \
628- oid_lag_name_map_ns = init_sync_d_lag_tables (db_conn )
629- lag_name_if_name_map .update (lag_name_if_name_map_ns )
630- if_name_lag_name_map .update (if_name_lag_name_map_ns )
631- oid_lag_name_map .update (oid_lag_name_map_ns )
632-
633- return lag_name_if_name_map , if_name_lag_name_map , oid_lag_name_map
634-
635- @staticmethod
636- def init_namespace_sync_d_queue_tables (dbs ):
637- port_queues_map = {}
638- queue_stat_map = {}
639- port_queue_list_map = {}
640-
641- """
642- all_ns_db - will have db_conn to all namespace DBs and
643- global db. First db in the list is global db.
644- Ignore first global db to get queue tables if there
645- are multiple namespaces.
646- """
647- Namespace .connect_namespace_dbs (dbs )
582+ def get_sync_d_from_all_namespace (per_namespace_func , dbs ):
583+ # return merged tuple of dictionaries retrieved from per
584+ # namespace functions.
585+ result_map = {}
586+ # list of return values
587+ result_list = []
648588 for db_conn in Namespace .get_non_host_dbs (dbs ):
649- port_queues_map_ns , \
650- queue_stat_map_ns , \
651- port_queue_list_map_ns = init_sync_d_queue_tables (db_conn )
652- port_queues_map .update (port_queues_map_ns )
653- queue_stat_map .update (queue_stat_map_ns )
654- port_queue_list_map .update (port_queue_list_map_ns )
655-
656- return port_queues_map , queue_stat_map , port_queue_list_map
589+ ns_tuple = per_namespace_func (db_conn )
590+ for idx in range (len (ns_tuple )):
591+ if idx not in result_map :
592+ result_map [idx ] = ns_tuple [idx ]
593+ else :
594+ result_map [idx ].update (ns_tuple [idx ])
595+ for idx , ns_tuple_dict in result_map .items ():
596+ result_list .append (ns_tuple_dict )
597+ return result_list
657598
658599 @staticmethod
659600 def dbs_get_bridge_port_map (dbs , db_name ):
0 commit comments