IPMI crash
If the ipmitool
command returns a non-zero exit status, the plugin thread crashes:
Sep 11 15:44:48 ThreadReaper python3[3267384]: INFO:root:Starting "Plugin-IPMI" thread
Sep 11 23:47:21 ThreadReaper python3[254501]: ipmitool: ipmi_sdr_get_record() failed
Sep 11 23:47:21 ThreadReaper python3[3267384]: Exception in thread Plugin-IPMI:
Sep 11 23:47:21 ThreadReaper python3[3267384]: Traceback (most recent call last):
Sep 11 23:47:21 ThreadReaper python3[3267384]: File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
Sep 11 23:47:21 ThreadReaper python3[3267384]: self.run()
Sep 11 23:47:21 ThreadReaper python3[3267384]: File "/root/mqtt4hass/mqtt4hass.py", line 48, in run
Sep 11 23:47:21 ThreadReaper python3[3267384]: self.loop()
Sep 11 23:47:21 ThreadReaper python3[3267384]: File "/root/mqtt4hass/plugins/ipmi/__init__.py", line 31, in loop
Sep 11 23:47:21 ThreadReaper python3[3267384]: self.send_states()
Sep 11 23:47:21 ThreadReaper python3[3267384]: File "/root/mqtt4hass/plugins/ipmi/__init__.py", line 40, in send_states
Sep 11 23:47:21 ThreadReaper python3[3267384]: ipmi_data: Dict[str, Tuple[str, Optional[str]]] = IPMI.read_ipmi()
Sep 11 23:47:21 ThreadReaper python3[3267384]: File "/root/mqtt4hass/plugins/ipmi/__init__.py", line 72, in read_ipmi
Sep 11 23:47:21 ThreadReaper python3[3267384]: lines: str = check_output(["ipmitool"] + IPMI.__args).decode("utf-8")
Sep 11 23:47:21 ThreadReaper python3[3267384]: File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
Sep 11 23:47:21 ThreadReaper python3[3267384]: return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
Sep 11 23:47:21 ThreadReaper python3[3267384]: File "/usr/lib/python3.9/subprocess.py", line 528, in run
Sep 11 23:47:21 ThreadReaper python3[3267384]: raise CalledProcessError(retcode, process.args,
Sep 11 23:47:21 ThreadReaper python3[3267384]: subprocess.CalledProcessError: Command '['ipmitool', 'sdr']' returned non-zero exit status 1.
It should log the error, and try again next time.