Skip to content

Commit

Permalink
Update the description message of PSU power threshold checking in sys…
Browse files Browse the repository at this point in the history
…tem health (sonic-net#15289)

- Why I did it
Adjust PSU power threshold logic in system health.

- How I did it
Update the description message in PSU power threshold checking
power of PSU x (xx w) exceeds threshold (xx w) => System power exceeds xx threshold (xx w)

- How to verify it
Manual test and unit test
  • Loading branch information
stephenxs authored and sonic-otn committed Sep 20, 2023
1 parent 2d85dae commit 24e69c4
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
5 changes: 3 additions & 2 deletions src/system-health/health_checker/hardware_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -257,12 +257,13 @@ def _check_psu_status(self, config):
if not self._ignore_check(config.ignore_devices, 'psu', name, 'power_threshold'):
power_overload = data_dict.get('power_overload', None)
if power_overload == 'True':

try:
power = data_dict['power']
power_critical_threshold = data_dict['power_critical_threshold']
self.set_object_not_ok('PSU', name, 'power of {} ({}w) exceeds threshold ({}w)'.format(name, power, power_critical_threshold))
self.set_object_not_ok('PSU', name, 'System power exceeds threshold ({}w)'.format(power_critical_threshold))
except KeyError:
self.set_object_not_ok('PSU', name, 'power of {} exceeds threshold but power or power_critical_threshold is invalid'.format(name))
self.set_object_not_ok('PSU', name, 'System power exceeds threshold but power_critical_threshold is invalid')
continue

self.set_object_ok('PSU', name)
Expand Down
4 changes: 2 additions & 2 deletions src/system-health/tests/test_system_health.py
Original file line number Diff line number Diff line change
Expand Up @@ -444,12 +444,12 @@ def test_hardware_checker():
assert checker._info['PSU 5'][HealthChecker.INFO_FIELD_OBJECT_STATUS] == HealthChecker.STATUS_NOT_OK

assert 'PSU 6' in checker._info
assert checker._info['PSU 6'][HealthChecker.INFO_FIELD_OBJECT_MSG] == 'power of PSU 6 (101.0w) exceeds threshold (100.0w)'
assert checker._info['PSU 6'][HealthChecker.INFO_FIELD_OBJECT_MSG] == 'System power exceeds threshold (100.0w)'
assert checker._info['PSU 6'][HealthChecker.INFO_FIELD_OBJECT_STATUS] == HealthChecker.STATUS_NOT_OK

assert 'PSU 7' in checker._info
assert checker._info['PSU 7'][HealthChecker.INFO_FIELD_OBJECT_STATUS] == HealthChecker.STATUS_NOT_OK
assert checker._info['PSU 7'][HealthChecker.INFO_FIELD_OBJECT_MSG] == 'power of PSU 7 exceeds threshold but power or power_critical_threshold is invalid'
assert checker._info['PSU 7'][HealthChecker.INFO_FIELD_OBJECT_MSG] == 'System power exceeds threshold but power_critical_threshold is invalid'


def test_config():
Expand Down

0 comments on commit 24e69c4

Please sign in to comment.