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,

Другие вопросы по тегам