This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
solutions-tsg-scripts/roles/groups-by-IPMB-addr/files/groups_by_IPMB_addr.fact

39 lines
1.2 KiB
Plaintext
Raw Permalink Normal View History

#!/usr/bin/python
import json
import os
import re
class GroupsByIPMB(object):
def __init__(self,IPMB_cmd_str):
self.IPMB_cmd_str = IPMB_cmd_str
self.IPMB_num_str = None
self.IPMB_cmd_ret_str = None
def groups_exec_IPMB_command(self):
opt_handler = os.popen(self.IPMB_cmd_str)
self.IPMB_cmd_ret_str = opt_handler.read()
opt_handler.close()
def groups_split_IPMB_ret_str(self):
info_list = re.split(' |\n',self.IPMB_cmd_ret_str)
if info_list [5] == '90':
self.IPMB_num_str = 'IPMB_num_blade_00'
if info_list [5] == '80':
self.IPMB_num_str = 'IPMB_num_blade_01'
if info_list [5] == '88':
self.IPMB_num_str = 'IPMB_num_blade_02'
if info_list [5] == '98':
self.IPMB_num_str = 'IPMB_num_blade_03'
def groups_print_IPMB_num_str(self):
print (json.dumps(self.IPMB_num_str))
if __name__ == '__main__':
IPMB_cmd_str = 'ipmitool raw 0x2e 0x32 0x13 0x5f 0x00'
groups_by_IPMB = GroupsByIPMB(IPMB_cmd_str)
groups_by_IPMB.groups_exec_IPMB_command()
groups_by_IPMB.groups_split_IPMB_ret_str()
groups_by_IPMB.groups_print_IPMB_num_str()