Skip to content

Commit a89d1f8

Browse files
authored
Fix failing DPB LAG tests (#1919)
*Fixed the failed DPB LAG tests
1 parent 86b4ede commit a89d1f8

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed

tests/test_port_dpb_lag.py

+28-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import pytest
33
from port_dpb import Port
44
from port_dpb import DPB
5+
from swsscommon import swsscommon
56

67
@pytest.mark.usefixtures('dpb_setup_fixture')
78
@pytest.mark.usefixtures('dvs_lag_manager')
@@ -10,17 +11,39 @@ def check_syslog(self, dvs, marker, log, expected_cnt):
1011
(exitcode, num) = dvs.runcmd(['sh', '-c', "awk \'/%s/,ENDFILE {print;}\' /var/log/syslog | grep \"%s\" | wc -l" % (marker, log)])
1112
assert num.strip() >= str(expected_cnt)
1213

13-
@pytest.mark.skip(reason="Failing. Under investigation")
14+
def create_port_channel(self, dvs, channel):
15+
tbl = swsscommon.ProducerStateTable(dvs.pdb, "LAG_TABLE")
16+
fvs = swsscommon.FieldValuePairs([("admin", "up"), ("mtu", "9100")])
17+
tbl.set("PortChannel" + channel, fvs)
18+
time.sleep(1)
19+
20+
def remove_port_channel(self, dvs, channel):
21+
tbl = swsscommon.ProducerStateTable(dvs.pdb, "LAG_TABLE")
22+
tbl._del("PortChannel" + channel)
23+
time.sleep(1)
24+
25+
def create_port_channel_member(self, dvs, channel, interface):
26+
tbl = swsscommon.ProducerStateTable(dvs.pdb, "LAG_MEMBER_TABLE")
27+
fvs = swsscommon.FieldValuePairs([("status", "enabled")])
28+
tbl.set("PortChannel" + channel + ":" + interface, fvs)
29+
time.sleep(1)
30+
31+
def remove_port_channel_member(self, dvs, channel, interface):
32+
tbl = swsscommon.ProducerStateTable(dvs.pdb, "LAG_MEMBER_TABLE")
33+
tbl._del("PortChannel" + channel + ":" + interface)
34+
time.sleep(1)
35+
1436
def test_dependency(self, dvs):
37+
dvs.setup_db()
1538
lag = "0001"
1639
p = Port(dvs, "Ethernet0")
1740
p.sync_from_config_db()
1841

1942
# 1. Create PortChannel0001.
20-
self.dvs_lag.create_port_channel(lag)
43+
self.create_port_channel(dvs, lag)
2144

2245
# 2. Add Ethernet0 to PortChannel0001.
23-
self.dvs_lag.create_port_channel_member(lag, p.get_name())
46+
self.create_port_channel_member(dvs, lag, p.get_name())
2447
time.sleep(2)
2548

2649
# 3. Add log marker to syslog
@@ -38,7 +61,7 @@ def test_dependency(self, dvs):
3861
assert(p.exists_in_asic_db() == True)
3962

4063
# 7. Remove port from LAG
41-
self.dvs_lag.remove_port_channel_member(lag, p.get_name())
64+
self.remove_port_channel_member(dvs, lag, p.get_name())
4265

4366
# 8. Verify that port is removed from ASIC DB
4467
assert(p.not_exists_in_asic_db() == True)
@@ -51,8 +74,7 @@ def test_dependency(self, dvs):
5174
p.verify_asic_db()
5275

5376
# 10. Remove PortChannel0001 and verify that its removed.
54-
self.dvs_lag.remove_port_channel(lag)
55-
time.sleep(30)
77+
self.remove_port_channel(dvs, lag)
5678
self.dvs_lag.get_and_verify_port_channel(0)
5779

5880

0 commit comments

Comments
 (0)