Python pyghmi (IPMI) не может подключиться к серверу
Я пытался заставить SaltStack работать с IPMI, просматривая исходный код, я вижу, что модуль ipmi использует pythons pyghmi, независимо от того, что я пытаюсь, я всегда получаю следующую ошибку:
Insufficient resources to create new session (wait for existing sessions to timeout)
Тем не менее, использование ipmitool из командной строки (с тем же именем пользователя и паролем) работает нормально, я могу подключаться и выполнять команды.
Также я попробовал с простым скриптом Python:
from pyghmi.ipmi.private import session
def _onlogon(response):
if 'error' in response:
raise Exception(response['error'])
s = session.Session(bmc='10.0.0.100',
userid='USER',
password='PASS',
onlogon=_onlogon)
Но это не с той же ошибкой (пробовал с python 2.7 и 3.5):
Traceback (most recent call last):
File "/tmp/pycharm_project_858/main.py", line 15, in <module>
s.wait_for_rsp(timeout=1)
File "/usr/local/lib/python2.7/dist-packages/pyghmi/ipmi/private/session.py", line 1103, in wait_for_rsp
relsession.process_pktqueue()
File "/usr/local/lib/python2.7/dist-packages/pyghmi/ipmi/private/session.py", line 1194, in process_pktqueue
self._handle_ipmi_packet(pkt[0], sockaddr=pkt[1], qent=pkt)
File "/usr/local/lib/python2.7/dist-packages/pyghmi/ipmi/private/session.py", line 1261, in _handle_ipmi_packet
self._handle_ipmi2_packet(data)
File "/usr/local/lib/python2.7/dist-packages/pyghmi/ipmi/private/session.py", line 1283, in _handle_ipmi2_packet
return self._got_rmcp_response(data[16:])
File "/usr/local/lib/python2.7/dist-packages/pyghmi/ipmi/private/session.py", line 1363, in _got_rmcp_response
self.onlogon({'error': errstr})
File "/usr/local/lib/python2.7/dist-packages/pyghmi/ipmi/private/session.py", line 537, in onlogon
waiter(parameter)
File "/tmp/pycharm_project_858/main.py", line 6, in _onlogon
raise Exception(response['error'])
Exception: Insufficient resources to create new session (wait for existing sessions to timeout)
Любое понимание будет приветствоваться, я не смог найти документацию о pyghmi, к сожалению.
1 ответ
Из документов похоже, что вы должны использовать
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.ipmi.html
api_host=127.0.0.1
api_user=admin
api_pass=example
api_port=623
api_kg=None
Так api_pass
вместо api_password
,