Ipmi 子类方法 - KPTest框架开放资料

Skip to content

# Ipmi 子类方法

1. electronic_tags
> 描述：

    1
    2
    3
    4
    5

    方法功能：电子标签操作接口

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12

    action(str): 操作类型， 支持"read" or "write"
    fruid(int): FRU Device ID
    areanum   (int): Area Number.
    0=Internal Use Area
    1=Chassis Info Area
    2=Board Info Area
    3=Product Info Area
    5=Board Info Area Extend E-Lable
    fieldnum(int): Field Number
    offset(int): 数据偏移量
    length(int):写入长度
    data(str|list): 写入的具体数据

> 返回值：

    1

    返回查询到的电子标签值(str): IPMI接口返回16进制

> 异常：

    1

    None

> 举例：

    1
    2

    self.ipmi_api = self.device.get_api(ns_name="Ipmi")
    ret = self.ipmi_api.electronic_tags(action="read", fruid=0, areanum=2, fieldnum=1, offset=0, length=6)

2. update_security_module
> 描述：

    1
    2
    3
    4
    5

    方法功能：通过ipmi上报安全模块信息

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10

    security_type_len(int): TPM/TCM Type  长度，范围（1-16字节）（255代表取TPM/TCM Type 长度）
    security_type(str): TPM/TCM Type 值
    protocol_version_len(int): TPM/TCM Protocol Version 长度，范围（1-16字节）（255代表取protocol_version 长度）
    protocol_version(str): TPM/TCM Protocol Version 值
    manufacturer_version_len(int): TPM/TCM Manufacturer Version 长度，范围（1-16字节）
    (255代表取manufacturer_version 长度）
    manufacturer_version(str): TPM/TCM Manufacturer Version 值
    self_test(int): TPM/TCM Self-Test Result 1: success,2:fail
    manufacturer(str): 厂商信息
    manufacturer_len(int): 厂商长度，范围（1-16字节）（255代表取manufacturer 长度）

> 返回值：

    1

    返回接口调用结果(str): IPMI接口返回16进制

> 异常：

    1

    None

> 举例：

    1
    2
    3
    4

    self.ipmi_api = self.device.get_api(ns_name="Ipmi")
    ret = self.ipmi_api.update_security_module(security_type=security_type, manufacturer=manufacturer,
    protocol_version=protocol_version,
    manufacturer_version=manufacturer_version)

3. update_electronic_tags
> 描述：

    1
    2
    3
    4
    5

    方法功能：更新电子标签

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1
    2

    action: 操作类型，支持"update" or "status"
    fruid: FRU Device ID

> 返回值：

    1

    response(str): 返回电子标签更新结果，返回'00'认为正常下发命令成功

> 异常：

    1

    None

> 举例：

    1

    self.ipmi_api.update_electronic_tags(action, fruid)

4. clear_electronic_tags
> 描述：

    1
    2
    3
    4
    5

    方法功能：清除电子标签

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1
    2

    action: 操作类型，支持"clear" or "status"
    fruid: FRU Device ID

> 返回值：

    1

    response(str): 返回电子标签清除结果，中返回'01'认为正常下发命令成功

> 异常：

    1

    None

> 举例：

    1

    self.ipmi_api.clear_electronic_tags(action, fruid)

5. set_supported_ntp_server_count
> 描述：

    1
    2
    3
    4
    5

    方法功能：设置BMC支持的NTP服务器个数

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1

    count: 最大支持ntp服务器个数, 如："3(最大支持3个),6(最大支持6个)"

> 返回值：

    1

    response(str): 返回设置结果, db 07 00 执行成功

> 异常：

    1

    None

> 举例：

    1

    self.ipmi_api.set_supported_ntp_server_count(count)

6. ipmi_set_power_control
> 描述：

    1
    2
    3
    4
    5

    方法功能：设置 OS 侧电源状态

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1

    'state': 'on/off/reset/cycle/soft'

> 返回值：

    1

    response(str): 命令的返回值

> 异常：

    1

    None

> 举例：

    1

    self.ipmi_api.ipmi_set_power_control(state)

7. ipmi_get_sdr_type
> 描述：

    1
    2
    3
    4
    5

    方法功能：查询sdr type信息

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1

    sdr_type(str)：操作类型，  支持传参为空 or "Temperature"

> 返回值：

    1

    response(str): 若传入值为空则返回所有的传感器类型,传入具体的传感器类型参数则返回具体类型的sdr信息

> 异常：

    1

    None

> 举例：

    1
    2

    self.host_local_ipmi_api = self.device_dut.get_api(ns_name="Ipmi")
    res0 = self.host_local_ipmi_api.ipmi_get_sdr_type(sdr_type="")

8. ipmi_get_sdr_list
> 描述：

    1
    2
    3
    4
    5

    方法功能：根据传感器标识查询sdr

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1

    sdr_type(str)：操作类型， 支持传参为"list" or "get "StubInletTemp""

> 返回值：

    1

    response(list): 若传入值为list则返回所有的传感器标识,若传入值为具体的传感器表示名称则返回具体标识的sdr

> 异常：

    1

    None

> 举例：

    1
    2

    self.host_local_ipmi_api = self.device_dut.get_api(ns_name="Ipmi")
    res = self.host_local_ipmi_api.ipmi_get_sdr_list(get_type="list")

9. ipmi_get_sensor_list
> 描述：

    1
    2
    3
    4
    5

    方法功能：查询传感器列表

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1

    params:(dict): 输入参数

> 返回值：

    1

    response(list):若传入值为list则返回所有的传感器标识,若传入值为具体的传感器表示名称则返回具体标识的sdr

> 异常：

    1

    None

> 举例：

    1

    self.ipmi_api.ipmi_get_sensor_list(params)

10. ipmi_get_sel_list
> 描述：

    1
    2
    3
    4
    5

    方法功能：查询传感器事件列表

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1

    mode:(str): 输入参数

> 返回值：

    1

    response(list):若传入值为list则返回所有的传感器标识,若传入值为具体的传感器表示名称则返回具体标识的sdr

> 异常：

    1

    None

> 举例：

    1
    2

    self.host_local_ipmi_api = self.device_dut.get_api(ns_name="Ipmi")
    res = self.host_local_ipmi_api.ipmi_get_sel_list()

11. ipmi_install_license
> 描述：

    1
    2
    3
    4
    5

    方法功能：ipmi安装license

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1
    2

    content(str)：证书名称
    start_position(str)：证书路径中字符起始位

> 返回值：

    1

    response(str): 命令的返回值

> 异常：

    1

    None

> 举例：

    1
    2

    self.host_local_ipmi_api = self.device_dut.get_api(ns_name="Ipmi")
    res = self.host_local_ipmi_api.ipmi_install_license(content)

12. ipmi_install_license_incontinuity
> 描述：

    1
    2
    3
    4
    5
    6
    7

    方法功能：ipmi分帧安装license
                  ipmi分帧安装license时先调用本方法,用于指定安装模式为路径分帧安装，
                  然后调用ipmi_install_license方法,用于说明路径传输完毕及传入字符串在路径中的索引

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1

    content(str)：证书名称

> 返回值：

    1

    response(str): 命令的返回值

> 异常：

    1

    None

> 举例：

    1
    2

    self.host_local_ipmi_api = self.device_dut.get_api(ns_name="Ipmi")
    res = self.host_local_ipmi_api.ipmi_install_license(content)

13. ipmi_delete_license
> 描述：

    1
    2
    3
    4
    5

    方法功能：ipmi删除license

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1

    params:(dict): 输入参数

> 返回值：

    1

    response(str): 命令的返回值

> 异常：

    1

    None

> 举例：

    1
    2

    self.host_local_ipmi_api = self.device_dut.get_api(ns_name="Ipmi")
    res = self.host_local_ipmi_api.ipmi_delete_license()

14. ipmi_query_esn
> 描述：

    1
    2
    3
    4
    5

    方法功能：查询license esn

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1
    2

    req_len (int): ESN子串长度
    req_index (int): 查询ESN时的偏移量

> 返回值：

    1

    response(str): 命令的返回值

> 异常：

    1

    None

> 举例：

    1
    2

    self.host_local_ipmi_api = self.device_dut.get_api(ns_name="Ipmi")
    res = self.host_local_ipmi_api.ipmi_query_esn()

15. ipmi_query_license_info
> 描述：

    1
    2
    3
    4
    5

    方法功能：查询license 信息

    命令格式：

    支持Host类型：HostType.Local, HostType.HostOS

> 参数：

    1
    2
    3
    4

    get_type (int): 查询对象
    0:  查询license安装状态
    1:  查询license安装结果
    2:  查询license状态

> 返回值：

    1

    response(int): 命令的返回值

> 异常：

    1

    None

> 举例：

    1
    2

    self.host_local_ipmi_api = self.device_dut.get_api(ns_name="Ipmi")
    res = self.host_local_ipmi_api.ipmi_query_license_info()