Skip to content

Commit c90b281

Browse files
committed
[vstest]: reuse dvs setReadOnlyAttr in test_crm.py
Signed-off-by: Guohan Lu <[email protected]>
1 parent 8807b40 commit c90b281

File tree

1 file changed

+27
-51
lines changed

1 file changed

+27
-51
lines changed

tests/test_crm.py

+27-51
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import re
33
import time
44
import json
5-
import redis
65
import pytest
76

87
from swsscommon import swsscommon
@@ -37,29 +36,6 @@ def getCrmConfigStr(dvs, key, counter):
3736
return k[1]
3837
return ""
3938

40-
def setReadOnlyAttr(dvs, obj, attr, val):
41-
42-
db = swsscommon.DBConnector(swsscommon.ASIC_DB, dvs.redis_sock, 0)
43-
tbl = swsscommon.Table(db, "ASIC_STATE:{0}".format(obj))
44-
keys = tbl.getKeys()
45-
46-
assert len(keys) == 1
47-
48-
swVid = keys[0]
49-
r = redis.Redis(unix_socket_path=dvs.redis_sock, db=swsscommon.ASIC_DB,
50-
encoding="utf-8", decode_responses=True)
51-
swRid = r.hget("VIDTORID", swVid)
52-
53-
assert swRid is not None
54-
55-
ntf = swsscommon.NotificationProducer(db, "SAI_VS_UNITTEST_CHANNEL")
56-
fvp = swsscommon.FieldValuePairs()
57-
ntf.send("enable_unittests", "true", fvp)
58-
fvp = swsscommon.FieldValuePairs([(attr, val)])
59-
key = "SAI_OBJECT_TYPE_SWITCH:" + swRid
60-
61-
ntf.send("set_ro", key, fvp)
62-
6339
def check_syslog(dvs, marker, err_log, expected_cnt):
6440
(exitcode, num) = dvs.runcmd(['sh', '-c', "awk \'/%s/,ENDFILE {print;}\' /var/log/syslog | grep \"%s\" | wc -l" % (marker, err_log)])
6541
assert num.strip() >= str(expected_cnt)
@@ -74,7 +50,7 @@ def test_CrmFdbEntry(self, dvs, testlog):
7450
dvs.servers[2].runcmd("sysctl -w net.ipv6.conf.eth0.disable_ipv6=1")
7551
dvs.runcmd("crm config polling interval 1")
7652

77-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_FDB_ENTRY', '1000')
53+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_FDB_ENTRY', '1000')
7854

7955
time.sleep(2)
8056

@@ -101,7 +77,7 @@ def test_CrmFdbEntry(self, dvs, testlog):
10177
tbl.set("Vlan2|Ethernet8", fvs)
10278

10379
# update available counter
104-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_FDB_ENTRY', '999')
80+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_FDB_ENTRY', '999')
10581

10682
time.sleep(2)
10783

@@ -113,7 +89,7 @@ def test_CrmFdbEntry(self, dvs, testlog):
11389
assert avail_counter - new_avail_counter == 1
11490

11591
# update available counter
116-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_FDB_ENTRY', '1000')
92+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_FDB_ENTRY', '1000')
11793

11894
time.sleep(2)
11995

@@ -143,7 +119,7 @@ def test_CrmIpv4Route(self, dvs, testlog):
143119

144120
dvs.runcmd("crm config polling interval 1")
145121

146-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_ROUTE_ENTRY', '1000')
122+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_ROUTE_ENTRY', '1000')
147123

