2
2
import pytest
3
3
from port_dpb import Port
4
4
from port_dpb import DPB
5
+ from swsscommon import swsscommon
5
6
6
7
@pytest .mark .usefixtures ('dpb_setup_fixture' )
7
8
@pytest .mark .usefixtures ('dvs_lag_manager' )
@@ -10,17 +11,39 @@ def check_syslog(self, dvs, marker, log, expected_cnt):
10
11
(exitcode , num ) = dvs .runcmd (['sh' , '-c' , "awk \' /%s/,ENDFILE {print;}\' /var/log/syslog | grep \" %s\" | wc -l" % (marker , log )])
11
12
assert num .strip () >= str (expected_cnt )
12
13
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
+
14
36
def test_dependency (self , dvs ):
37
+ dvs .setup_db ()
15
38
lag = "0001"
16
39
p = Port (dvs , "Ethernet0" )
17
40
p .sync_from_config_db ()
18
41
19
42
# 1. Create PortChannel0001.
20
- self .dvs_lag . create_port_channel (lag )
43
+ self .create_port_channel (dvs , lag )
21
44
22
45
# 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 ())
24
47
time .sleep (2 )
25
48
26
49
# 3. Add log marker to syslog
@@ -38,7 +61,7 @@ def test_dependency(self, dvs):
38
61
assert (p .exists_in_asic_db () == True )
39
62
40
63
# 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 ())
42
65
43
66
# 8. Verify that port is removed from ASIC DB
44
67
assert (p .not_exists_in_asic_db () == True )
@@ -51,8 +74,7 @@ def test_dependency(self, dvs):
51
74
p .verify_asic_db ()
52
75
53
76
# 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 )
56
78
self .dvs_lag .get_and_verify_port_channel (0 )
57
79
58
80
0 commit comments