Files
dell-fans-controller-docker/controller/__pycache__/ipmi.cpython-37.pyc
T

36 lines
3.2 KiB
Plaintext
Raw Normal View History

2025-12-02 17:47:51 +08:00
B
d%Eh~ ã@s"ddlZddlZGdddƒZdS)éNc@steZdZeeedœddZeedœddZedœdd „Zedœd
d Zedœd d
Z e
dœddZ e dœddZ
dS)ÚIpmiTool)ÚhostÚusernameÚpasswordcCs*|r |r |stdƒ||_||_||_dS)Nz,host, username and password must be provided)Ú
ValueErrorrrr)Úselfrrr©rúI/Users/pllx/Web/Dell-idrac/dell-fans-controller-docker/controller/ipmi.pyÚ__init__s
 zIpmiTool.__init__)ÚcmdÚreturnc Cd|jd|jd|j}|d|}d}x¾t|ƒD]²}yZtj|ddddd}|jd krtd
|d |jƒt d ƒt d
ƒt dƒt dƒ|j
Stj k
||dkrÜt  
d|dd|d¡t d¡ntdƒYq8Xq8WdS)Nz ipmitool -H z -I lanplus -U z -P ú é)ÚshellZcapture_outputÚtextÚtimeoutruIPMI 命令执行失败: u
错误详情: u请检查以下内容:u@1. ç¡®ä¿ BMC 地å€å¯è®¿é—®ï¼ˆping 测试或网络é…置)。u*2. 验è¯ç”¨æˆ·åã€å¯†ç æ˜¯å¦æ­£ç¡®ã€‚u33. 检查目标设备的 IPMI 功能是å¦å¯ç”¨ã€‚éu-命令超时,正在é‡è¯•... (å°è¯•次数 úu>IPMI 命令超时。请检查网络连接或æœåŠ¡å™¨çŠ¶æ€ã€‚)rrrÚrangeÚ
subprocessÚrunÚ
returncodeÚ RuntimeErrorÚstderrÚprintÚstdoutZTimeoutExpiredÚloggerÚwarningÚtimeÚsleep)rr ZbasecmdZcommandZ retry_countZattemptÚresultrrr Úrun_cmd s&
  zIpmiTool.run_cmd)r cCs |jddS)zC
execute ipmitool command mc info
:return:
zmc info)r )r$)rrrr Úmc_info'szIpmiTool.mc_infocCs |jddS)zB
execute ipmitool command sensor
:return:
Úsensor)r )r$)rrrr r&.szIpmiTool.sensorcCsF| ¡}g}x4| ¡D](}d|kr| t| d¡d ¡ƒ¡qW|S)z:
get current temperature
:return:
ZTempú|r)r&Ú
splitlinesÚappendÚfloatÚsplitÚstrip)rÚdataZ temperaturesÚlinerrr Ú temperature5s  zIpmiTool.temperature)ÚautocCs$d}d}|r|j|dS|j|dS)zK
switch the fan mode
:param auto:
:return:
zraw 0x30 0x30 0x01 0x00zraw 0x30 0x30 0x01 0x01)r )r$)rr0Z
manual_cmdZauto_cmdrrr Úswitch_fan_modeCszIpmiTool.switch_fan_mode)ÚspeedcCsB|dks|dkrtdƒ|jddd}|j|dt|ƒdS) zF
set fan speed
:param speed:
:return:
é