148124
# add static neighbor
149125
dvs.runcmd("ip neigh replace 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
@@ -160,7 +136,7 @@ def test_CrmIpv4Route(self, dvs, testlog):
160136

161137
# add route and update available counter
162138
ps.set("2.2.2.0/24", fvs)
163-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_ROUTE_ENTRY', '999')
139+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_ROUTE_ENTRY', '999')
164140

165141
time.sleep(2)
166142

@@ -174,7 +150,7 @@ def test_CrmIpv4Route(self, dvs, testlog):
174150
# remove route and update available counter
175151
ps._del("2.2.2.0/24")
176152
dvs.runcmd("ip neigh del 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
177-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_ROUTE_ENTRY', '1000')
153+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_ROUTE_ENTRY', '1000')
178154

179155
time.sleep(2)
180156

@@ -213,7 +189,7 @@ def test_CrmIpv6Route(self, dvs, testlog):
213189

214190
dvs.runcmd("crm config polling interval 1")
215191

216-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_ROUTE_ENTRY', '1000')
192+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_ROUTE_ENTRY', '1000')
217193

218194
# get neighbor and arp entry
219195
dvs.servers[0].runcmd("ping6 -c 4 fc00::1")
@@ -230,7 +206,7 @@ def test_CrmIpv6Route(self, dvs, testlog):
230206

231207
# add route and update available counter
232208
ps.set("2001::/64", fvs)
233-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_ROUTE_ENTRY', '999')
209+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_ROUTE_ENTRY', '999')
234210

235211
time.sleep(2)
236212

@@ -244,7 +220,7 @@ def test_CrmIpv6Route(self, dvs, testlog):
244220
# remove route and update available counter
245221
ps._del("2001::/64")
246222
dvs.runcmd("ip -6 neigh del fc00::2 lladdr 11:22:33:44:55:66 dev Ethernet0")
247-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_ROUTE_ENTRY', '1000')
223+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_ROUTE_ENTRY', '1000')
248224

249225
time.sleep(2)
250226

@@ -276,7 +252,7 @@ def test_CrmIpv4Nexthop(self, dvs, testlog):
276252

277253
dvs.runcmd("crm config polling interval 1")
278254

279-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEXTHOP_ENTRY', '1000')
255+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEXTHOP_ENTRY', '1000')
280256

281257
time.sleep(2)
282258

@@ -286,7 +262,7 @@ def test_CrmIpv4Nexthop(self, dvs, testlog):
286262

287263
# add nexthop and update available counter
288264
dvs.runcmd("ip neigh replace 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
289-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEXTHOP_ENTRY', '999')
265+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEXTHOP_ENTRY', '999')
290266

291267
time.sleep(2)
292268

@@ -299,7 +275,7 @@ def test_CrmIpv4Nexthop(self, dvs, testlog):
299275

300276
# remove nexthop and update available counter
301277
dvs.runcmd("ip neigh del 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
302-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEXTHOP_ENTRY', '1000')
278+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEXTHOP_ENTRY', '1000')
303279

304280
time.sleep(2)
305281

@@ -335,7 +311,7 @@ def test_CrmIpv6Nexthop(self, dvs, testlog):
335311

336312
dvs.runcmd("crm config polling interval 1")
337313

338-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEXTHOP_ENTRY', '1000')
314+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEXTHOP_ENTRY', '1000')
339315

340316
time.sleep(2)
341317

@@ -345,7 +321,7 @@ def test_CrmIpv6Nexthop(self, dvs, testlog):
345321

346322
# add nexthop and update available counter
347323
dvs.runcmd("ip -6 neigh replace fc00::2 lladdr 11:22:33:44:55:66 dev Ethernet0")
348-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEXTHOP_ENTRY', '999')
324+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEXTHOP_ENTRY', '999')
349325

350326
time.sleep(2)
351327

@@ -358,7 +334,7 @@ def test_CrmIpv6Nexthop(self, dvs, testlog):
358334

359335
# remove nexthop and update available counter
360336
dvs.runcmd("ip -6 neigh del fc00::2 lladdr 11:22:33:44:55:66 dev Ethernet0")
361-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEXTHOP_ENTRY', '1000')
337+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEXTHOP_ENTRY', '1000')
362338

363339
time.sleep(2)
364340

@@ -390,7 +366,7 @@ def test_CrmIpv4Neighbor(self, dvs, testlog):
390366

391367
dvs.runcmd("crm config polling interval 1")
392368

393-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEIGHBOR_ENTRY', '1000')
369+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEIGHBOR_ENTRY', '1000')
394370

395371
time.sleep(2)
396372

@@ -400,7 +376,7 @@ def test_CrmIpv4Neighbor(self, dvs, testlog):
400376

401377
# add neighbor and update available counter
402378
dvs.runcmd("ip neigh replace 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
403-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEIGHBOR_ENTRY', '999')
379+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEIGHBOR_ENTRY', '999')
404380

405381
time.sleep(2)
406382

@@ -413,7 +389,7 @@ def test_CrmIpv4Neighbor(self, dvs, testlog):
413389

414390
# remove neighbor and update available counter
415391
dvs.runcmd("ip neigh del 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
416-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEIGHBOR_ENTRY', '1000')
392+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV4_NEIGHBOR_ENTRY', '1000')
417393

418394
time.sleep(2)
419395

@@ -449,7 +425,7 @@ def test_CrmIpv6Neighbor(self, dvs, testlog):
449425

450426
dvs.runcmd("crm config polling interval 1")
451427

452-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEIGHBOR_ENTRY', '1000')
428+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEIGHBOR_ENTRY', '1000')
453429

454430
time.sleep(2)
455431

@@ -459,7 +435,7 @@ def test_CrmIpv6Neighbor(self, dvs, testlog):
459435

460436
# add neighbor and update available counter
461437
dvs.runcmd("ip -6 neigh replace fc00::2 lladdr 11:22:33:44:55:66 dev Ethernet0")
462-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEIGHBOR_ENTRY', '999')
438+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEIGHBOR_ENTRY', '999')
463439

464440
time.sleep(2)
465441

@@ -472,7 +448,7 @@ def test_CrmIpv6Neighbor(self, dvs, testlog):
472448

473449
# remove neighbor and update available counter
474450
dvs.runcmd("ip -6 neigh del fc00::2 lladdr 11:22:33:44:55:66 dev Ethernet0")
475-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEIGHBOR_ENTRY', '1000')
451+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_IPV6_NEIGHBOR_ENTRY', '1000')
476452

477453
time.sleep(2)
478454

@@ -507,7 +483,7 @@ def test_CrmNexthopGroup(self, dvs, testlog):
507483

508484
dvs.runcmd("crm config polling interval 1")
509485

510-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_ENTRY', '1000')
486+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_ENTRY', '1000')
511487

512488
# add neighbors
513489
dvs.runcmd("ip neigh replace 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
@@ -525,7 +501,7 @@ def test_CrmNexthopGroup(self, dvs, testlog):
525501

526502
# add route and update available counter
527503
ps.set("2.2.2.0/24", fvs)
528-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_ENTRY', '999')
504+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_ENTRY', '999')
529505

530506
time.sleep(2)
531507

@@ -540,7 +516,7 @@ def test_CrmNexthopGroup(self, dvs, testlog):
540516
ps._del("2.2.2.0/24")
541517
dvs.runcmd("ip neigh del 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
542518
dvs.runcmd("ip neigh del 10.0.0.3 lladdr 11:22:33:44:55:66 dev Ethernet4")
543-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_ENTRY', '1000')
519+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_ENTRY', '1000')
544520

545521
time.sleep(2)
546522

@@ -582,7 +558,7 @@ def test_CrmNexthopGroupMember(self, dvs, testlog):
582558

583559
dvs.runcmd("crm config polling interval 1")
584560

585-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_MEMBER_ENTRY', '1000')
561+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_MEMBER_ENTRY', '1000')
586562

587563
# add neighbors
588564
dvs.runcmd("ip neigh replace 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
@@ -600,7 +576,7 @@ def test_CrmNexthopGroupMember(self, dvs, testlog):
600576

601577
# add route and update available counter
602578
ps.set("2.2.2.0/24", fvs)
603-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_MEMBER_ENTRY', '998')
579+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_MEMBER_ENTRY', '998')
604580

605581
time.sleep(2)
606582

@@ -615,7 +591,7 @@ def test_CrmNexthopGroupMember(self, dvs, testlog):
615591
ps._del("2.2.2.0/24")
616592
dvs.runcmd("ip neigh del 10.0.0.1 lladdr 11:22:33:44:55:66 dev Ethernet0")
617593
dvs.runcmd("ip neigh del 10.0.0.3 lladdr 11:22:33:44:55:66 dev Ethernet4")
618-
setReadOnlyAttr(dvs, 'SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_MEMBER_ENTRY', '1000')
594+
dvs.setReadOnlyAttr('SAI_OBJECT_TYPE_SWITCH', 'SAI_SWITCH_ATTR_AVAILABLE_NEXT_HOP_GROUP_MEMBER_ENTRY', '1000')
619595

620596
time.sleep(2)
621597

0 commit comments

Comments
 (0)