Skip to content

Commit 2e1f354

Browse files
authored
Use SonicV2Connector/ConfigDBConnector/SonicDBConfig from swsscommon instread of swsssdk (sonic-net#1392)
- What I did Use SonicV2Connector/ConfigDBConnector/SonicDBConfig from swsscommon instread of swsssdk - How to verify it Unit test and test impacted command lines on DUT.
1 parent 28d358f commit 2e1f354

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+150
-144
lines changed

acl_loader/main.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
import pyangbind.lib.pybindJSON as pybindJSON
1111
from natsort import natsorted
1212
from sonic_py_common import device_info
13-
from swsssdk import ConfigDBConnector, SonicDBConfig
14-
from swsscommon.swsscommon import SonicV2Connector
13+
from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig
1514

1615

1716
def info(msg):

config/aaa.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import click
2-
from swsssdk import ConfigDBConnector
2+
from swsscommon.swsscommon import ConfigDBConnector
33
import utilities_common.cli as clicommon
44

55
def add_table_kv(table, entry, key, val):

config/config_mgmt.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
# SONiC specific imports
1616
import sonic_yang
17-
from swsssdk import ConfigDBConnector, port_util
18-
from swsscommon.swsscommon import SonicV2Connector
17+
from swsssdk import port_util
18+
from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector
1919

2020
# Using load_source to 'import /usr/local/bin/sonic-cfggen as sonic_cfggen'
2121
# since /usr/local/bin/sonic-cfggen does not have .py extension.
@@ -190,8 +190,8 @@ def readConfigDB(self):
190190
'''
191191
self.sysLog(doPrint=True, msg='Reading data from Redis configDb')
192192
# Read from config DB on sonic switch
193-
db_kwargs = dict(); data = dict()
194-
configdb = ConfigDBConnector(**db_kwargs)
193+
data = dict()
194+
configdb = ConfigDBConnector()
195195
configdb.connect()
196196
deep_update(data, FormatConverter.db_to_output(configdb.get_config()))
197197
self.configdbJsonIn = FormatConverter.to_serialized(data)
@@ -211,8 +211,8 @@ def writeConfigDB(self, jDiff):
211211
void
212212
'''
213213
self.sysLog(doPrint=True, msg='Writing in Config DB')
214-
db_kwargs = dict(); data = dict()
215-
configdb = ConfigDBConnector(**db_kwargs)
214+
data = dict()
215+
configdb = ConfigDBConnector()
216216
configdb.connect(False)
217217
deep_update(data, FormatConverter.to_deserialized(jDiff))
218218
self.sysLog(msg="Write in DB: {}".format(data))

config/kdump.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os
22
import click
33
import utilities_common.cli as clicommon
4-
from swsssdk import ConfigDBConnector
4+
from swsscommon.swsscommon import ConfigDBConnector
55

66
@click.group(cls=clicommon.AbbreviationGroup, name="kdump")
77
def kdump():

config/main.py

+6-7
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
from portconfig import get_child_ports
1818
from sonic_py_common import device_info, multi_asic
1919
from sonic_py_common.interface import get_interface_table_name, get_port_table_name
20-
from swsssdk import ConfigDBConnector, SonicDBConfig
21-
from swsscommon.swsscommon import SonicV2Connector
20+
from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, SonicDBConfig
2221
from utilities_common.db import Db
2322
from utilities_common.intf_filter import parse_interface_in_filter
2423
import utilities_common.cli as clicommon
@@ -1882,14 +1881,14 @@ def is_dynamic_buffer_enabled(config_db):
18821881
@click.option('-s', '--redis-unix-socket-path', help='unix socket path for redis connection')
18831882
def warm_restart(ctx, redis_unix_socket_path):
18841883
"""warm_restart-related configuration tasks"""
1885-
kwargs = {}
1886-
if redis_unix_socket_path:
1887-
kwargs['unix_socket_path'] = redis_unix_socket_path
1888-
config_db = ConfigDBConnector(**kwargs)
1884+
# Note: redis_unix_socket_path is a path string, and the ground truth is now from database_config.json.
1885+
# We only use it as a bool indicator on either unix_socket_path or tcp port
1886+
use_unix_socket_path = bool(redis_unix_socket_path)
1887+
config_db = ConfigDBConnector(use_unix_socket_path=use_unix_socket_path)
18891888
config_db.connect(wait_for_init=False)
18901889

18911890
# warm restart enable/disable config is put in stateDB, not persistent across cold reboot, not saved to config_DB.json file
1892-
state_db = SonicV2Connector(host='127.0.0.1')
1891+
state_db = SonicV2Connector(use_unix_socket_path=use_unix_socket_path)
18931892
state_db.connect(state_db.STATE_DB, False)
18941893
TABLE_NAME_SEPARATOR = '|'
18951894
prefix = 'WARM_RESTART_ENABLE_TABLE' + TABLE_NAME_SEPARATOR

config/muxcable.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
import click
66
import utilities_common.cli as clicommon
77
from sonic_py_common import multi_asic
8-
from swsssdk import ConfigDBConnector
9-
from swsscommon import swsscommon
8+
from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector
109
from tabulate import tabulate
1110
from utilities_common import platform_sfputil_helper
1211

@@ -123,7 +122,7 @@ def mode(state, port, json_output):
123122
# replace these with correct macros
124123
per_npu_configdb[asic_id] = ConfigDBConnector(use_unix_socket_path=True, namespace=namespace)
125124
per_npu_configdb[asic_id].connect()
126-
per_npu_statedb[asic_id] = swsscommon.SonicV2Connector(use_unix_socket_path=True, namespace=namespace)
125+
per_npu_statedb[asic_id] = SonicV2Connector(use_unix_socket_path=True, namespace=namespace)
127126
per_npu_statedb[asic_id].connect(per_npu_statedb[asic_id].STATE_DB)
128127

129128
mux_tbl_cfg_db[asic_id] = per_npu_configdb[asic_id].get_table("MUX_CABLE")

config/nat.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import ipaddress
22

33
import click
4-
from swsssdk import ConfigDBConnector
5-
from swsscommon.swsscommon import SonicV2Connector
4+
from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector
65

76

87
def is_valid_ipv4_address(address):

counterpoll/main.py

+17-17
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import click
22
import json
3-
import swsssdk
3+
from swsscommon.swsscommon import ConfigDBConnector
44
from tabulate import tabulate
55

66
BUFFER_POOL_WATERMARK = "BUFFER_POOL_WATERMARK"
@@ -24,7 +24,7 @@ def queue():
2424
@click.argument('poll_interval', type=click.IntRange(100, 30000))
2525
def interval(poll_interval):
2626
""" Set queue counter query interval """
27-
configdb = swsssdk.ConfigDBConnector()
27+
configdb = ConfigDBConnector()
2828
configdb.connect()
2929
queue_info = {}
3030
if poll_interval is not None:
@@ -34,7 +34,7 @@ def interval(poll_interval):
3434
@queue.command()
3535
def enable():
3636
""" Enable queue counter query """
37-
configdb = swsssdk.ConfigDBConnector()
37+
configdb = ConfigDBConnector()
3838
configdb.connect()
3939
queue_info = {}
4040
queue_info['FLEX_COUNTER_STATUS'] = 'enable'
@@ -43,7 +43,7 @@ def enable():
4343
@queue.command()
4444
def disable():
4545
""" Disable queue counter query """
46-
configdb = swsssdk.ConfigDBConnector()
46+
configdb = ConfigDBConnector()
4747
configdb.connect()
4848
queue_info = {}
4949
queue_info['FLEX_COUNTER_STATUS'] = 'disable'
@@ -58,7 +58,7 @@ def port():
5858
@click.argument('poll_interval', type=click.IntRange(100, 30000))
5959
def interval(poll_interval):
6060
""" Set queue counter query interval """
61-
configdb = swsssdk.ConfigDBConnector()
61+
configdb = ConfigDBConnector()
6262
configdb.connect()
6363
port_info = {}
6464
if poll_interval is not None:
@@ -68,7 +68,7 @@ def interval(poll_interval):
6868
@port.command()
6969
def enable():
7070
""" Enable port counter query """
71-
configdb = swsssdk.ConfigDBConnector()
71+
configdb = ConfigDBConnector()
7272
configdb.connect()
7373
port_info = {}
7474
port_info['FLEX_COUNTER_STATUS'] = 'enable'
@@ -77,7 +77,7 @@ def enable():
7777
@port.command()
7878
def disable():
7979
""" Disable port counter query """
80-
configdb = swsssdk.ConfigDBConnector()
80+
configdb = ConfigDBConnector()
8181
configdb.connect()
8282
port_info = {}
8383
port_info['FLEX_COUNTER_STATUS'] = 'disable'
@@ -98,7 +98,7 @@ def interval(poll_interval):
9898
This is a short term solution and
9999
should be changed once the performance is enhanced
100100
"""
101-
configdb = swsssdk.ConfigDBConnector()
101+
configdb = ConfigDBConnector()
102102
configdb.connect()
103103
port_info = {}
104104
if poll_interval:
@@ -108,7 +108,7 @@ def interval(poll_interval):
108108
@port_buffer_drop.command()
109109
def enable():
110110
""" Enable port counter query """
111-
configdb = swsssdk.ConfigDBConnector()
111+
configdb = ConfigDBConnector()
112112
configdb.connect()
113113
port_info = {}
114114
port_info['FLEX_COUNTER_STATUS'] = ENABLE
@@ -117,7 +117,7 @@ def enable():
117117
@port_buffer_drop.command()
118118
def disable():
119119
""" Disable port counter query """
120-
configdb = swsssdk.ConfigDBConnector()
120+
configdb = ConfigDBConnector()
121121
configdb.connect()
122122
port_info = {}
123123
port_info['FLEX_COUNTER_STATUS'] = DISABLE
@@ -132,7 +132,7 @@ def rif():
132132
@click.argument('poll_interval')
133133
def interval(poll_interval):
134134
""" Set rif counter query interval """
135-
configdb = swsssdk.ConfigDBConnector()
135+
configdb = ConfigDBConnector()
136136
configdb.connect()
137137
rif_info = {}
138138
if poll_interval is not None:
@@ -142,7 +142,7 @@ def interval(poll_interval):
142142
@rif.command()
143143
def enable():
144144
""" Enable rif counter query """
145-
configdb = swsssdk.ConfigDBConnector()
145+
configdb = ConfigDBConnector()
146146
configdb.connect()
147147
rif_info = {}
148148
rif_info['FLEX_COUNTER_STATUS'] = 'enable'
@@ -151,7 +151,7 @@ def enable():
151151
@rif.command()
152152
def disable():
153153
""" Disable rif counter query """
154-
configdb = swsssdk.ConfigDBConnector()
154+
configdb = ConfigDBConnector()
155155
configdb.connect()
156156
rif_info = {}
157157
rif_info['FLEX_COUNTER_STATUS'] = 'disable'
@@ -166,7 +166,7 @@ def watermark():
166166
@click.argument('poll_interval', type=click.IntRange(1000, 30000))
167167
def interval(poll_interval):
168168
""" Set watermark counter query interval for both queue and PG watermarks """
169-
configdb = swsssdk.ConfigDBConnector()
169+
configdb = ConfigDBConnector()
170170
configdb.connect()
171171
queue_wm_info = {}
172172
pg_wm_info = {}
@@ -182,7 +182,7 @@ def interval(poll_interval):
182182
@watermark.command()
183183
def enable():
184184
""" Enable watermark counter query """
185-
configdb = swsssdk.ConfigDBConnector()
185+
configdb = ConfigDBConnector()
186186
configdb.connect()
187187
fc_info = {}
188188
fc_info['FLEX_COUNTER_STATUS'] = 'enable'
@@ -193,7 +193,7 @@ def enable():
193193
@watermark.command()
194194
def disable():
195195
""" Disable watermark counter query """
196-
configdb = swsssdk.ConfigDBConnector()
196+
configdb = ConfigDBConnector()
197197
configdb.connect()
198198
fc_info = {}
199199
fc_info['FLEX_COUNTER_STATUS'] = 'disable'
@@ -204,7 +204,7 @@ def disable():
204204
@cli.command()
205205
def show():
206206
""" Show the counter configuration """
207-
configdb = swsssdk.ConfigDBConnector()
207+
configdb = ConfigDBConnector()
208208
configdb.connect()
209209
queue_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'QUEUE')
210210
port_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'PORT')

crm/main.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22

33
import click
4-
import swsssdk
4+
from swsscommon.swsscommon import ConfigDBConnector, SonicDBConfig
55
from tabulate import tabulate
66
from utilities_common import multi_asic as multi_asic_util
77
from sonic_py_common import multi_asic
@@ -34,7 +34,7 @@ def show_summary(self):
3434
# Get the namespace list
3535
namespaces = multi_asic.get_namespace_list()
3636

37-
configdb = swsssdk.ConfigDBConnector(namespace=namespaces[0])
37+
configdb = ConfigDBConnector(namespace=namespaces[0])
3838
configdb.connect()
3939

4040
crm_info = configdb.get_entry('CRM', 'Config')
@@ -58,7 +58,7 @@ def show_thresholds(self, resource):
5858
# Get the namespace list
5959
namespaces = multi_asic.get_namespace_list()
6060

61-
configdb = swsssdk.ConfigDBConnector(namespace=namespaces[0])
61+
configdb = ConfigDBConnector(namespace=namespaces[0])
6262
configdb.connect()
6363

6464
crm_info = configdb.get_entry('CRM', 'Config')
@@ -218,7 +218,7 @@ def cli(ctx):
218218
ctx.obj = context
219219

220220
# Load the global config file database_global.json once.
221-
swsssdk.SonicDBConfig.load_sonic_global_db_config()
221+
SonicDBConfig.load_sonic_global_db_config()
222222

223223
@cli.group()
224224
@click.pass_context

pcieutil/main.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
import click
1515
from sonic_py_common import device_info, logger
16-
from swsssdk import SonicV2Connector
16+
from swsscommon.swsscommon import SonicV2Connector
1717
from tabulate import tabulate
1818
import utilities_common.cli as clicommon
1919
except ImportError as e:

pfc/main.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22

33
import click
4-
import swsssdk
4+
from swsscommon.swsscommon import ConfigDBConnector
55
from tabulate import tabulate
66
from natsort import natsorted
77

@@ -12,7 +12,7 @@ def configPfcAsym(interface, pfc_asym):
1212
"""
1313
PFC handler to configure asymmentric PFC.
1414
"""
15-
configdb = swsssdk.ConfigDBConnector()
15+
configdb = ConfigDBConnector()
1616
configdb.connect()
1717

1818
configdb.mod_entry("PORT", interface, {'pfc_asym': pfc_asym})
@@ -24,7 +24,7 @@ def showPfcAsym(interface):
2424
"""
2525
header = ('Interface', 'Asymmetric')
2626

27-
configdb = swsssdk.ConfigDBConnector()
27+
configdb = ConfigDBConnector()
2828
configdb.connect()
2929

3030
if interface:
@@ -50,7 +50,7 @@ def showPfcAsym(interface):
5050
click.echo()
5151

5252
def configPfcPrio(status, interface, priority):
53-
configdb = swsssdk.ConfigDBConnector()
53+
configdb = ConfigDBConnector()
5454
configdb.connect()
5555

5656
if interface not in configdb.get_keys('PORT_QOS_MAP'):
@@ -91,7 +91,7 @@ def showPfcPrio(interface):
9191
header = ('Interface', 'Lossless priorities')
9292
table = []
9393

94-
configdb = swsssdk.ConfigDBConnector()
94+
configdb = ConfigDBConnector()
9595
configdb.connect()
9696

9797
"""Get all the interfaces with QoS map information"""

scripts/aclshow

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ optional arguments:
2020
import argparse
2121
import json
2222
import os
23-
import swsssdk
23+
from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector
2424
import sys
2525

2626
from tabulate import tabulate
@@ -60,10 +60,10 @@ class AclStat(object):
6060
self.table_list = tables.split(",")
6161

6262
# Set up db connections
63-
self.db = swsssdk.SonicV2Connector(host="127.0.0.1")
63+
self.db = SonicV2Connector(use_unix_socket_path=False)
6464
self.db.connect(self.db.COUNTERS_DB)
6565

66-
self.configdb = swsssdk.ConfigDBConnector()
66+
self.configdb = ConfigDBConnector()
6767
self.configdb.connect()
6868

6969
def previous_counters(self):

0 commit comments

Comments
 (0)