【已评审】新增资源协作接口属性表示串口连接是否可见

前置评审

评审背景

  • 某机型支持uart over hisport。在使用uart over hisport 时 host uart的sol功能不可用,hisport存在多个tx和一个rx,在初始化时需要将host uart的tx连到uart3或者uart4的rx上进行串口录音记录。这种连接是单向连接,当前已在Hardware SIG上评审,由SerialManagement对象的CSR属性ConnectMode承载连接方式(单向连接或者双向连接)
  • 在实现该单向连接时,需要新增SerialManagement对象,去表示"UART0(或UART1)连接UART4(或UART3)"

当前现状以及差距

现状

  • 实现该机型的串口录音需要新增SerialManagement对象去做单向连接
  • 当前配置了SerialManagement对象,北向接口就会感知到,如下所示
ipmcset -d serialdir -v
Usage: ipmcset -d serialdir -v <option> [-s <systemid>]
Options are:
 0       Serial switch from PANEL COM to SYS COM
 1       Serial switch from PANEL COM to BMC COM
 2       Serial switch from SOL COM to SYS COM
 3       Serial switch from SOL COM to BMC COM
 4       Serial switch from SOL COM to CARD COM1
 5       Serial switch from SOL COM to CARD COM2
 254     Serial switch from PANEL COM to CLOSE

差距

  • 实现该机型的串口录音需要新增SerialManagement对象去做单向连接,由于Uart0的tx连接到UART3或者UART4的rx,仅属于内部连接,对外无需感知。

解决方案

  • 新增资源协作接口属性Visible,表示SerialManagement对象是否对外可见。北向接口根据此属性去判断是否需要对外展示

决策点1 SerialManagement对象下新增资源协作接口属性Visible

path:/bmc/kepler/Managers/:ManagerId/SerialManagement/:Id(原有)
interface: bmc.kepler.Managers.SerialManagement(原有)

说明
属性名称 Visible
属性类型 Boolen
属性读写 只读
属性权限 R:ReadOnly
W:不涉及
属性广播 false
属性值来源 CSR
默认值 true
持久化
属性说明 串口连接是否可见
取值:
true:表示对外可见
false:表示对外不可见。

示例:

      "SerialManagement_1": {
            "Id": 1,
            "Description": "PORT2连接UART2",
            "Availability": 1,
            "RetainedPolicy": 0,
            "ConnectStatus": 0,
            "ConnectStatusResetPer": 0,
            "SrcSerial": 18,
            "Source": "PANEL COM",
            "SourceId": 1,
            "DestSerial": 2,
            "Destination": "BMC COM",
            "DestinationId": 4,
            "ConnectMode":0,
            "Visible":true
        }

评审结论

通过,不需要新增资源协作接口属性,可以复用资源协作接口 bmc.kepler.Managers.SerialManagement 中的属性 Availability ,并且扩展取值范围,新增取值为 2,含义为:当前配置的串口可用但不可见;同时需要在 BMC SDK 中串口管理以及SOL管理中进行取值 2 的功能扩展适配。

1 个赞

修改成是否固定连接,表示不支持切换

复用用此属性,2 – 表示可用但不允许用户切换,刷新description