6d07efa890
Why I did it To implement fan control using thermalctld in DellEMC S6000 platform Requires: Azure/sonic-linux-kernel#241 How I did it Add thermal policies in 'thermal_policy.json' Implemented thermal_manager.py and the necessary modules to perform fan control via thermalctld Removed fancontrol.sh How to verify it Verified that the fan speeds are set based on the fan and temperature status. Logs: S6000_fan_control_test_logs.txt
65 lines
1.5 KiB
JSON
65 lines
1.5 KiB
JSON
{
|
|
"thermal_control_algorithm": {
|
|
"run_at_boot_up": "true",
|
|
"fan_speed_when_suspend": "80"
|
|
},
|
|
"info_types": [
|
|
{
|
|
"type": "chassis_info"
|
|
},
|
|
{
|
|
"type": "fandrawer_info"
|
|
},
|
|
{
|
|
"type": "psu_fan_info"
|
|
}
|
|
],
|
|
"policies": [
|
|
{
|
|
"name": "over temperature",
|
|
"conditions" : [
|
|
{
|
|
"type": "chassis.over_temperature"
|
|
}
|
|
],
|
|
"actions": [
|
|
{
|
|
"type": "chassis.thermal_shutdown"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "any fandrawer fault",
|
|
"conditions": [
|
|
{
|
|
"type": "fandrawer.any.fault"
|
|
}
|
|
],
|
|
"actions": [
|
|
{
|
|
"type": "fan.all.set_max_speed"
|
|
},
|
|
{
|
|
"type": "fandrawer.fault.set_status_led"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "all fandrawer normal",
|
|
"conditions": [
|
|
{
|
|
"type": "fandrawer.all.normal"
|
|
}
|
|
],
|
|
"actions": [
|
|
{
|
|
"type": "fan.all.set_thermal_level_speed"
|
|
},
|
|
{
|
|
"type": "fandrawer.normal.set_status_led"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|