1 Star 0 Fork 0

ningbo/pl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ipmi.py 1.15 KB
一键复制 编辑 原始数据 按行查看 历史
ningbo 提交于 2022-03-02 08:32 . add ledlocate.py getmem.py
from cmd import Cmd
from cmd import Ssh
class Ipmi(Cmd):
def __init__(self, ip, username, passwd):
super().__init__()
self.ip = ip
self.username = username
self.passwd = passwd
self.ssh = None
def charTohex(self, char):
h = "0x{:x}".format(ord(char))
return h
def getHex(self, chassis):
l = [self.charTohex(char) for char in chassis]
h = " ".join(l)
return h
def setSsh(self, ssh: Ssh):
self.ssh = ssh
def chassisFlash(self, chassis):
h = self.getHex(chassis)
ipmicmd1 = "ipmitool raw 0x0e 0x52 0x0b 0xa8 00 00 0x10 {chassis} 00".format(
chassis=h)
ipmicmd2 = "ipmitool raw 0x0e 0x52 0x0b 0xa8 00 00 0x20 00 00 00 00"
ipmicmd3 = "ipmitool raw 0x0e 0x52 0x0b 0xa8 0x14 00 0x10"
self.ssh.ssh(ipmicmd1)
self.ssh.ssh(ipmicmd2)
self.ssh.ssh(ipmicmd3)
def reboot(self):
self.ssh.ssh("ipmitool raw 6 2")
if __name__ == "__main__": # test
c = Ipmi("172.17.0.193", "admin", "admin")
s = Ssh("172.17.0.62", "root", "1")
c.setSsh(s)
c.chassisFlash("TG658-E12Q05")
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ningbocai/pl.git
git@gitee.com:ningbocai/pl.git
ningbocai
pl
pl
master

搜索帮助