Skip to content

Commit 347d726

Browse files
author
Wirut Getbamrung
authored
[202012][device/celestica]: Fix failed test cases of Haliburton platform API (#8297)
To fix failed test cases of Haliburton platform APIs that found on platform_tests script - How I did it - Add device/celestica/x86_64-cel_e1031-r0/platform.json - Update functions to support python3.7 - Add more functions follow latest sonic_platform_base - Fix the bug Signed-off-by: Wirut Getbamrung [[email protected]]
1 parent e241337 commit 347d726

File tree

16 files changed

+1774
-608
lines changed

16 files changed

+1774
-608
lines changed
Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,262 @@
1+
{
2+
"chassis": {
3+
"name": "Celestica-E1031-T48S4",
4+
"components": [
5+
{
6+
"name": "SMC_CPLD"
7+
},
8+
{
9+
"name": "MMC_CPLD"
10+
},
11+
{
12+
"name": "BIOS"
13+
}
14+
],
15+
"fans": [
16+
{
17+
"name": "FAN-1"
18+
},
19+
{
20+
"name": "FAN-2"
21+
},
22+
{
23+
"name": "FAN-3"
24+
}
25+
],
26+
"fan_drawers": [
27+
{
28+
"name": "Drawer1",
29+
"fans": [
30+
{
31+
"name": "FAN-1"
32+
}
33+
]
34+
},
35+
{
36+
"name": "Drawer2",
37+
"fans": [
38+
{
39+
"name": "FAN-2"
40+
}
41+
]
42+
},
43+
{
44+
"name": "Drawer3",
45+
"fans": [
46+
{
47+
"name": "FAN-3"
48+
}
49+
]
50+
}
51+
],
52+
"psus": [
53+
{
54+
"name": "PSU-R",
55+
"fans": [
56+
{
57+
"name": "PSU-1 FAN-1"
58+
}
59+
]
60+
},
61+
{
62+
"name": "PSU-L",
63+
"fans": [
64+
{
65+
"name": "PSU-2 FAN-1"
66+
}
67+
]
68+
}
69+
],
70+
"thermals": [
71+
{
72+
"name": "Inlet ambient sensor (Rear to Front)"
73+
},
74+
{
75+
"name": "Helix shutdown sensor (Rear to Front)"
76+
},
77+
{
78+
"name": "Inlet ambient sensor (Front to Rear, right)"
79+
},
80+
{
81+
"name": "Helix shutdown sensor (Front to Rear)"
82+
},
83+
{
84+
"name": "Inlet ambient sensor (Front to Rear, left)"
85+
},
86+
{
87+
"name": "CPU errata sensor (Front to Rear)"
88+
},
89+
{
90+
"name": "CPU errata sensor (Rear to Front)"
91+
}
92+
],
93+
"sfps": [
94+
{
95+
"name": "Ethernet54"
96+
},
97+
{
98+
"name": "Ethernet0"
99+
},
100+
{
101+
"name": "Ethernet1"
102+
},
103+
{
104+
"name": "Ethernet2"
105+
},
106+
{
107+
"name": "Ethernet3"
108+
},
109+
{
110+
"name": "Ethernet4"
111+
},
112+
{
113+
"name": "Ethernet5"
114+
},
115+
{
116+
"name": "Ethernet6"
117+
},
118+
{
119+
"name": "Ethernet7"
120+
},
121+
{
122+
"name": "Ethernet8"
123+
},
124+
{
125+
"name": "Ethernet9"
126+
},
127+
{
128+
"name": "Ethernet10"
129+
},
130+
{
131+
"name": "Ethernet11"
132+
},
133+
{
134+
"name": "Ethernet12"
135+
},
136+
{
137+
"name": "Ethernet13"
138+
},
139+
{
140+
"name": "Ethernet14"
141+
},
142+
{
143+
"name": "Ethernet15"
144+
},
145+
{
146+
"name": "Ethernet16"
147+
},
148+
{
149+
"name": "Ethernet17"
150+
},
151+
{
152+
"name": "Ethernet18"
153+
},
154+
{
155+
"name": "Ethernet19"
156+
},
157+
{
158+
"name": "Ethernet20"
159+
},
160+
{
161+
"name": "Ethernet21"
162+
},
163+
{
164+
"name": "Ethernet22"
165+
},
166+
{
167+
"name": "Ethernet23"
168+
},
169+
{
170+
"name": "Ethernet24"
171+
},
172+
{
173+
"name": "Ethernet25"
174+
},
175+
{
176+
"name": "Ethernet26"
177+
},
178+
{
179+
"name": "Ethernet27"
180+
},
181+
{
182+
"name": "Ethernet28"
183+
},
184+
{
185+
"name": "Ethernet29"
186+
},
187+
{
188+
"name": "Ethernet30"
189+
},
190+
{
191+
"name": "Ethernet31"
192+
},
193+
{
194+
"name": "Ethernet32"
195+
},
196+
{
197+
"name": "Ethernet33"
198+
},
199+
{
200+
"name": "Ethernet34"
201+
},
202+
{
203+
"name": "Ethernet35"
204+
},
205+
{
206+
"name": "Ethernet36"
207+
},
208+
{
209+
"name": "Ethernet37"
210+
},
211+
{
212+
"name": "Ethernet38"
213+
},
214+
{
215+
"name": "Ethernet39"
216+
},
217+
{
218+
"name": "Ethernet40"
219+
},
220+
{
221+
"name": "Ethernet41"
222+
},
223+
{
224+
"name": "Ethernet42"
225+
},
226+
{
227+
"name": "Ethernet43"
228+
},
229+
{
230+
"name": "Ethernet44"
231+
},
232+
{
233+
"name": "Ethernet45"
234+
},
235+
{
236+
"name": "Ethernet46"
237+
},
238+
{
239+
"name": "Ethernet47"
240+
},
241+
{
242+
"name": "Ethernet48"
243+
},
244+
{
245+
"name": "Ethernet49"
246+
},
247+
{
248+
"name": "Ethernet50"
249+
},
250+
{
251+
"name": "Ethernet51"
252+
},
253+
{
254+
"name": "Ethernet52"
255+
},
256+
{
257+
"name": "Ethernet53"
258+
}
259+
]
260+
},
261+
"interfaces": {}
262+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"chassis": {
3+
"Celestica-E1031-T48S4": {
4+
"component": {
5+
"BIOS": {},
6+
"SMC_CPLD": {},
7+
"MMC_CPLD": {}
8+
}
9+
}
10+
}
11+
}

device/celestica/x86_64-cel_e1031-r0/plugins/sfputil.py

Lines changed: 8 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -11,63 +11,17 @@ class SfpUtil(SfpUtilBase):
1111
"""Platform-specific SfpUtil class"""
1212

1313
PORT_START = 1
14-
PORT_END = 52
14+
PORT_END = 55
15+
SFP_PORT_START = 49
16+
SFP_PORT_END = 52
1517
port_to_i2c_mapping = {
16-
1: None,
17-
2: None,
18-
3: None,
19-
4: None,
20-
5: None,
21-
6: None,
22-
7: None,
23-
8: None,
24-
9: None,
25-
10: None,
26-
11: None,
27-
12: None,
28-
13: None,
29-
14: None,
30-
15: None,
31-
16: None,
32-
17: None,
33-
18: None,
34-
19: None,
35-
20: None,
36-
21: None,
37-
22: None,
38-
23: None,
39-
24: None,
40-
25: None,
41-
26: None,
42-
27: None,
43-
28: None,
44-
29: None,
45-
30: None,
46-
31: None,
47-
32: None,
48-
33: None,
49-
34: None,
50-
35: None,
51-
36: None,
52-
37: None,
53-
38: None,
54-
39: None,
55-
40: None,
56-
41: None,
57-
42: None,
58-
43: None,
59-
44: None,
60-
45: None,
61-
46: None,
62-
47: None,
63-
48: None,
6418
49: 15,
6519
50: 14,
6620
51: 17,
6721
52: 16
6822
}
6923
_port_to_eeprom_mapping = {}
70-
_sfp_port = list(range(49, PORT_END + 1))
24+
_sfp_port = list(range(SFP_PORT_START, SFP_PORT_END + 1))
7125

7226
@property
7327
def port_start(self):
@@ -89,7 +43,7 @@ def __init__(self):
8943
# Override port_to_eeprom_mapping for class initialization
9044
eeprom_path = '/sys/bus/i2c/devices/i2c-{0}/{0}-0050/eeprom'
9145
for x in range(self.PORT_START, self.PORT_END + 1):
92-
port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x])
46+
port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x]) if x in self._sfp_port else None
9347
self.port_to_eeprom_mapping[x] = port_eeprom_path
9448
SfpUtilBase.__init__(self)
9549

@@ -103,7 +57,7 @@ def get_presence(self, port_num):
10357
try:
10458
with open(sfp_modabs_path, 'r') as port_status:
10559
status = int(port_status.read(), 16)
106-
status = (status >> (port_num - 49)) & 1
60+
status = (status >> (port_num - self.SFP_PORT_START)) & 1
10761
except IOError:
10862
return False
10963

@@ -138,7 +92,8 @@ def get_transceiver_change_event(self, timeout=0):
13892
for port_num in self._sfp_port:
13993
change = (changes >> (port_num - 49)) & 1
14094
if change == 1:
141-
port_dict[str(port_num)] = str(int(self.get_presence(port_num)))
95+
port_dict[str(port_num)] = str(
96+
int(self.get_presence(port_num)))
14297
found_flag = 1
14398

14499
if not found_flag:

0 commit comments

Comments
 (0)