pyghmi

GitHub地址

使用方法:

bin目录中有几个使用例子:

fakemc    # 一个简单的伪造的BMC,支持一些IPMI 命令(用于测试)。
pyghmicons  # 一个基于SOL重定向的通过IPMI的远程控制台。
pyghmiutil  # 直接使用一些pyghmi用法的一个IPMI客户端(对测试和原型设计新功能也有用处)。
virshbmc  # 使用libvirt的BMC模拟包装。
  1. BMC: 主板管理控制器。
  2. SOL: IPMI中SOL的使用
    Serial Over LAN (SOL) 功能非常有用。SOL 通过 IPMI 会话重定向本地串行接口,允许远程访问 Windows 的紧急事件管理控制台 (EMS) 特殊管理控制台 (SAC),或访问 LINUX 串行控制台。
  3. libvirt: Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。它可以用于管理KVM、Xen、VMware ESX,QEMU和其他虚拟化技术。这些API在云计算的解决方案中广泛使用。

主板管理控制器BMC:
http://blog.163.com/coolland@126/blog/static/2085276420118254245670/
机箱入侵,就是比如机箱没有关好等状况。


扩展

如果你想支持新功能。你应该将你的方法添加到pyghmi/ipmi/command.py
你可以多看下get_usersset_power的方法,比如怎么使用内部机制去实现性功能。
并且你应该为你的方法写注释,文档。

有的时候你可能想去实现 OEM 类的代码。比如,检索固件版本信息,不属于标准IPMI的一部分,但是一些服务商(或者服务器)确实支持的通过自定义OEM命令。如果你有这样的需求,可以根据下面的步骤来实现:

  1. pyghmi/ipmi/oem/generic.py 文件中添加你的通用检索功能(存根)到OEMHandler类。并且,你应该为你的目的,参数和期望返回值写文档。
  2. oem 文件夹下的子目录中(比如 lenovo 子目录)实现这些特殊的方法。一个 OEM 文件夹会包含一个从 OEMHandler 继承的类,以及可选的用于运行和解析自定义OEM命令的helpers方法。
  3. pyghmi/ipmi/oem/lookup.py 中注册映射策略,pyghmi才能知道怎么通过你写的特定的OEM代码去联系BMC session。

一个好的测试新功能的方式是使用 bin/pyghmiutil。只是添加一个扩展的新功能实现(作为一个新命令)和从命令行调用它:

$ IPMIPASSWORD=passw0rd bin/pyghmiutil [BMC IP address] username my_new_feature_command

你可能感兴趣的:(pyghmi)