149149 {"fin" : None ,
150150 "fn" : "redfish_get_sensor" , "arg" : ["/redfish/v1/Chassis/MGX_BMC_0/Sensors/BMC_TEMP" , "bmc" , 1000 ], "poll" : 30 , "ts" : 0 }
151151 ],
152- "def" : [],
152+ "HI171|HI172|HI144|HI147|HI148|HI174" : [
153+ {"fin" : "/var/run/hw-management/system/graseful_pwr_off" , "fn" : "run_power_button_event" ,
154+ "arg" : [], "poll" : 1 , "ts" : 0 },
155+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
156+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
157+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" }
158+ }
159+ },
160+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
161+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 66 }
162+ }
163+ ],
164+ "HI112|HI116|HI136" : [
165+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
166+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
167+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" }
168+ }
169+ },
170+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
171+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 32 }
172+ }
173+ ],
174+ "HI120" : [
175+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
176+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
177+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" }
178+ }
179+ },
180+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
181+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 60 }
182+ }
183+ ],
184+ "HI121" : [
185+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
186+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
187+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" }
188+ }
189+ },
190+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
191+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 54 }
192+ }
193+ ],
194+ "HI122|HI156" : [
195+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
196+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
197+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" }
198+ }
199+ },
200+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
201+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 32 }
202+ }
203+ ],
204+ "HI123|HI124" : [
205+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
206+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
207+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" }
208+ }
209+ },
210+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
211+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 64 }
212+ }
213+ ],
214+ "HI146" : [
215+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
216+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
217+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" }
218+ }
219+ },
220+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
221+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 32 }
222+ }
223+ ],
224+ "HI160" : [
225+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
226+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
227+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" }
228+ }
229+ },
230+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
231+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 28 }
232+ }
233+ ],
234+ "HI157" : [
235+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
236+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
237+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" },
238+ "asic2" : {"fin" : "/sys/module/sx_core/asic1/" }
239+ }
240+ },
241+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
242+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 37 }
243+ }
244+ ],
245+ "HI158" : [
246+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
247+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
248+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" },
249+ "asic2" : {"fin" : "/sys/module/sx_core/asic1/" },
250+ "asic3" : {"fin" : "/sys/module/sx_core/asic2/" },
251+ "asic4" : {"fin" : "/sys/module/sx_core/asic3/" }
252+ }
253+ },
254+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
255+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 73 }
256+ }
257+ ],
258+ "HI175" : [
259+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
260+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
261+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" },
262+ "asic2" : {"fin" : "/sys/module/sx_core/asic1/" },
263+ "asic3" : {"fin" : "/sys/module/sx_core/asic2/" },
264+ "asic4" : {"fin" : "/sys/module/sx_core/asic3/" }
265+ }
266+ },
267+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
268+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 91 }
269+ }
270+ ],
271+ "HI176" : [
272+ {"fin" : "/var/run/hw-management/system/graseful_pwr_off" , "fn" : "run_power_button_event" ,
273+ "arg" : [], "poll" : 1 , "ts" : 0 },
274+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
275+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
276+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" },
277+ "asic2" : {"fin" : "/sys/module/sx_core/asic1/" }
278+ }
279+ },
280+
281+ {"fin" : None ,
282+ "fn" : "redfish_get_sensor" , "arg" : ["/redfish/v1/Chassis/MGX_BMC_0/Sensors/BMC_TEMP" , "bmc" , 1000 ], "poll" : 30 , "ts" : 0 }
283+ ],
284+ "HI177" : [
285+ {"fin" : "/var/run/hw-management/system/graseful_pwr_off" , "fn" : "run_power_button_event" ,
286+ "arg" : [], "poll" : 1 , "ts" : 0 },
287+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
288+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
289+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" },
290+ "asic2" : {"fin" : "/sys/module/sx_core/asic1/" },
291+ "asic3" : {"fin" : "/sys/module/sx_core/asic2/" }
292+ }
293+ },
294+ {"fin" : None ,
295+ "fn" : "redfish_get_sensor" , "arg" : ["/redfish/v1/Chassis/MGX_BMC_0/Sensors/BMC_TEMP" , "bmc" , 1000 ], "poll" : 30 , "ts" : 0 }
296+ ],
297+ "HI178" : [
298+ {"fin" : None , "fn" : "asic_temp_populate" , "poll" : 3 , "ts" : 0 ,
299+ "arg" : { "asic" : {"fin" : "/sys/module/sx_core/asic0/" },
300+ "asic1" : {"fin" : "/sys/module/sx_core/asic0/" },
301+ }
302+ },
303+ {"fin" : None , "fn" : "module_temp_populate" , "poll" : 20 , "ts" : 0 ,
304+ "arg" : {"fin" : "/sys/module/sx_core/asic0/module{}/" , "fout_idx_offset" : 1 , "module_count" : 24 }
305+ }
306+ ],
307+ "def" : [
308+ {"fin" : "/var/run/hw-management/config/thermal_enforced_full_spped" ,
309+ "fn" : "run_cmd" ,
310+ "arg" : ["if [[ -f /var/run/hw-management/config/thermal_enforced_full_spped && "
311+ "$(</var/run/hw-management/config/thermal_enforced_full_spped) == \" 1\" ]]; then "
312+ "/usr/bin/hw-management-user-dump; fi" ],
313+ "poll" : 5 , "ts" : 0 },
314+ ],
153315 "test" : [
154316 {"fin" : "/tmp/power_button_clr" ,
155317 "fn" : "run_power_button_event" ,
@@ -169,10 +331,10 @@ class CONST(object):
169331 ASIC_TEMP_FAULT_DEF = 105000
170332 ASIC_TEMP_CRIT_DEF = 120000
171333 #
172- MODULE_TEMP_MIN_DEF = 70000
173334 MODULE_TEMP_MAX_DEF = 75000
174335 MODULE_TEMP_FAULT_DEF = 105000
175336 MODULE_TEMP_CRIT_DEF = 120000
337+ MODULE_TEMP_EMERGENCY_OFFSET = 10000
176338
177339REDFISH_OBJ = None
178340
@@ -473,6 +635,7 @@ def module_temp_populate(arg_list, _dummy):
473635 temperature_min = "0"
474636 temperature_max = "0"
475637 temperature_fault = "0"
638+ temperature_trip_crit = "0"
476639 temperature_crit = "0"
477640
478641 if module_present :
@@ -484,44 +647,48 @@ def module_temp_populate(arg_list, _dummy):
484647 continue
485648
486649 f_src_input = os .path .join (f_src_path , "temperature/input" )
487- f_src_min = os .path .join (f_src_path , "temperature/threshold_lo " )
488- f_src_max = os .path .join (f_src_path , "temperature/threshold_hi " )
650+ f_src_crit = os .path .join (f_src_path , "temperature/threshold_hi " )
651+ f_src_hcrit = os .path .join (f_src_path , "temperature/threshold_critical_hi " )
489652
490653 try :
491654 with open (f_src_input , 'r' ) as f :
492655 val = f .read ()
493656 temperature = sdk_temp2degree (int (val ))
494657
495- if os .path .isfile (f_src_min ):
496- with open (f_src_min , 'r' ) as f :
658+ if os .path .isfile (f_src_crit ):
659+ with open (f_src_crit , 'r' ) as f :
497660 val = f .read ()
498- temperature_min = sdk_temp2degree (int (val ))
661+ temperature_crit = sdk_temp2degree (int (val ))
499662 else :
500- temperature_min = CONST .MODULE_TEMP_MIN_DEF
663+ temperature_crit = CONST .MODULE_TEMP_MAX_DEF
501664
502- if os .path .isfile (f_src_max ):
503- with open (f_src_max , 'r' ) as f :
665+ if temperature_crit != 0 :
666+ temperature_emergency = temperature_crit + CONST .MODULE_TEMP_EMERGENCY_OFFSET
667+
668+ if os .path .isfile (f_src_hcrit ):
669+ with open (f_src_hcrit , 'r' ) as f :
504670 val = f .read ()
505- temperature_max = sdk_temp2degree (int (val ))
671+ temperature_trip_crit = sdk_temp2degree (int (val ))
506672 else :
507- temperature_max = CONST .MODULE_TEMP_MAX_DEF
508- temperature_crit = CONST . MODULE_TEMP_CRIT_DEF
673+ temperature_trip_crit = CONST .MODULE_TEMP_CRIT_DEF
674+
509675 except :
510676 pass
511677
512678 # Write the temperature data to files
513679 file_paths = {
514680 "_temp_input" : temperature ,
515- "_temp_crit" : temperature_min ,
516- "_temp_emergency" : temperature_max ,
681+ "_temp_crit" : temperature_crit ,
682+ "_temp_emergency" : temperature_emergency ,
517683 "_temp_fault" : temperature_fault ,
518- "_temp_trip_crit" : temperature_crit
684+ "_temp_trip_crit" : temperature_trip_crit
519685 }
520686
521687 for suffix , value in file_paths .items ():
522688 f_name = "/var/run/hw-management/thermal/{}{}" .format (module_name , suffix )
523- with open (f_name , 'w' , encoding = "utf-8" ) as f :
524- f .write ("{}\n " .format (value ))
689+ if value is not None :
690+ with open (f_name , 'w' , encoding = "utf-8" ) as f :
691+ f .write ("{}\n " .format (value ))
525692
526693 with open ("/var/run/hw-management/config/module_counter" , 'w+' , encoding = "utf-8" ) as f :
527694 f .write ("{}\n " .format (module_count ))
0 commit comments