Skip to main content

Pure python IPMI library

Project description

BuildStatus PyPiVersion Coveralls CodeClimate

Features

  • RMCP interface (using ipmitool)

  • IPMB interface (The Total Phase Aardvark)

Requirements

You need an either the ipmitool for accessing RCMP interface or a Total Phase Aardvark for communication over the IPMB interface.

Example

Below is an example that shows how to setup the interface and the connection using the ipmitool as backend with both network and serial interfaces.

Example with lan interface:

import pyipmi
import pyipmi.interfaces

# Supported interface_types for ipmitool are: 'lan' , 'lanplus', and 'serial-terminal'
interface = pyipmi.interfaces.create_interface('ipmitool', interface_type='lan')

connection = pyipmi.create_connection(interface)

connection.target = pyipmi.Target(0xb2)
connection.target.set_routing([(0x20,0)])

connection.session.set_session_type_rmcp('10.0.0.1', port=623)
connection.session.set_auth_type_user('admin', 'admin')
connection.session.establish()

connection.get_device_id()

ipmitool command:

ipmitool -I lan -H 10.0.0.1 -p 623 -b 0 -t 0xb2 -U "admin" -P "admin" -l 0 raw 0x06 0x01

Example with serial interface:

import pyipmi
import pyipmi.interfaces

interface = pyipmi.interfaces.create_interface('ipmitool', interface_type='serial-terminal')

connection = pyipmi.create_connection(interface)

connection.target = pyipmi.Target(0xb2)

# set_session_type_serial(port, baudrate)
connection.session.set_session_type_serial('/dev/tty2', 115200)
connection.session.establish()

connection.get_device_id()

ipmitool command:

ipmitool -I serial-terminal -D /dev/tty2:115200 -t 0xb2 -l 0 raw 0x06 0x01

Compatibility

Python 2.7 is currently supported. Python 3.x support is in beta

Contributing

Contributions are always welcome. You may send patches directly (eg. git send-email), do a github pull request or just file an issue.

  • respect the coding style (eg. PEP8),

  • provide well-formed commit message (see this blog post.)

  • add a Signed-off-by line (eg. git commit -s)

License

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-ipmi-0.3.0.tar.gz (62.4 kB view details)

Uploaded Source

Built Distribution

python_ipmi-0.3.0-py2.6.egg (227.3 kB view details)

Uploaded Egg

File details

Details for the file python-ipmi-0.3.0.tar.gz.

File metadata

  • Download URL: python-ipmi-0.3.0.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for python-ipmi-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b310337aad74644c2cab607d92bf3866cee6a581668348bcfadd7c2b175444bc
MD5 cb8834a6dce7c36641ecac3a518579d1
BLAKE2b-256 77259615c231d1641ab30f5153828195b265fb80223647bfabe45d990c73ffc4

See more details on using hashes here.

File details

Details for the file python_ipmi-0.3.0-py2.6.egg.

File metadata

File hashes

Hashes for python_ipmi-0.3.0-py2.6.egg
Algorithm Hash digest
SHA256 d19357543f28157bac5e7b7731bd014e443122a1ea6f813d625f26abeb6a296f
MD5 bc06ab4e14c26a34893bcdc45addb3de
BLAKE2b-256 d2e2f0253e616bb51a889f9d612537fd3659efb83bebacf72a0cd2f8db6a317c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page