装备定制项
更新时间:2025/8/20
在Gitcode上查看源码

概述

装备定制化主要用于如下场景:

  1. 客户下单后,在装备测试阶段根据客户提供的配置实现个性化定制,如服务器机型名称、BMC用户名等。
  2. 客户服务器故障返厂退库,需要清楚客户配置,执行空定制化

装备定制项

account

定制项名称定制项说明取值默认值处理流程
BMCSet_LocalAccountPasswordRulePolicy本地用户密码校验模式Default:使用BMC默认的密码复杂度校验能力
Customized:使用自定义正则表达式的密码复杂度校验能力
Hybrid:同时使用默认密码复杂度校验和正则校验能力
Defaultif(BMCSet_LocalAccountPasswordRulePolicy== 空)
 设置为默认值
else
 设置为BMCSet_LocalAccountPasswordRulePolicy的值
BMCSet_LocalAccountPasswordPattern本地用户密码校验正则长度范围:0-255
空字符串或带有起始符(^)和结束符($)的有效正则表达式
""if(BMCSet_LocalAccountPasswordPattern== 空)
 设置为默认值
else
 设置为BMCSet_LocalAccountPasswordPattern的值
BMCSet_SnmpCommunityPasswordRulePolicySnmp团体密码校验模式Default:使用BMC默认的密码复杂度校验能力
Customized:使用自定义正则表达式的密码复杂度校验能力
Hybrid:同时使用默认密码复杂度校验和正则校验能力
Defaultif(BMCSet_SnmpCommunityPasswordRulePolicy== 空)
 设置为默认值
else
 设置为BMCSet_SnmpCommunityPasswordRulePolicy的值
BMCSet_SnmpCommunityPasswordPatternSnmp团体密码校验正则长度范围:0-255
空字符串或带有起始符(^)和结束符($)的有效正则表达式
""if(BMCSet_SnmpCommunityPasswordPattern== 空)
 设置为默认值
else
 设置为BMCSet_SnmpCommunityPasswordPattern的值
BMCSet_VNCPasswordRulePolicyVNC密码校验模式Default:使用BMC默认的密码复杂度校验能力
Customized:使用自定义正则表达式的密码复杂度校验能力
Hybrid:同时使用默认密码复杂度校验和正则校验能力
Defaultif(BMCSet_VNCPasswordRulePolicy== 空)
 设置为默认值
else
 设置为BMCSet_VNCPasswordRulePolicy的值
BMCSet_VNCPasswordPatternVNC密码校验正则长度范围:0-255
空字符串或带有起始符(^)和结束符($)的有效正则表达式
""if(BMCSet_VNCPasswordPattern== 空)
 设置为默认值
else
 设置为BMCSet_VNCPasswordPattern的值
BMCSet_LocalAccountAllowedLoginInterfaces本地用户允许开启的登录接口取值范围, 登录接口按位相加的值:Web:1, SNMP:2, IPMI:4, SSH:8, SFTP:16, Local:64, Redfish:128
至少含有一个登录接口, 且不能只含有SFTP接口
223if(BMCSet_LocalAccountAllowedLoginInterfaces == 空)
 设置为默认值
else
 设置为BMCSet_LocalAccountAllowedLoginInterfaces 的值

bios

定制项名称定制项说明取值默认值处理流程
BMCSet_BootDevice系统启动设备0:No override
1:Force PXE
2:Force boot from default Hard-drive
3:Force boot from default CD/DVD
4:Force boot into BIOS Setup
15: FDD/Removable Device
0if(BMCSet_BootDevice == 空)
 设置启动设备为No override
else
  设置启动设备为BMCSet_BootDevice的值
BMCSet_BootEffectMode系统启动设备生效模式1:once(只生效一次)
2:permament(永久生效)
1if(BMCSet_BootEffectMode == 空)
 设置为一次生效(1)
else
  设置生效模式为BMCSet_BootEffectMode 的值
BMCSet_BIOS_UpgradeActiveConditionBIOS升级生效策略PowerOff:BIOS升级生效触发条件为下电,包括强制下电
PowerCycle:仅PowerCycle下电触发升级生效
PowerOffif (BMCSet_BIOS_UpgradeActiveCondition == PowerCycle)
 设置BIOS升级生效条件为PowerCycle
else
 设置BIOS升级生效条件为PowerOff
BMCSet_AllowedPackageType设置BIOS防互升标志位不配置或字符串长度为0:使用默认的名称2011.2.235.1.1
其它值:Oid的厂商名称部分设置成定制的值,长度范围:1~128,不允许带空格,格式需要满足%d.%d.%d.%d.%d
if(BMCSet_AllowedPackageType == 1)
 设置BIOS防互升标志位为1
else if(BMCSet_AllowedPackageType == 0)
 设置BIOS防互升标志位为0
else
 使用默认值,不做定制
BMCSet_SmBiosFamilySMBIOS的Family长度范围:0~48,不支持多个连续空格if (BMCSet_SmBiosFamily != 空)
 设置Family为BMCSet_SmBiosFamily的值
else
 设置BMCSet_SmBiosFamily为空
BMCSet_BootFlagValidTimeoutAutoClearEnabled下发启动项后超过60s自动清除启动项配置功能的默认开关状态on:表示设置为超过60s未上下电自动清除
off:表示设置为超过60s未上下电不自动清除
offif (BMCSet_BootFlagValidTimeoutAutoClearEnabled = on )
 设置为超过60s未上下电自动清除
else
 设置为超过60s未上下电不自动清除

bmc_network

定制项名称定制项说明取值默认值处理流程
BMCSet_Hostname
Custom_SerialNUM
BMC主机名称BMCSet_Hostname如果设置为on,则表示把Custom_SerialNUM设置为主机名称,长度范围:1~64
主机名限制字符:"`~!@#$%^&*()_=+[{]}|;:' ,<.>/?""(包含空格)
BMCSet_Hostname:offif (BMCSet_Hostname == on)
 将Custom_SerialNUM作为Hostname
elseif (FRU数据中的产品序列号 != 空)
 将FRU数据中的产品序列号(product-serialnumber)为Hostname
else
 主机名设成"HostName"
BMCSet_ETH0_DHCPMode
BMCSet_Eth0_Ipv4
Custom_Eth0_Ip_Addr
Custom_ipv4_gateway
Custom_Eth0_DefaultPolicy
管理网口IPv4
BMCSet_ETH0_DHCPMode:定制BMC的IPv4地址获取模式
BMCSet_Eth0_Ipv4:定制BMC的IPv4地址(含掩码)
Custom_Eth0_DefaultPolicy:定制BMC的网口默认策略
BMCSet_ETH0_DHCPMode:
on/不配置:IPV4地址获取模式为DHCP
off:IPV4地址获取模式为STATIC

BMCSet_Eth0_Ipv4:
on:根据Custom_Eth0_Ip_Addr的值设置静态地址
off或不配置:无动作

Custom_Eth0_DefaultPolicy:
1:配置为DHCP模式
2:配置为固定模式,192.168.2.100/24
BMCSet_ETH0_DHCPMode:on
BMCSet_Eth0_Ipv4:off
Custom_Eth0_Ip_Addr:空串
Custom_ipv4_gateway:空串
Custom_Eth0_DefaultPolicy:1
if(BMCSet_ETH0_DHCPMode == off)
 if(BMCSet_Eth0_Ipv4 = on)
  设置对外网口IPv4地址和掩码为Custom_Eth0_Ip_Addr的值
  if(Custom_ipv4_gateway != 空)
   设置对外网口IPv4网关为Custom_ipv4_gateway的值
  else
   设置对外网口IPv4网关为Custom_Eth0_Ip_Addr的值
 else
  if(Custom_Eth0_DefaultPolicy == 2)
   设置对外网口IPv4地址和掩码为固定值:192.168.2.100/24
   设置对外网口IPv4网关为固定值:192.168.2.100
  else
   设置对外网口IPv4为DHCP模式
else
 设置对外网口IPv4为DHCP模式
Custom_NCSI_Port_Num绑定NCSI网口四网口配置取值为0-3
两网口配置取值为0-1
0if (BMCSet_NET_Mode != auto && BMCSet_NET_Mode != mgnt )
 if (NCSI_Port_Num != 空)
  绑定NCSI_Port_Num指定的NCSI网口
 else
  无动作
elseif (BMCSet_NET_Mode == auto && NCSI_Port_Num != 空)
 将NCSI_Port_Num指定的NCSI网口加入到自适应网口
else
 无动作
BMCSet_NCSI_VLAN_IDNCSI网口VlanID0:关闭VLAN 功能
1~4094:实际生效的VLAN ID
0if (BMCSet_NCSI_VLAN_ID != 空 )
 设置NCSI网口VLAN ID为BMCSet_NCSI_VLAN_ID的值
else
 设置NCSI网口VLAN ID为0(关闭Vlan功能)
BMCSet_NET_ModeBMC对外网口模式mgnt或不配置:强制管理网口
auto:自适应(以管理网口的link状态为准)
pcie:强制PCIE NCSI模式
mgntif (BMCSet_NET_Mode == 空)
 设置网口模式为强制专用管理网口
else
 设置网口模式为BMCSet_NET_Mode的值
BMCSet_IPVersion网口IPv4/IPv6使能IPv4
IPv4AndIPv6
IPv6
IPv4AndIPv6if (BMCSet_IPVersion == 空 )
 设置IP版本为成IPv4AndIPv6
else
 设置IP版本为BMCSet_IPVersion的值
BMCSet_DDSN_DomainNameBMC域名长度范围:0~67
取值格式:
1、由数字、英文字母、连字符(-),点号(.)组成
2、连字符不能作为开头和结尾,点号不能作为开头
3、任意两个点号之间的字符长度不超过63
设置域名为BMCSet_DDSN_DomainName的值
Custom_ipv4_gatewayBMC对外网口IPv4默认网关仅定制IP地址不定制网关时,默认将网关与IP定制成一致这个场景应该的前提是对IP定制化,不存在单独定制网关的场景
if (BMCSet_Eth0_Ipv4 == on )
  if (Custom_Eth0_Ip_Addr != 空)
   if (Custom_ipv4_gateway != 空)
     设置默认网管为Custom_ipv4_gateway的值
   else
     设置默认网管为定制的IP
  else
   设置默认网管关为空
BMCSet_RackInner_VLAN_ID机柜管理内网VlanID取值范围:1~4094702if (BMCSet_RackInner_VLAN_ID != 空)
  设置VLAN ID为 BMCSet_RackInner_VLAN_ID的值
else
  设置VLAN ID为702
BMCSet_RackInner_SubNet机柜管理内网通信网段1.如果不配置,默认为172.31.0.0
2.如果配置,网段范围不能和已有的IP地址冲突
172.31.0.0if (BMCSet_RackInner_SubNet != 空)
  设置内网网段为BMCSet_RackInner_SubNet的值
else
  设置内网网段为172.31.0.0
BMCSet_DEDICATED_VLAN_ID管理网口VlanID0:关闭VLAN 功能
1~4094:实际生效的VLAN ID
0if (BMCSet_DEDICATED_VLAN_ID != 空 )
  设置管理网口VLAN ID为BMCSet_DEDICATED_VLAN_ID的值
else
  设置管理网口VLAN ID为0(关闭Vlan功能)
Custom_HostnameUpdatePolicyBMC的Hostname更新策略0:SN变化仅更新一次主机名
1:SN变化实时更新到主机名(注意:此时不支持定制hostname)
0if(Custom_HostnameUpdatePolicy == 1)
 使能同步更新策略,当SN发生变化时同步修改BMC的Hostname
else
 去使能同步更新策略,当SN发生变化时不会同步修改BMC的Hostname
BMCSet_Ipv6_DHCPModeIPv6地址获取模式on:DHCP模式
off或不配置:static模式
offif (BMCSet_Ipv6_DHCPMode == on)
  设置IPv6地址获取模式为DHCP
else
  设置IPv6地址获取模式为static,把DHCP获取到的IP地址清零
BMCSet_Maint_IPv4专用网口近端运维IPv4地址IPv4地址字符串192.168.240.100if (BMCSet_Maint_IPv4 != 空)
 设置专用网口近端运维IPv4为BMCSet_Maint_IPv4的值
else
 设置专用网口近端运维IPv4为192.168.240.100
BMCSet_Maint_SubnetMask专用网口近端运维子网掩码IPv4子网掩码字符串255.255.255.0if (BMCSet_Maint_SubnetMask != 空)
 设置专用网口近端运维子网掩码为BMCSet_Maint_SubnetMask的值
else
 设置专用网口近端运维子网掩码为255.255.255.0
BMCSet_LLDPEnableLLDP功能使能状态on:开启LLDP功能
off或不配置:关闭LLDP功能
offif (BMCSet_LLDPEnable == on)
 使能LLDP功能
else
 禁用LLDP功能
BMCSet_SLAACEnableIPv6 SLAAC功能开关on或不配置:开启SLAAC功能
off:关闭SLAAC功能
onif (BMCSet_SLAACEnable == off)
  禁用SLAAC功能
else
  使能SLAAC功能

bmc_time

定制项名称定制项说明取值默认值处理流程
Custom_TIMEZONEBMC时区定制时区,参数支持:
1.定制化时区相对于GMT或UTC时间向西偏移的分钟,取值为数字
如:480表示东八区,-300表示西五区;
2.GMT+hh:mm或GMT-hh:mm,如GMT+08:00或GMT-05:00,范围为GMT-12:00~GMT+14:00;
3.UTC+hh:mm或UTC-hh:mm,如UTC+08:00或UTC-05:00,范围为UTC-12:00~UTC+14:00;
4.时区为地区名加城市名,如Asia/Shanghai,America/New_York等(是否定制成功,需要看时区配置文件有没有对应的时区)
(1)地区和城市间只支持带一个空格,如(Asia Shanghai)
(2)地区前不能带有空格
UTCif Custom_TIMEZONE != 空)
 设置时区为Custom_TIMEZONE的值
else
 设置时区为UTC
BMCSet_DST_EnableBMC夏令时使能"on"或不配置: 夏令时使能
"off":夏令时不使能
onif (BMCSet_DST_Enable == off)
 设置夏令时使能状态为false
else
 设置夏令时使能状态为true
BMCSet_TimeZoneConfiguarbleBMC时区是否可配置"on"或不配置: 时区支持北向接口配置
"off":时区不支持北向接口配置
onif (BMCSet_TimeZoneConfiguarble == off)
  设置时区不支持北向接口配置
else
  设置时区支持北向接口配置
BMCSet_NTPEnableStatusNTP服务使能状态0:关闭NTP
1:开启NTP
0if (BMCSet_NTPEnableStatus != 1)
  关闭NTP服务
else
  开启NTP服务
BMCSet_NTPPreferredServerAddr主NTP服务器地址IP地址或域名,设置为0.0.0.0时表示删除首选NTP服务地址if (BMCSet_NTPPreferredServerAddr == 空)
  设置主NTP服务器地址为空
else
  设置主NTP服务器地址为BMCSet_NTPPreferredServerAddr的值
BMCSet_NTPAlternativeServerAddr备NTP服务器地址IP地址或域名,设置为0.0.0.0时表示删除备用NTP服务地址if (BMCSet_NTPAlternativeServerAddr == 空)
  设置备NTP服务器地址为空
else
  设置备NTP服务器地址为BMCSet_NTPAlternativeServerAddr的值
BMCSet_NTPExtraServerAddr额外备选的NTP服务器地址IP地址或域名字符串,多个地址之间以“,”间隔
当NTP支持的服务器个数为3时,地址的个数为0~1个;
当NTP支持的服务器个数为6时,地址的个数为0~4个;
设置为0.0.0.0时表示删除拓展NTP服务地址
if (BMCSet_NTPExtraServerAddr == 空)
  设置额外备选NTP服务器地址为空
else
  设置额外备选NTP服务器地址为BMCSet_NTPExtraServerAddr的值
BMCSet_NTPCountNTP服务器个数3或不配置:支持3个NTP服务器
6:支持6个NTP服务器
3if (BMCSet_NTPCount == 空)
 设置NTP服务器数量为3
else
 设置NTP服务器数量为BMCSet_NTPCount的值
BMCSet_NTPModeNTP服务器获取模式1:手动配置
2:DHCPv4获取
3:DHCPv6获取
1if (BMCSet_NTPMode == 空)
 设置NTP服务器地址获取模式为手动配置
else
 设置NTP服务器地址获取模式为BMCSet_NTPMode的值
BMCSet_AuthNTPServerNTP服务器身份认证使能状态0:关闭NTP服务器身份认证
1:开启NTP服务器身份认证
0if (BMCSet_AuthNTPServer == 空)
 设置NTP服务器身份认证开关为关
else
  设置NTP服务器身份认证开关为BMCSet_AuthNTPServer
Custom_MinPollIntervalNTP服务器最小轮询时间3~176if(Custom_MinPollInterval == 空)
 设置NTP最小轮训间隔为默认值
else
 设置NTP最小轮训间隔为Custom_MinPollInterval的值
Custom_MaxPollIntervalNTP服务器最大轮询时间3~1710if(Custom_MaxPollInterval == 空)
 设置NTP最大轮训间隔为默认值
else
 设置NTP最大轮训间隔为Custom_MaxPollInterval的值
Custom_TimeHoppingThreshold时间跳变门限取值为u32的正整数,如果时间在1~59之间,按默认值处理,其余按原值处理120if(Custom_TimeHoppingThreshold == 空)
 设置时间跳变门限为默认值
else
 设置时间跳变门限为Custom_TimeHoppingThreshold的值
Custom_TimeSynchronizationPolicy时间同步策略配置0: NTP为准策略,NTP开启时仅从NTP同步,其他时间源不同步
1: NTP优先模式,NTP开启时优先同步NTP,NTP同步失败后再同步RTC
0if(Custom_TimeSynchronizationPolicy== 1)
 设置时间同步策略为Custom_TimeSynchronizationPolicy的值
else
 设置时间同步策略为默认值

certificate

定制项名称定制项说明取值默认值处理流程
Custom_TLS1_0ProtocolSupportedTLS1.0协议支持设置on:打开此项的使能
off:关闭此项的使能
offif (Custom_TLS1_0ProtocolSupported 为 on)
 设置可支持的TLS1.0协议为 开启
else
 设置可支持的TLS1.0协议为 关闭
Custom_TLS1_1ProtocolSupportedTLS1.1协议支持设置on:打开此项的使能
off:关闭此项的使能
offif (Custom_TLS1_1ProtocolSupported 为 on)
 设置可支持的TLS1.1协议为 开启
else
 设置可支持的TLS1.1协议为 关闭
Custom_TLSGMProtocolSupportedTLSGM协议支持设置on:打开此项的使能
off:关闭此项的使能
offif (Custom_TLSGMProtocolSupported == on)
 设置可支持的TLSGM协议为 开启
else
 设置可支持的TLSGM协议为 关闭
Custom_TLS1_0ProtocollEnabledTLS1.0协议使能设置on:打开此项的使能
off:关闭此项的使能
offif (Custom_TLS1_0ProtocollEnabled 为 on)
 设置TLS1.0协议使能为 开启
else
 设置TLS1.0协议使能为 关闭
Custom_TLS1_1ProtocollEnabledTLS1.1协议使能设置on:打开此项的使能
off:关闭此项的使能
offif (Custom_TLS1_1ProtocollEnabled 为 on)
 设置TLS1.1协议使能为 开启
else
 设置TLS1.1协议使能为 关闭
Custom_TLS1_2ProtocollEnabledTLS1.2协议使能设置on:打开此项的使能
off:关闭此项的使能
onif (Custom_TLS1_2ProtocollEnabled 为 off)
 设置TLS1.2协议使能为 关闭
else
 设置TLS1.2协议使能为 开启
Custom_TLSGMProtocollEnabledTLSGM协议使能设置on:打开此项的使能
off:关闭此项的使能
offif (Custom_TLSGMProtocollEnabled == on)
 设置TLSGM协议使能为 开启
else
 设置TLSGM协议使能为 关闭

cooling

定制项名称定制项说明取值默认值处理流程
BMCSet_Thermal_Policy散热模式16: Energy saving mode(节能模式)
17: Low noise mode(低噪声模式)
18: High performance mode(高性能模式)
19: Custom mode(用户自定义模式)
16if (SmartCooling使能状态 == 1)
 if (BMCSet_Thermal_Policy == 空)
  设置进风口区间调速策略为16
 else
   设置散热模式为BMCSet_Thermal_Policy的值
else
  返回不支持错误
Custom_Inlet_Temp_Level自定义散热模式进风口区间调速策略定制自定义散热模式进风口区间调速策略,第一个参数表示level
第2 ~ level+1 个参数表示 进风口温度区间
第level+2 ~ 2*level+2个参数表示对应的调速区间范围
例3,20,30,40,40,60,80,100 表示温度区间为3档,20度以下转速40%,20~30度转速60%,30~40度转速80%,40度以上转速100%
[3,20,30,40,40,60,80,100]if (SmartCooling使能状态 == 1)
 if (Custom_Inlet_Temp_Level == 空)
   设置进风口区间调速策略为[3,20,30,40,40,60,80,100]
 else
   设置进风口区间调速策略为Custom_Inlet_Temp_Level的值
else
  返回不支持错误
Custom_CoreRemObjTem自定义CPU核温目标调速值65if (SmartCooling使能状态 == 1)
 if (Custom_CoreRemObjTem == 空)
   设置CPU核温目标调速值为65
 else
   设置CPU核温目标调速值为Custom_CoreRemObjTem的值
else
  返回不支持错误
Custom_OutletObjTem自定义出风口核温目标调速值50if (SmartCooling使能状态 == 1)
 if (Custom_CoreRemObjTem == 空)
   设置出风口核温目标调速值为50
 else
   设置出风口核温目标调速值为Custom_OutletObjTem的值
else
  返回不支持错误
BMCSet_FanInitDefaultLevelAC上电通电开机场景风扇默认速率比50~100,单位:百分比100if (BMCSet_FanInitDefaultLevel == 空)
  设置默认PWM为100
else if (BMCSet_FanInitDefaultLevel >= 50 && BMCSet_FanInitDefaultLevel <= 100)
  设置默认PWM为BMCSet_FanInitDefaultLevel的值
else
  返回参数错误

ddns

定制项名称定制项说明取值默认值处理流程
BMCSet_DDSN_AutoIpMode
BMCSet_DDSN_DomainName
BMCSet_DDSN_PrimaryDomain
BMCSet_DDSN_BackupDomain
BMCSet_DDSN_TertiaryDomain
DNS服务器地址获取模式和手动模式的DNS服务器地址BMCSet_DDSN_AutoIpMode:
Static或不配置:手动模式
IPv4:自动获取IPv4 DNS服务器地址模式
IPv6:自动获取IPv6 DNS服务器地址模式

BMCSet_DDSN_DomainName:用户自定义域名,长度不能超过67个字节。可由数字、大小写英文字母和连接号(-),点号(.)组成。连接号不能作为域名的开头或结尾,点号不能作为域名的开头。

BMCSet_DDSN_PrimaryDomain:首选服务器的IP地址。
BMCSet_DDSN_BackupDomain:备用服务器1的IP地址。
BMCSet_DDSN_TertiaryDomain:备用服务器2的IP地址。
BMCSet_DDSN_AutoIpMode=Static
BMCSet_DDSN_DomainName=空
BMCSet_DDSN_PrimaryDomain=空
BMCSet_DDSN_BackupDomain=空
BMCSet_DDSN_TertiaryDomain=空
if (BMCSet_DDSN_AutoIpMode == Static || BMCSet_DDSN_AutoIpMode == 空)
 关闭DHCP自动获取DNS服务器地址
 获取BMCSet_DDSN_DomainName设置BMC属性
 获取BMCSet_DDSN_PrimaryDomain设置BMC属性
 获取BMCSet_DDSN_BackupDomain设置BMC属性   
 获取BMCSet_DDSN_TertiaryDomain设置BMC属性
else
 开启DHCP自动获取DNS服务器地址以及指定的IP模式(IPv4/IPv6)

event_policy

定制项名称定制项说明取值默认值处理流程
BMCSet_TrapEnable
BMCSet_TRAP_${Id}_Enable
Custom_Trap${Id}_IPADDR
Custom_Trap${Id}_PORT
Trap使能状态、接收服务器使能状态、地址和端口BMCSet_TrapEnable:SNMP Trap是否使能
 on或不配置:使能
 off:禁用
BMCSet_TRAP_${Id}_Enable:第${Id}个接收服务器使能状态
 on:使能
 off或不配置:禁用
Custom_Trap${Id}_IPADDR:第${Id}个接收服务器地址,取值格式是IPv4或IPv6或域名;
Custom_Trap${Id}_PORT:第${Id}个接收服务器端口,范围1~65535;
BMCSet_TrapEnable:on
BMCSet_TRAP_${Id}_Enable:off
Custom_Trap${Id}_IPADDR:空
Custom_Trap${Id}_PORT:162
if (BMCSet_TrapEnable == off)
  禁用SNMP Trap功能
else
  使能SNMP Trap功能

if (BMCSet_TRAP_${Id}_Enable == on)
  if (Custom_Trap${Id}_IPADDR != 空)
   使能接收服务器
   设置接收服务器地址
   if (Custom_Trap${Id}_PORT < 65535)
     设置接收服务器端口
   else
     返回服务器端口错误
  else
    无动作(不报错)
else
  禁用接收服务器禁用
  清空接收服务器地址
  服务器端口还原成默认值
BMCSet_TrapVersionTrap版本0:SNMPv1
1:SNMPv2c
3:SNMPv3
3if (BMCSet_TrapVersion == 空)
 设置Trap版本为SNMPv3
else
 设置Trap版本为BMCSet_TrapVersion的值
BMCSet_TrapCommunityNameTrap团体名开启密码复杂度时,支持长度为8~32个字符
关闭密码复杂度时,支持长度为1~32个字符
TrapAdmin12#$if (BMCSet_TrapCommunityName == 空)
 设置Trap团体名为TrapAdmin12#$
else
 IPMI命令设置Trap团体名为BMCSet_TrapCommunityName的值
BMCSet_TrapAlarmSeverityTrap消息事件级别0:不发送告警任何级别的告警信息和正常事件;
15:正常及以上,发送包括轻微、严重、紧急级别的告警信息,以及正常事件信息;
14:轻微及以上,发送包括轻微、严重、紧急级别的告警信息;
12:严重及以上,发送包括严重、紧急级别的告警信息;
8:紧急,仅发送紧急级别的告警信息;
15if (BMCSet_TrapAlarmSeverity == 空)
  设置Trap告警发送级别为正常及以上
else
  设置Trap告警发送级别为BMCSet_TrapAlarmSeverity的值
BMCSet_SnmpReportTypeSnmp Trap上报的告警类型OemEvent:系统事件信息
SEL:传感器事件信息
OemEventif (BMCSet_SnmpReportType == 空)
  设置上报告警类型为OemEvent
else
  设置上报告警类型为BMCSet_SnmpReportType的值
BMCSet_SmtpReportTypeSmtp上报的告警类型OemEvent:系统事件信息
SEL:传感器事件信息
OemEventif (BMCSet_SmtpReportType == 空)
  设置上报告警类型为OemEvent
else
  设置上报告警类型为BMCSet_SmtpReportType的值
BMCSet_SyslogReportTypeSyslog上报的告警类型OemEvent:系统事件信息
SEL:传感器事件信息
OemEventif (BMCSet_SyslogReportType == 空)
  设置上报告警类型为OemEvent
else
  设置上报告警类型为BMCSet_SyslogReportType的值
Custom_Trap_Modetrap模式21:OID模式
2:精准告警模式
if (Custom_Trap_Mode == 1)
 设置trap报文模式为OID模式
elseif(Custom_Trap_Mode == 2 or Custom_Trap_Mode == 空)
 设置trap报文模式为精准告警模式
else
 设置失败

fault_diagnosis

定制项名称定制项说明取值默认值处理流程
BMCSet_FDMIErrWarmResetEnableIERR诊断失败时FDM的处理策略0:不做任何处理
1或不配置:热复位
2:下电
1if ( BMCSet_FDMIErrWarmResetEnable == 0 )
 IERR诊断失败时不做任何处理
else if ( BMCSet_FDMIErrWarmResetEnable == 1 )
 IERR诊断失败时进行热复位操作
else if ( BMCSet_FDMIErrWarmResetEnable == 2 )
 IERR诊断失败时进行下电操作
else
 IERR诊断失败时进行热复位操作
fi
BMCSet_MemFaultIsolationEnabledBMC对系统内存执行容错功能总开关on/offonif (BMCSet_MemFaultIsolationEnabled == on)
 内存容错功能总开关打开
else
 内存容错功能总开关关闭
BMCSet_MemFaultPredictionEnabledBMC对系统内存故障预测开关on/offonif (BMCSet_MemFaultPredictionEnabled == on)
 内存故障预测开关打开
else
 内存故障预测开关关闭
BMCSet_MemSoftPPREnabledBMC对系统内存执行sPPR容错功能开关on/offonif (BMCSet_MemSoftPPREnabled == on)
 sPPR容错功能开关打开
else
 sPPR容错功能开关关闭
BMCSet_MemACLSEnabledBMC对系统内存执行ACLS容错功能开关on/offonif (BMCSet_MemACLSEnabled == on)
 ACLS容错功能开关打开
else
 ACLS容错功能开关关闭

firmware_mgmt

定制项名称定制项说明取值默认值处理流程
WBD_CUSTOMIZE
WBD_IMAGE_FILE
白牌包升级使能状态及文件路径1、定制白牌包升级使能状态:
on:需要进行白牌包升级
off或不配置:不需要进行白牌包升级

2、定制白牌包升级的升级文件的绝对路径(非BMC运行环境的路径,是定制化脚本执行环境的路径),不支持包含空格的路径或包名。
if (WBD_CUSTOMIZE == on)
  if (WBD_IMAGE_FILE == 空)
   不进行白牌包升级
   返回错误
  else
   升级WBD_IMAGE_FILE指定的白牌包文件
Custom_FirmwareUpdateTimeoutPolicy固件升级超时策略定制0:无动作,仅退出当前的固件升级流程
1:复位BMC
0if(Custom_FirmwareUpdateTimeoutPolicy != 空)
 BMC升级超时策略设置为Custom_FirmwareUpdateTimeoutPolicy
else
 BMC升级超时策略设置为默认值

fructrl

定制项名称定制项说明取值默认值处理流程
BMCSet_POWERRESTOR通电开机策略poweroff:保持下电
poweron或不配置:保持上电
powerrestore:恢复掉电前的状态
其它值:返回错误
poweronif (BMCSet_POWERRESTOR == 空)
  设置通电开机策略为保持上电
else
  设置通电开机策略为BMCSet_POWERRESTOR的值
BMCSet_PowerButtonLockStatus前面板电源按钮短按功能屏蔽状态0或不配置:不屏蔽前面板电源按钮短按功能
1:业务侧上电状态下,屏蔽前面板电源按钮短按功能
0if (BMCSet_PowerButtonLockStatus == 空)
  不屏蔽前面板电源按钮短按功能
else
  设置面板电源按钮短按功能屏蔽使能状态为BMCSet_PowerButtonLockStatus的值
BMCSet_PowerRestoreDelayMode
BMCSet_PowerRestoreDelayTime
延迟上电模式和时间BMCSet_PowerRestoreDelayMode:定制延迟上电模式,取值范围:
DefaultDelay:默认延迟模式(机架:0~2秒内的随机延迟;刀片/多节点:由管理板/网管受控上电)
HalfDelay:半值模式,只取延迟时间的一半
FixedDelay:固定值模式,完全根据延迟时间决定
RandomDelay:随机模式,在0~120秒之间取随机值

BMCSet_PowerRestoreDelayTime:定制延迟上电时间,取值范围:0~1200,单位:100ms
BMCSet_PowerRestoreDelayMode=DefaultDelay
BMCSet_PowerRestoreDelayTime=0(默认延迟模式下,延迟上电时间无效)
if (BMCSet_PowerRestoreDelayMode == 空)
  设置延迟模式成默认模式
  设置延迟时间为0
else
  设置延迟模式为BMCSet_PowerRestoreDelayMode的值
  设置延迟时间为BMCSet_PowerRestoreDelayTime的值

frudata

定制项名称定制项说明取值默认值处理流程
BMCSet_CustomSerialNUM
Custom_SerialNUM
主板FRU系统序列号(System域Serial Number)BMCSet_CustomSerialNUM:是否定制system域序列号,取值范围:
on:设置系统序列号为Custom_SerialNUM的值
off或不配置: 设置系统序列号为产品序列号(Product域Serial Number)

Custom_SerialNUM:system域序列号,取值为为0-32个ASCII字符,默认值长度为0,不支持开头和结尾存在空格。
BMCSet_CustomSerialNUM=off
Custom_SerialNUM=""
if (BMCSet_CustomSerialNUM == on)
  设置系统序列号为Custom_SerialNUM的值
else
  设置系统序列号为产品序列号(Product域Serial Number)
BMCSet_CustomAssetTag
Custom_AssetTag
主板FRU产品资产标签(Product域Asset Tag)BMCSet_CustomAssetTag:是否定制产品资产标签,取值范围:
on:设置系统序列号为Custom_AssetTag的值
off或不配置: 清空产品域资产标签

Custom_AssetTag:产品资产标签,取值为0-48个ASCII字符,默认值长度为0
BMCSet_CustomAssetTag=off
Custom_AssetTag=""
if(BMCSet_CustomAssetTag == on)
 设置产品资产标签为Custom_AssetTag的值
else
 清空产品资产标签
BMCSet_MACHINENAME主板FRU机器名称(System域Product Name)1-48个ASCII字符:按实际值设置
不配置或0个ASCII字符:使用Poduct域ProductName填充
if(BMCSet_MACHINENAME != 空)
  设置机器名称为BMCSet_MACHINENAME的值
else
  设置机器名称为Poduct域ProductName
BMCSet_CustomChassisPartNumber
Custom_ChassisPartNumber
机框部件号(FRU的Chassis Part Number)BMCSet_CustomChassisPartNumber设置为on,则表示定制partnumber;
Custom_ChassisPartNumber支持字符串长度0-48;
BMCSet_CustomChassisPartNumber=off
Custom_ChassisPartNumber=""
if (BMCSet_CustomChassisPartNumber == on)
 设置主板chassis域part number值为Custom_ChassisPartNumber的值
else
 空定制化,无动作
BMCSet_CustomChassisType
Custom_ChassisChassisType
机框类型(FRU的Chassis Type)Custom_ChassisChassisType取值范围:0-36
BMCSet_CustomChassisType如果配置为on,则表示定制chassis type。具体的chassis_type对应的具体含义:
chassis_type = {
 "Unspecified",  "Other",    "Unknown",
 "Desktop",   "Low Profile Desktop", "Pizza Box",
 "Mini Tower",   "Tower",    "Portable",
 "LapTop",    "Notebook",    "Hand Held",
 "Docking Station", "All in One",   "Sub Notebook",
 "Space-saving",  "Lunch Box",   "Main Server Chassis",
 "Expansion Chassis", "SubChassis",   "Bus Expansion Chassis",
 "Peripheral Chassis", "RAID Chassis",   "Rack Mount Chassis",
 "Sealed-case PC",  "Multi-system chassis", "Compact PCI",
 "Advanced TCA",  "Blade",    "Blade Enclosure",
 "Tablet",    "Convertible",   "Defachable",
 "IoT Gateway",  "Embedded PC",   "Mini PC",
 "Stick PC"
}
BMCSet_CustomChassisType=off
Custom_ChassisChassisType=0
if (BMCSet_CustomChassisType == on)
 设置主板chassis域chassis_type为下面表chassis_type中对应索引(从0开始)的值
else
 设置主板chassis域chassis_type值为0
BMCSet_CustomManufacturer
Custom_Manufacturer
主板FRU System域的生产厂商名称BMCSet_CustomManufacturer:是否定制生产厂商名称,取值范围
on:设置生产厂商名称为Custom_Manufacturer的值
off或不配置:设置生产厂商名称为默认值

Custom_Manufacturer:生产厂商,取值为0~48个ASCII字符
BMCSet_CustomManufacturer=off
Custom_Manufacturer=Huawei
if(BMCSet_CustomManufacturer = on)
  设置FRU0的System域的生产厂商名称为Custom_Manufacturer的值
else
  设置FRU0的System域的生产厂商名称为"Huawei"
BMCSet_CustomBoardPartNumberFlag主板FRU board域part numberon:表示使用03和SN前6位拼接作为part number
off或不配置:无动作
offif (BMCSet_CustomBoardPartNumberFlag == on)
  获取主板FRU board域Serial Number,使用"03"前缀和Serial Number的前6个字符拼接,填入board域part number
BMCSet_FRUProductExtraDescription主板FRU Product域扩展电子标签内容字符串if(BMCSet_FRUProductExtraDescription != 空)
  将BMCSet_FRUProductExtraDescription的值写入主板FRU的Product域扩展电子标签
BMCSet_FRUDescription主板FRU Board域扩展电子标签内容0~128个ASCII字符,默认长度为0,需遵守扩展数据格式要求if [BMCSet_FRUDescription ! = 空]
  将BMCSet_FRUDescription的值写入主板FRU的Board域扩展电子标签
BMCSet_CustomBoardManufacturer
BMCSet_CustomProductManufacturer
BMCSet_CustomBoardExtendLabel
板卡FRU电子标签1、BMCSet_CustomBoardManufacturer:定制Board域厂商为名称,若不为空,则将Board域厂商为名称设置为定制的内容;

2、BMCSet_CustomProductManufacturer:定制Product域厂商为名称,若不为空,则将Board域厂商为名称设置为定制的内容;

3、BMCSet_CustomBoardExtendLabel:定制Board域扩展电子标签,支持0~128个ASCII字符,默认长度为0,若不为空,则将Board域厂商为名称设置为定制的内容;
(1)需遵守扩展域格式要求,示例如下:
BMCSet_CustomBoardExtendLabel=Key1=value1
(2)如果需要同时定制多个扩展信息,请用;号分隔,示例如下:BMCSet_CustomBoardExtendLabel=Key1=value1;Key2=value2
BMCSet_CustomBoardManufacturer=空
BMCSet_CustomProductManufacturer=空
BMCSet_CustomBoardExtendLabel=空
if(BMCSet_CustomBoardManufacturer != 空)
  设置板卡FRU Board域厂商为名称BMCSet_CustomBoardManufacturer的值

if (BMCSet_CustomProductManufacturer != 空)
  设置板卡FRU Product域的厂商为名称为BMCSet_CustomProductManufacturer的值

if (BMCSet_CustomBoardExtendLabel != 空)
  设置板卡FRU Board扩展电子标签数据为BMCSet_CustomBoardExtendLabel的值
BMCSet_FRUBoardExInfoPcbVerFRU Board域扩展信息追加PCBVer"on":追加PCB版本(格式:PCBVer=.A)
"off"或不配置:不追加PCB版本信息,同时清除当前已经追加的PCB版本信息
offif (BMCSet_FRUBoardExInfoPcbVer == on)
 设置board域扩展信息时追加FRU对应的PCB版本
else
 设置board域扩展信息时不追加FRU对应的PCB版本,同时清除当前已经追加的PCB版本信息
BMCSet_FRUProductExtraFormatFRU Product域扩展信息格式0:key-value 方式,具体的形式可以是:key=value 或者 key:value 形式
1:value 方式,具体的形式就是 value 平铺方式
0if(BMCSet_FRUProductExtraFormat== 1)
 Product域扩展信息格式设置为 value 格式
else
 Product域扩展信息格式设置为 key-value 格式
BMCSet_CustomMainboard_BoardManufacturer
Custom_Mainboard_BoardManufacturer
主板FRU Board域生产厂商名称(Board域 Manufacturer)1-48个ASCII字符:按实际值设置BMCSet_CustomMainboard_BoardManufacturer=off
Custom_Mainboard_BoardManufacturer=Huawei
if (BMCSet_CustomSysBoardManufacturer == on)
 设置主板board域生产厂商名称为Custom_Mainboard_BoardManufacturer的值
else
 设置主板board域生产厂商名称为Huawei
BMCSet_CustomMainboard_ProductManufacturer
Custom_Mainboard_ProductManufacturer
主板FRU Product域生产厂商名称(Product域 Manufacturer)1-48个ASCII字符:按实际值设置BMCSet_CustomMainboard_ProductManufacturer=off
Custom_Mainboard_ProductManufacturer=Huawei
if (BMCSet_CustomMainboard_ProductManufacturer == on)
 设置主板product域生产厂商名称为Custom_Mainboard_ProductManufacturer的值
else
 设置主板product域生产厂商名称为Huawei
BMCSet_CustomMainboard_ProductName
Custom_Mainboard_ProductName
主板FRU Product域的ProductName0-48个ASCII字符:按实际值设置BMCSet_CustomMainboard_ProductName=off
Custom_Mainboard_ProductName=空
if (BMCSet_CustomMainboard_ProductName == on)
 设置主板product域产品名称为Custom_Mainboard_ProductName的值
else
 空定制化,无动作
BMCSet_CustomMainboard_BoardProductName
Custom_Mainboard_BoardProductName
主板FRU Board域的ProductName0-48个ASCII字符:按实际值设置BMCSet_CustomMainboard_BoardProductName=off
Custom_Mainboard_BoardProductName=空
if (BMCSet_CustomMainboard_BoardProductName == on)
 设置主板board域产品名为Custom_Mainboard_BoardProductName的值
else
 空定制化,无动作
BMCSet_CustomMainboard_ProductPartNum
Custom_Mainboard_ProductPartNum
主板FRU Product域的PartNumber0-48个ASCII字符:按实际值设置BMCSet_CustomMainboard_ProductPartNum=off
Custom_Mainboard_ProductPartNum=空
if (BMCSet_CustomMainboard_ProductPartNum == on)
 设置主板product域PartNumber名称为Custom_Mainboard_ProductPartNum的值
else
 空定制化,无动作
BMCSet_CustomMainboard_ProductSerialNum
Custom_Mainboard_ProductSerialNum
主板FRU Product域的SerialNumber0-48个ASCII字符:按实际值设置BMCSet_CustomMainboard_ProductSerialNum=off
Custom_Mainboard_ProductSerialNum=空
if (BMCSet_CustomMainboard_ProductSerialNum == on)
 设置主板product域序列号为Custom_Mainboard_ProductSerialNum的值
else
 空定制化,无动作
BMCSet_CustomProductVersion
Custom_ProductVersion
主板FRU Product域的ProductVersion1-48个ASCII字符:按实际值设置BMCSet_CustomProductVersion=off
Custom_ProductVersion=空
if(BMCSet_CustomProductVersion == “on”)
 设置电子标签ProductVersion为Custom_ProductVersion的值
else
 空定制化,无动作

general_hardware

定制项名称定制项说明取值默认值处理流程
DiskSlotCustomize
DiskSlotCustomizeId
硬盘槽位编号方式DiskSlotCustomize:是否定制硬盘槽位编号
on:定制
off或不配置:不定制

DiskSlotCustomizeId:硬盘槽位编号规则Id:字符串
if (DiskSlotCustomize == on)
  if (DiskSlotCustomizeId为特定客户)
   设置硬盘槽位号显示定制化ID为1
  else
   设置硬盘槽位号显示定制化ID为0
else
  设置硬盘槽位号显示定制化ID为0
BMCSet_CPLD_UpgradeActiveConditionCPLD升级生效策略PowerOff:CPLD升级生效触发条件为下电,包括强制下电
PowerCycle:仅PowerCycle下电触发升级生效
PowerOffif (BMCSet_CPLD_UpgradeActiveCondition == PowerCycle)
 设置CPLD升级生效条件为PowerCycle
else
 设置CPLD升级生效条件为PowerOff

host_agent

定制项名称定制项说明取值默认值处理流程
BMCSet_ComSysHostnameSyncEnable业务系统主机名是否从BMA同步到BMC0:不从BMA同步业务系统主机名到BMC
1或不配置 :从BMA同步业务系统主机名到BMC
1if( BMCSet_ComSysHostnameSyncEnable != 空)
  设置BMA同步hostname到BMC使能状态为BMCSet_ComSysHostnameSyncEnable的值
else
  从BMA同步业务系统主机名到BMC
BMCSet_SmsName系统软件名称(BMA名称)字母或数字,不能包含空格,长度范围:1~8iBMAif (BMCSet_SmsName != 空)
  设置系统软件名称为$BMCSet_SmsName
else
  设置系统软件名称为iBMA

iam

定制项名称定制项说明取值默认值处理流程
BMCSet_CustomAdminInfo
Custom_AdminName
Custom_AdminPassword
Custom_AdminFirstLoginPolicy
默认用户名和密码1. BMCSet_CustomAdminInfo 定制默认用户开关,取值范围:
on:定制默认用户的用户名与密码
off或不配置:使用默认值
2. Custom_AdminName:定制用户名,取值范围:
(1)1~16位的字符串
(2)由特殊符号、英文字母和数字组成,特殊字符不包括:空格:<>&,'"/%
(3)不能包含空格且首字符不能是“#”、“+”或“-”。
(4)用户名不能为“.”或“..”。
3. Custom_AdminPassword:定制用户密码,取值范围:
(1)密码不能为空
(2)可以是数字、英文字母和特殊字符组成的长度不大于20的字符串
(3)如果密码长度小于8个字符,该用户将无法使用SNMPv3接口
4.Custom_AdminFirstLoginPolicy:定制用户首次登录策略取值范围:
0:提示修改密码
1:强制修改密码
BMCSet_CustomAdminInfo=off
Custom_AdminName=Administrator
Custom_AdminPassword=Admin@9000
Custom_AdminFirstLoginPolicy=0
if(BMCSet_CustomAdminInfo == on)
  if (Custom_AdminName == 空)
   返回错误

  if (Custom_AdminPassword == 空)
   返回错误

  if(Custom_AdminFirstLoginPolicy 不为空)
   设置默认账户首次登录策略为Custom_AdminFirstLoginPolicy的值
  fi
  设置默认用户用户名为Custom_AdminName的值
  设置默认用户密码为Custom_AdminPassword的值
  设置默认用户权限为管理员
else
  设置默认用户首次登录提示密码修改
  设置默认用户用户名为Administrator
  设置默认用户密码为Admin@9000
  设置默认用户权限为管理员
Custom_AdminWritable默认用户可写on或不设置:设置默认用户(UserId=2)属性可写
off:设置默认用户(UserId=2)属性不可写
if(Custom_AdminWritable == off) 
  设置默认用户属性不可写
else
  设置默认用户属性可写
Custom_AdminAccess默认用户权限admin: 定制UserId=2用户为管理员
operator:定制UserId=2用户为操作员
user:定制UserId=2户为普通用户
if (Custom_AdminAccess != 空)
 设置默认用户权限为Custom_AdminAccess的值
BMCSet_CustomName${Id}
BMCSet_CustomNamePassword${Id}
BMCSet_CustomNameAccess${Id}
BMCSet_CustomLoginInterface${Id}_web
BMCSet_CustomLoginInterface${Id}_snmp
BMCSet_CustomLoginInterface${Id}_ipmi
BMCSet_CustomLoginInterface${Id}_ssh
BMCSet_CustomLoginInterface${Id}_sftp
BMCSet_CustomLoginInterface${Id}_local
BMCSet_CustomLoginInterface${Id}_redfish
BMCSet_CustomFirstLoginPolicy$
用户列表支持定制用户3到16,取值范围:
1、BMCSet_CustomName${Id}:定制用户${Id)的用户名,取值范围参考2.1中默认用户名Custom_AdminName取值范围
2、BMCSet_CustomNamePassword${Id}:定制用户${Id)的密码,取值范围参考2.1中默认用户密码Custom_AdminPassword取值范围
3、BMCSet_CustomLoginInterface${Id)_${Interface}:定制用户${Id)的登录接口,取值范围:
on:开启${Interface}接口
off:关闭${Interface}接口
4.BMCSet_CustomFirstLoginPolicy${Id}:定制用户首次登录策略取值范围:
0:提示修改密码
1:强制修改密码

Interface包括:web、snmp、ipmi、ssh、sftp、local、redfish
BMCSet_CustomName${Id}=""
BMCSet_CustomNamePassword${Id}=""
BMCSet_CustomNameAccess${Id}=""
BMCSet_CustomLoginInterface${Id}_${Interface}=on
for(i=3; i<17; i++)
 if(BMCSet_CustomName${i} == 空)
   删除UserId=i的用户
 else
   创建UserId=i用户
   设置UserId=i的登录接口
   if (BMCSet_CustomNamePassword${i} != 空)
     设置UserId=i用户用户密码为BMCSet_CustomNamePassword${i}的值
   if(BMCSet_CustomNameAccess${i} 不为空)
     设置UserId=i用户用户权限BMCSet_CustomNameAccess${i}的值
   if(BMCSet_CustomFirstLoginPolicy${Id} 不为空)
     设置UserId=i用户首次登录策略为BMCSet_CustomFirstLoginPolicy${Id}的值
   fi
BMCSet_OEMName${Id}
BMCSet_OEMNamePassword${Id}
BMCSet_OEMNameAccess${Id}
BMCSet_OEMNamePasswordType${Id}
BMCSet_OEMNameFirstLoginPolicy${Id}
BMCSet_OEMLoginInterface${Id}_web
BMCSet_OEMLoginInterface${Id}_snmp
BMCSet_OEMLoginInterface${Id}_ipmi
BMCSet_OEMLoginInterface${Id}_ssh
BMCSet_OEMLoginInterface${Id}_sftp
BMCSet_OEMLoginInterface${Id}_local
BMCSet_OEMLoginInterface${Id}_redfish
OEM用户列表支持预置用户,最多可以支持15个预置用户,不占用bmc当前的2-17号用户数量
考虑到IPMI命令传参有范围限制,实际设置的id为定制化项中id+100
参数取值范围有:
1、BMCSet_OEMName${Id}:定制用户${Id)的用户名,取值范围参考2.1中默认用户名Custom_AdminName取值范围
2、BMCSet_OEMNamePassword${Id}:定制用户${Id)的密码,根据需要可以设置明文(在bmc内加密后存储至数据库),其取值范围参考2.1中默认用户密码Custom_AdminPassword取值范围,或是密文(直接存储至数据库),最大长度为1024
3.BMCSet_OEMNameAccess${Id}:定制用户${Id)的用户权限
4、BMCSet_OEMLoginInterface${Id)_${Interface}:定制用户${Id)的登录接口,取值范围:
on:开启${Interface}接口
off:关闭${Interface}接口

Interface包括:web、snmp、ipmi、ssh、sftp、local、redfish
5、BMCSet_OEMNameFirstLoginPolicy$(Id):定制用户$(Id)的首次登录策略,取值范围:
1:用户${Id)首次登录策略为提示修改
2:用户${Id)首次登录策略为强制修改
默认不存在,即为空i = i + 100
考虑到ipmi命令范围,存储在bmc内的id与传入的有差值100
for(i=1; i<15; i++)
 if(BMCSet_OEMName${i} == 空)
   删除UserId=i的用户
 else
   创建UserId=i用户
   设置UserId=i的登录接口
   if (BMCSet_OEMNamePassword${i} != 空)
     设置UserId=i用户用户密码为BMCSet_OEMNamePassword${i}的值
     同时传入BMCSet_OEMNamePasswordType表示密文类型
   if(BMCSet_OEMNameAccess${i} 不为空)
     设置UserId=i用户用户权限BMCSet_OEMNameAccess${i}的值
   if(BMCSet_OEMNameFirstLoginPolicy${i} 不为空)
     设置UserId=i用户用户权限BMCSet_OEMNameFirstLoginPolicy${i}的值
BMCSet_UserPasswdComplexityForeverEnable
BMCSet_UserPasswdComplexityCheckEnable
用户密码复杂度检查BMCSet_UserPasswdComplexityForeverEnable:用户密码复杂度检查使能状态是否可修改,取值范围:
on:强制启用,无法禁用
off或不配置:可以禁用

BMCSet_UserPasswdComplexityCheckEnable:定制密码复杂度检查使能状态
on或不配置:使能
off:禁用
BMCSet_UserPasswdComplexityForeverEnable=off
BMCSet_UserPasswdComplexityCheckEnable=on
if (BMCSet_UserPasswdComplexityForeverEnable == on)
  密码复杂度检查使能状态设置成强制启用,无法禁用
else if(BMCSet_UserPasswdComplexityCheckEnable == off)
  禁用本地用户密码复杂度检查(密码复杂度检查使能状态设置成可修改)
else
  使能本地用户密码复杂度检查(密码复杂度检查使能状态设置成可修改)
Custom_ExpiredTime
Custom_MinimumPwdAge
Custom_SamePwdCheckCount
Custom_FailedLoginCount
Custom_ForbidLoginTime
Custom_ExcludeUserID
Custom_InactiveTimelimit
BMCSet_InitialPwdPrompt
BMCSet_WeakPasswdDictionaryCheck
BMCSet_InitialPasswordNeedModify
用户安全加固配置设置用户安全加固配置参数;
1、Custom_ExpiredTime:密码有效期
 (1)取值范围:0~365(天),0表示不检查有效期
2、Custom_MinimumPwdAge:密码最短使用期
  (1)取值范围:0~365(天),0表示不检查最短使用期
  (2)密码最短使用期必须比密码有效期小10天以上
  (3)密码有效期≤10,则密码最短使用期则只能设置为0
  (4)密码最短使用期≥355,则密码有效期只能设置为0
3、Custom_SamePwdCheckCount:检测历史重复密码个数
  (1)取值范围:0~5(0表示不检查历史重复密码)
4、Custom_FailedLoginCount:登录失败多少次锁定
  (1)取值范围:0~6(0表示登录失败不锁定用户)
5、Custom_ForbidLoginTime:失败后锁定的时间
  (1)取值范围:1~30(分钟)
6、Custom_ExcludeUserID:紧急逃生用户ID
  (1)取值范围:0,2~17(0表示不设置逃生用户)
  (2)该用户角色必须为管理员
7、Custom_InactiveTimelimit: 禁用不活跃用户期限
 (1)取值范围:0~365(天),0表示不禁用不活跃用户
8、BMCSet_InitialPwdPrompt:提示修改初始密码
  (1)取值范围:
   on或不配置:提示修改初始密码
   off:不提示修改初始密码
9、BMCSet_WeakPasswdDictionaryCheck:弱口令检查使能状态
  (1)取值范围:
    on或不配置:开启弱口令检查
    off:关闭弱口令检查
10.BMCSet_InitialPasswordNeedModify:初始密码是否需要修改:
 (1)取值范围:
   on或不配置:初始密码需要修改
   off:初始密码无需修改
 (2)关闭初始密码修改后,会将首次登录密码提示功能关闭(BMCSet_InitialPwdPrompt=off);开启首次登录密码提示功能不生效(BMCSet_InitialPwdPrompt=on)
Custom_ExpiredTime=0
Custom_MinimumPwdAge=0
Custom_SamePwdCheckCount=5
Custom_FailedLoginCount=5
Custom_ForbidLoginTime=5
Custom_ExcludeUserID=0
Custom_InactiveTimelimit=0
BMCSet_InitialPwdPrompt=on
BMCSet_WeakPasswdDictionaryCheck=on
BMCSet_InitialPasswordNeedModify=on
以Custom_ExpiredTime为例
if(Custom_ExpiredTime == 空)
  设置为默认值
else
  设置为Custom_ExpiredTime的值
Custom_MIBCommunity_RO
Custom_MIBCommunity_RW
SNMP只读和读写团体名配置长度范围:1~32默认团体名读取配置文件中只读团体名的值
if (Custom_MIBCommunity_RO == 空)
  Custom_MIBCommunity_RO=默认只读团体名
fi
设置SNMP只读团体名为Custom_MIBCommunity_RO的值

读取配置文件中读写团体名的值
if (Custom_MIBCommunity_RW == 空)
  Custom_MIBCommunity_RW=默认读写团体名
fi
设置SNMP读写团体名为Custom_MIBCommunity_RW的值
BMCSet_RemoteGroupAllowedLoginInterfaces用户允许开启的登录接口取值范围, 登录接口按位相加的值:
Web:1,SSH:8,Redfish:128
至少含有一个登录接口
137以BMCSet_LocalAccountAllowedLoginInterfaces为例
if(BMCSet_LocalAccountAllowedLoginInterfaces == 空)
  设置为默认值
else
  设置为BMCSet_LocalAccountAllowedLoginInterfaces的值
BMCSet_TrapSNMPv3UserIDTrap SNMPv3用户2~172if (BMCSet_TrapSNMPv3UserID == 空)
 设置Trap SNMPv3用户ID为2
else
 设置Trap SNMPv3用户ID为BMCSet_TrapSNMPv3UserID的值
BMCSet_SessionTimeoutweb会话超时时间5~480(分钟)5if(BMCSet_SessionTimeout == 空)
  设置web会话超时时间为5分钟
else
  设置web会话超时时间为BMCSet_SessionTimeout的值
BMCSet_RedfishMaxConcurrentSessionsRedfish最大会话数4 - 2010if(BMCSet_RedfishMaxConcurrentSessions == 空)
 设置 Redfish最大会话数 为默认值
else
 设置 Redfish最大会话数 为 BMCSet_RedfishMaxConcurrentSessions 的值
BMCSet_WebMaxConcurrentSessionsWeb最大会话数4 - 204if(BMCSet_WebMaxConcurrentSessions == 空)
 设置 Web最大会话数 为默认值
else
 设置 Web最大会话数 为 BMCSet_WebMaxConcurrentSessions 的值
BMCSet_CLISessionTimeoutcli会话超时时间0,5~480(分钟)15if(BMCSet_CLISessionTimeout== 空)
  设置web会话超时时间为15分钟
else
  设置web会话超时时间为BMCSet_CLISessionTimeout 的值
BMCSet_RedfishSessionTimeoutredfish会话超时时间0~480(分钟)5if(BMCSet_RedfishSessionTimeout == 空)
  设置web会话超时时间为5分钟
else
  设置web会话超时时间为BMCSet_RedfishSessionTimeout 的值
BMCSet_LongPasswordEnable超长口令使能设置0:关闭超长口令
1或不配置:开启超长口令
1if (BMCSet_LongPasswordEnable == 空)
 开启超长口令
else
 设置超长口令使能为BMCSet_LongPasswordEnable的值
BMCSet_WebSessionModeweb会话模式share : 共享
monopoly : 独占
monopolyif (BMCSet_WebSessionMode == share)
 设置会话为共享模式
else
 设置会话为独占模式
BMCSet_KVMTimeoutKVM会话超时时间0~480(分钟),0表示KVM会话不会超时60if (BMCSet_KVMTimeout == 空)
  设置KVM会话超时时间为60
else
  设置KVM会话超时时间为BMCSet_KVMTimeout的值
BMCSet_VNCPasswordVNC登录密码(1)关闭密码复杂度检查,支持长度为1-8位字符
(2)开启密码复杂度检查:
  1. 长度必须为8位字符;
  2. 至少包含一个空格或以下特殊字符:`~!@#$%^&*()-_=+|[{}];:'",<.>/?
  3. 至少包含数字,小写字母,大写字母中的两种
if (BMCSet_VNCPassword == 空)
 清除VNC密码
else
 设置VNC密码为BMCSet_VNCPassword的值
BMCSet_VNCTimeoutVNC会话超时时间0~480(分钟),0表示VNC会话不会超时60if (BMCSet_VNCTimeout == 空)
  设置VNC会话超时时间为60
else
  设置VNC会话超时时间为BMCSet_VNCTimeout的值
BMCSet_VNCPermitRuleIdsVNC登录规则0: 不启用任何规则
1: 启用规则1
2: 启用规则2
3: 启用规则1 规则2
4: 启用规则3
5: 启用规则1 规则3
6: 启用规则2 规则3
7: 启用规则1 规则2 规则3
0if (BMCSet_VNCPermitRuleIds == 空)
  设置VNC登录不开启任何登录规则
else
  设置VNC登录规则为BMCSet_VNCPermitRuleIds的值
BMCSet_LDAPEnableLDAP功能使能状态0或不配置: 关闭LDAP
1:开启LDAP
0if (BMCSet_LDAPEnable == 空)
 关闭LDAP
else
 设置LDAP使能状态为BMCSet_LDAPEnable的值
BMCSet_LDAPHostAddr1
BMCSet_LDAPHostAddr2
BMCSet_LDAPHostAddr3
BMCSet_LDAPHostAddr4
BMCSet_LDAPHostAddr5
BMCSet_LDAPHostAddr6
LDAP服务器地址IPv4地址,或IPv6地址,或域名
长度范围:0~255
以LDAP服务器1为例
if (BMCSet_LDAPHostAddr1 == 空)
 设置LDAP服务器1的地址为空
else
 设置LDAP服务器1的地址为BMCSet_LDAPHostAddr1的值
BMCSet_LDAPUserDomain1
BMCSet_LDAPUserDomain2
BMCSet_LDAPUserDomain3
BMCSet_LDAPUserDomain4
BMCSet_LDAPUserDomain5
BMCSet_LDAPUserDomain6
LDAP域名LDAP服务器的用户所属角色组的域,长度范围:0~255以LDAP服务器1为例
if (BMCSet_LDAPUserDomain1 == 空)
 设置LDAP服务器1的用户所属角色组的域为空
else
 设置LDAP服务器1的用户所属角色组的域为BMCSet_LDAPUserDomain1的值
BMCSet_LDAPPort1
BMCSet_LDAPPort2
BMCSet_LDAPPort3
BMCSet_LDAPPort4
BMCSet_LDAPPort5
BMCSet_LDAPPort6
LDAP端口号1~65535636以LDAP服务器1为例
if (BMCSet_LDAPPort1 == 空)
 设置LDAP服务器1的端口号位636
else
 设置LDAP服务器1的端口号为BMCSet_LDAPPort1的值
BMCSet_LDAPCertStatus1
BMCSet_LDAPCertStatus2
BMCSet_LDAPCertStatus3
BMCSet_LDAPCertStatus4
BMCSet_LDAPCertStatus5
BMCSet_LDAPCertStatus6
LDAP证书状态0或不配置:禁用LDAP证书
1:启用LDAP证书
0以LDAP服务器1为例
if (BMCSet_LDAPCertStatus1 == 空)
  禁用证书
else
  设置LDAP服务器1的证书使能状态为BMCSet_LDAPCertStatus1的值
BMCSet_LDAPGroupName1
BMCSet_LDAPGroupName2
BMCSet_LDAPGroupName3
BMCSet_LDAPGroupName4
BMCSet_LDAPGroupName5
BMCSet_LDAPGroupName6
BMCSet_LDAPGroupName17
BMCSet_LDAPGroupName18
BMCSet_LDAPGroupName19
BMCSet_LDAPGroupName20
BMCSet_LDAPGroupName21
BMCSet_LDAPGroupName22
BMCSet_LDAPGroupName33
BMCSet_LDAPGroupName34
BMCSet_LDAPGroupName35
BMCSet_LDAPGroupName36
BMCSet_LDAPGroupName37
BMCSet_LDAPGroupName38
BMCSet_LDAPGroupName49
BMCSet_LDAPGroupName50
BMCSet_LDAPGroupName51
BMCSet_LDAPGroupName52
BMCSet_LDAPGroupName53
BMCSet_LDAPGroupName54
BMCSet_LDAPGroupName65
BMCSet_LDAPGroupName66
BMCSet_LDAPGroupName67
BMCSet_LDAPGroupName68
BMCSet_LDAPGroupName69
BMCSet_LDAPGroupName70
LDAP组名定制LDAP的组名称,取值格式:
(1)不能以空格开头
(2)中间和末尾可以包含空格,但不能有连续的空格
(3)参数长度小于等于32
以第一个LDAP服务器的第1组为例
if (BMCSet_LDAPGroupName1 == 空)
 设置第一个LDAP服务器的第1组名称为空
else
 设置第一个LDAP服务器的第1组为BMCSet_LDAPGroupName1的值
BMCSet_LDAPGroupPermitRuleIds1
BMCSet_LDAPGroupPermitRuleIds2
BMCSet_LDAPGroupPermitRuleIds3
BMCSet_LDAPGroupPermitRuleIds4
BMCSet_LDAPGroupPermitRuleIds5
BMCSet_LDAPGroupPermitRuleIds6
BMCSet_LDAPGroupPermitRuleIds17
BMCSet_LDAPGroupPermitRuleIds18
BMCSet_LDAPGroupPermitRuleIds19
BMCSet_LDAPGroupPermitRuleIds20
BMCSet_LDAPGroupPermitRuleIds21
BMCSet_LDAPGroupPermitRuleIds22
BMCSet_LDAPGroupPermitRuleIds33
BMCSet_LDAPGroupPermitRuleIds34
BMCSet_LDAPGroupPermitRuleIds35
BMCSet_LDAPGroupPermitRuleIds36
BMCSet_LDAPGroupPermitRuleIds37
BMCSet_LDAPGroupPermitRuleIds38
BMCSet_LDAPGroupPermitRuleIds49
BMCSet_LDAPGroupPermitRuleIds50
BMCSet_LDAPGroupPermitRuleIds51
BMCSet_LDAPGroupPermitRuleIds52
BMCSet_LDAPGroupPermitRuleIds53
BMCSet_LDAPGroupPermitRuleIds54
BMCSet_LDAPGroupPermitRuleIds65
BMCSet_LDAPGroupPermitRuleIds66
BMCSet_LDAPGroupPermitRuleIds67
BMCSet_LDAPGroupPermitRuleIds68
BMCSet_LDAPGroupPermitRuleIds69
BMCSet_LDAPGroupPermitRuleIds70
LDAP组登录规则0: 不启用任何规则
1: 启用规则1
2: 启用规则2
3: 启用规则1 规则2
4: 启用规则3
5: 启用规则1 规则3
6: 启用规则2 规则3
7: 启用规则1 规则2 规则3
0以第一个LDAP服务器的第1组为例
if (BMCSet_LDAPGroupPermitRuleIds1 == 空)
 设置第一个LDAP服务器的第1组的登陆规则为空,即不启用任何规则
else
 设置第一个LDAP服务器的第1组的登录规则为BMCSet_LDAPGroupPermitRuleIds1的值
BMCSet_LDAPGroupLoginInterface1
BMCSet_LDAPGroupLoginInterface2
BMCSet_LDAPGroupLoginInterface3
BMCSet_LDAPGroupLoginInterface4
BMCSet_LDAPGroupLoginInterface5
BMCSet_LDAPGroupLoginInterface6
BMCSet_LDAPGroupLoginInterface17
BMCSet_LDAPGroupLoginInterface18
BMCSet_LDAPGroupLoginInterface19
BMCSet_LDAPGroupLoginInterface20
BMCSet_LDAPGroupLoginInterface21
BMCSet_LDAPGroupLoginInterface22
BMCSet_LDAPGroupLoginInterface33
BMCSet_LDAPGroupLoginInterface34
BMCSet_LDAPGroupLoginInterface35
BMCSet_LDAPGroupLoginInterface36
BMCSet_LDAPGroupLoginInterface37
BMCSet_LDAPGroupLoginInterface38
BMCSet_LDAPGroupLoginInterface49
BMCSet_LDAPGroupLoginInterface50
BMCSet_LDAPGroupLoginInterface51
BMCSet_LDAPGroupLoginInterface52
BMCSet_LDAPGroupLoginInterface53
BMCSet_LDAPGroupLoginInterface54
BMCSet_LDAPGroupLoginInterface65
BMCSet_LDAPGroupLoginInterface66
BMCSet_LDAPGroupLoginInterface67
BMCSet_LDAPGroupLoginInterface68
BMCSet_LDAPGroupLoginInterface69
BMCSet_LDAPGroupLoginInterface70
LDAP组登录接口0: 关闭所有接口
1: web
8: ssh
9: web ssh
128: redfish
129: web redfish
136: ssh redfish
137: web ssh redfish
0以第一个LDAP服务器的第1组为例
if (BMCSet_LDAPGroupLoginInterface1 == 空)
  关闭第一个LDAP服务器的第1组的所有登录接口
else
  设置第一个LDAP服务器的第1组的登录接口为BMCSet_LDAPGroupLoginInterface1的值
BMCSet_LDAPGroupFolder1
BMCSet_LDAPGroupFolder2
BMCSet_LDAPGroupFolder3
BMCSet_LDAPGroupFolder4
BMCSet_LDAPGroupFolder5
BMCSet_LDAPGroupFolder6
BMCSet_LDAPGroupFolder17
BMCSet_LDAPGroupFolder18
BMCSet_LDAPGroupFolder19
BMCSet_LDAPGroupFolder20
BMCSet_LDAPGroupFolder21
BMCSet_LDAPGroupFolder22
BMCSet_LDAPGroupFolder33
BMCSet_LDAPGroupFolder34
BMCSet_LDAPGroupFolder35
BMCSet_LDAPGroupFolder36
BMCSet_LDAPGroupFolder37
BMCSet_LDAPGroupFolder38
BMCSet_LDAPGroupFolder49
BMCSet_LDAPGroupFolder50
BMCSet_LDAPGroupFolder51
BMCSet_LDAPGroupFolder52
BMCSet_LDAPGroupFolder53
BMCSet_LDAPGroupFolder54
BMCSet_LDAPGroupFolder65
BMCSet_LDAPGroupFolder66
BMCSet_LDAPGroupFolder67
BMCSet_LDAPGroupFolder68
BMCSet_LDAPGroupFolder69
BMCSet_LDAPGroupFolder70
LDAP组应用文件夹取值格式:key1=value1, key2=value2...
(1)键值对间的','后只支持一个空格;
(2)第一个键前不能有空格
(3)键值对描述总长度小于等于255
以第一个LDAP服务器的第1组为例
if (BMCSet_LDAPGroupFolder1 == 空)
 设置第一个LDAP服务器的第1组的应用文件夹为空
else
 设置第一个LDAP服务器的第1组的应用文件夹为BMCSet_LDAPGroupFolder1的值
BMCSet_LDAPGroupUserRoleId1
BMCSet_LDAPGroupUserRoleId2
BMCSet_LDAPGroupUserRoleId3
BMCSet_LDAPGroupUserRoleId4
BMCSet_LDAPGroupUserRoleId5
BMCSet_LDAPGroupUserRoleId6
BMCSet_LDAPGroupUserRoleId17
BMCSet_LDAPGroupUserRoleId18
BMCSet_LDAPGroupUserRoleId19
BMCSet_LDAPGroupUserRoleId20
BMCSet_LDAPGroupUserRoleId21
BMCSet_LDAPGroupUserRoleId22
BMCSet_LDAPGroupUserRoleId33
BMCSet_LDAPGroupUserRoleId34
BMCSet_LDAPGroupUserRoleId35
BMCSet_LDAPGroupUserRoleId36
BMCSet_LDAPGroupUserRoleId37
BMCSet_LDAPGroupUserRoleId38
BMCSet_LDAPGroupUserRoleId49
BMCSet_LDAPGroupUserRoleId50
BMCSet_LDAPGroupUserRoleId51
BMCSet_LDAPGroupUserRoleId52
BMCSet_LDAPGroupUserRoleId53
BMCSet_LDAPGroupUserRoleId54
BMCSet_LDAPGroupUserRoleId65
BMCSet_LDAPGroupUserRoleId66
BMCSet_LDAPGroupUserRoleId67
BMCSet_LDAPGroupUserRoleId68
BMCSet_LDAPGroupUserRoleId69
BMCSet_LDAPGroupUserRoleId70
LDAP组角色Id0: NoAccess(实际定制时不支持设置为0)
2: User
3: Operator
4: Administrator
5: Custom Role 1
6: Custom Role 2
7: Custom Role 3
8: Custom Role 4
0以第一个LDAP服务器的第1组为例
if(BMCSet_LDAPGroupName1 != 空)
 if (BMCSet_LDAPGroupUserRoleId1 == 空)
   设置第一个LDAP服务器的第1组角色Id为User
 else
   设置第一个LDAP服务器的第1组角色Id为BMCSet_LDAPGroupUserRoleId1的值
else
  不做处理,定制化结果返回成功

ipmi_core

定制项名称定制项说明取值默认值处理流程
BMCSet_FireWallStatus
BMCSet_FireWallMode
IPMI命令防火墙使能状态以及模式1、BMCSet_FireWallStatus:定制IPMI过滤功能使能状态,取值说明:
0:禁用IPMI命令过滤
1或不配置:使能IPMI命令过滤

2、BMCSet_FireWallMode:定制IPMI命令过滤模式,取值说明
0或不配置:在BMCSet_FireWallStatus为1时,表示黑名单模式
1:在BMCSet_FireWallStatus为1时,表示白名单模式
0xff:在BMCSet_FireWallStatus为0时,表示不启用黑白名单

注:该功能的定制化需依次定制IPMI命令过滤使能状态和黑白名单模式的值,仅支持3种组合场景:
(1)第1种场景: IPMI过滤开关关闭(即开关状态为关闭 0,模式为0xff)
BMCSet_FireWallStatus=0
BMCSet_FireWallMode=0xff
(2)第2种场景: IPMI过滤开关开启,且开启黑名单模式(该种场景为默认场景)
BMCSet_FireWallStatus=1
BMCSet_FireWallMode=0
(3)第3种场景:IPMI过滤开关开启,且开启白名单模式
BMCSet_FireWallStatus=1
BMCSet_FireWallMode=1
BMCSet_FireWallStatus=1
BMCSet_FireWallMode=0
if (BMCSet_FireWallStatus != 空)
  设置IPMI命令过滤使能状态为BMCSet_FireWallStatus的值
else
  使能IPMI命令过滤

if (BMCSet_FireWallStatus == 1)
  使能IPMI命令过滤
  if (BMCSet_FireWallMode != 空)
   设置IPMI命令过滤模式为BMCSet_FireWallMode的值
  else
   设置IPMI命令过滤模式为黑名单模式
else if (BMCSet_FireWallStatus == 0)
  禁用IPMI命令过滤
  不启动任何IPMI命令过滤模式(0xff)
else
  使能IPMI命令过滤
  设置IPMI命令过滤模式为黑名单模式
BMCSet_IpmiCustomManuIDIPMI OEM定制化厂商ID2011if (BMCSet_IpmiCustomManuID为空)
 设置定制化厂商ID为2011
else if(BMCSet_IpmiCustomManuID> 0xffffff
BMCSet_IPMIChannelAccessEnabled
Custom_IPMBAccessRole
Custom_SMSAccessRole
Custom_ICMBAccessRole
IPMI通道权限0: NoAccess
2: User
3: Operator
4: Administrator
BMCSet_IPMIChannelAccessEnabled=off
Custom_IPMBAccessRole=3
Custom_SMSAccessRole=3
Custom_ICMBAccessRole=4
if (BMCSet_IPMIChannelAccessEnabled == on)
 if (Custom_IPMBAccessRole != 空)
  使用配置值做定制
 else
  使用默认值做定制
 if (Custom_SMSAccessRole != 空)
  使用配置值做定制
 else
  使用默认值做定制
 if (Custom_ICMBAccessRole != 空)
  使用配置值做定制
 else
  使用默认值做定制
else
 使用默认值做定制
Custom_NCSILanChannelNumber定制NCSI共享网口对外的网络通道编号[1, 11]2if(Custom_NCSILanChannelNumber != 空)
 NCSI口LAN通道的通道号设置为Custom_NCSILanChannelNumber
else
 无动作

metric_analyzer

定制项名称定制项说明取值默认值处理流程
BMCSet_DataAcquisitionServiceStatus智能诊断数据采集功能使能状态off或不配置:关闭智能诊断数据采集功能
on:开启智能诊断数据采集功能
offif (BMCSet_DataAcquisitionServiceStatus == on)
 开启智能诊断数据采集功能
else
 关闭智能诊断数据采集功能

nsm

定制项名称定制项说明取值默认值处理流程
Custom_SSH_ServiceControl
Custom_RemoteControl_ServiceControl
Custom_SNMPAgent_ServiceControl
Custom_WEBServer_ServiceControl
Custom_IPMILAN_ServiceControl
Custom_RMCP_ServiceControl
Custom_Video_ServiceControl
服务启停配置on:开启服务
off或不配置:关闭服务
SSH 默认为on
RemoteControl 默认为on
SNMPAgent 默认为on
WEBServer 默认为on
IPMILAN 默认为on
RMCP 默认为off
Video 默认为on
if [ ServiceControl != off ]
enable_state=1
else
enable_state=0

#针对具体服务
if (服务名称 == 某服务) && (服务状态 != on)
 enable_state=0
fi

if (enable_state = 0)
ServiceControl=off
else
ServiceControl=on
fi
Custom_WEBServer_ServiceControl
BMCSet_CustomWebserverHttpState
Custom_WebserverHttpState

Custom_IPMILAN_ServiceControl
BMCSet_CustomIPMILANRmcpState
Custom_IPMILANRmcpState

Custom_RemoteControl_ServiceControl
BMCSet_CustomRemoteControlVmmState
Custom_RemoteControlVmmState
深度判断某些服务使能状态配置(HTTP、HTTPS、RMCP、RMCP+、KVM、VMM)off表示禁用此服务,on表示开启Custom_WEBServer_ServiceControl 默认为on
BMCSet_CustomWebserverHttpState 默认为on
Custom_WebserverHttpState 默认为enable

Custom_IPMILAN_ServiceControl 默认为on
BMCSet_CustomIPMILANRmcpState 默认为on
Custom_IPMILANRmcpState 默认为disable

Custom_RemoteControl_ServiceControl 默认为on
BMCSet_CustomRemoteControlVmmState 默认为on
Custom_RemoteControlVmmState 默认为enable
if [ Custom_WEBServer_ServiceControl=off ]
 把web服务整个关掉
elseif [ Custom_WEBServer_ServiceControl=on ]
 则HTTP和HTTPS强制使能(enable_state=1)
else
 则HTTP和HTTPS强制关闭(enable_state=0)

对不安全协议HTTP做深度判断:
if [ 服务类型 == WEBServer] && [ 服务ID == HTTP ] && [ BMCSet_CustomWebserverHttpState == on ]
 if (Custom_WebserverHttpState == disable)
  关闭HTTP
 else
  使能HTTP
 else return 0
BMCSet_SSH_Service_PortId1(on,off)
Custom_SSH_ServicePort1(1~65535)
BMCSet_RemoteControl_Service_PortId1(on,off)
Custom_RemoteControl_ServicePort1(1~65535)
BMCSet_RemoteControl_Service_PortId2(on,off)
Custom_RemoteControl_ServicePort2(1~65535)
BMCSet_SNMPAgent_Service_PortId1(on,off)
Custom_SNMPAgent_ServicePort1(1~65535)
BMCSet_WEBServer_Service_PortId1(on,off)
Custom_WEBServer_ServicePort1(1~65535)
BMCSet_WEBServer_Service_PortId2(on,off)
Custom_WEBServer_ServicePort2(1~65535)
BMCSet_IPMILAN_Service_PortId1(on,off)
Custom_IPMILAN_ServicePort1(1~65535)
BMCSet_IPMILAN_Service_PortId2(on,off)
Custom_IPMILAN_ServicePort2(1~65535)
BMCSet_Video_Service_PortId1(on,off)
Custom_Video_ServicePort1(1~65535)
服务端口配置BMCSet_SSH_Service_PortId1 默认为on
Custom_SSH_ServicePort1 默认为22
BMCSet_RemoteControl_Service_PortId1 默认为on
Custom_RemoteControl_ServicePort1 默认为2198
BMCSet_RemoteControl_Service_PortId2 默认为on
Custom_RemoteControl_ServicePort2 默认为8208
BMCSet_SNMPAgent_Service_PortId1 默认为on
Custom_SNMPAgent_ServicePort1 默认为161
BMCSet_WEBServer_Service_PortId1 默认为on
Custom_WEBServer_ServicePort1 默认为80
BMCSet_WEBServer_Service_PortId2 默认为on
Custom_WEBServer_ServicePort2 默认为443
BMCSet_IPMILAN_Service_PortId1 默认为on
Custom_IPMILAN_ServicePort1 默认为623
BMCSet_IPMILAN_Service_PortId2 默认为on
Custom_IPMILAN_ServicePort2 默认为664
BMCSet_Video_Service_PortId1 默认为on
Custom_Video_ServicePort1 默认为2199
if [ "$ServicePortId" = "on" ]
 #获取配置服务端口的网络端口号
 if [ 端口号 大于 "65535" ] || [ ServicePort< "1" ] ;
  退出
else
 从defaultserverport.ini配置文件获取默认值并设置
fi
直接发IPMI命令调用方法设置端口号
Custom_MIBVersionSNMP v1,v2功能启用控制0: 关闭V1 V2
1: 开启V1 关闭V2
2: 关闭V1 开启V2
3: 开启V1 V2
0设置服务开启状态
BMCSet_SSDP_MODESSDP服务模式控制0:关闭SSDP M-SEARCH响应功能
1或不配置:开启SSDP M-SEARCH响应功能
1if (BMCSet_SSDP_MODE == "")
  开启M-SEARCH响应功能
else
  设置M-SEARCH响应功能使能状态为BMCSet_SSDP_MODE的值
BMCSet_VNCEnableState设置VNC端口使能on 服务开启
off 服务关闭
off获取BMCSet_NTPEnableStatus值,并发送ipmi命令去设置
BMCSet_VNCPort设置VNC端口号1~655355900if (BMCSet_VNCPort 为空)
 设置VNC 端口号为5900
else
 获取BMCSet_VNCPort值,并发送ipmi命令去设置
BMCSet_SysNameSyncHostNamesnmp的sysname0 关闭,显示sysname的值
1 开启,从Hostname同步
0#设置sysname从hostname同步的标志:0关闭;1开启
getini $CONFIGFILE BMCSet_SysNameSyncHostName
QuerySysNameSyncHostName=$parameter
if [ "$QuerySysNameSyncHostName" == 1 ] ; then
  set_sysname_sync_from_hostname_flag $QuerySysNameSyncHostName
else
  set_sysname_sync_from_hostname_flag 0
fi
BMCSet_CustomSysNamesnmp的sysname节点iBMCif(BMCSet_CustomSysName != 空)
{
 将定制snmp的sysname节点设置为BMCSet_CustomSysName
}
else
{
 将定制snmp的sysname节点设置为iBMC
}

oms

定制项名称定制项说明取值默认值处理流程
BMCSet_CustomSyslog_Statesyslog总体开关使能0:关闭
1:开启
0if (BMCSet_CustomSyslog_State 为空)
 设置使能开关为关
else
 获取BMCSet_CustomSyslog_State值,并设置
BMCSet_CustomSyslog_Host_Flag设置syslog主机标识1:序列号
2:资产标签
3:主机名
1if (BMCSet_CustomSyslog_Host_Flag 为空)
 设置默认值
else
 获取BMCSet_CustomSyslog_Host_Flag值,并设置
BMCSet_CustomSyslog_Alarm_Levelsyslog告警级别0:NULL,不发送告警信息或正常事件信息。
1(bit0):正常,发送包括轻微、严重、紧急级别的告警信息,以及正常事件信息。
2(bit1):轻微,发送包括轻微、严重、紧急级别的告警信息。
4(bit2):严重,发送包括严重、紧急级别的告警信息。
8(bit3):紧急,仅发送紧急级别的告警信息。
1if (BMCSet_CustomSyslog_Alarm_Level 为空)
 设置默认值
else
 获取BMCSet_CustomSyslog_Alarm_Level值,并设置
BMCSet_CustomSyslog_Trans_Protocolsyslog传输协议1:UDP
2:TCP
3:TLS
3if (BMCSet_CustomSyslog_Trans_Protocol 为空)
 设置默认值
else
 获取BMCSet_CustomSyslog_Trans_Protocol值,并设置
BMCSet_CustomSyslog_0_State
BMCSet_CustomSyslog_1_State
BMCSet_CustomSyslog_2_State
BMCSet_CustomSyslog_3_State
单个syslog发送通道(上报的服务端)使能0:关闭
1:开启
0#以BMCSet_CustomSyslog_0_State为例
if (BMCSet_CustomSyslog_0_State 为空)
 设置默认值
else
 获取BMCSet_CustomSyslog_0_State值,并设置
BMCSet_CustomSyslog_0_LogType
BMCSet_CustomSyslog_1_LogType
BMCSet_CustomSyslog_2_LogType
BMCSet_CustomSyslog_3_LogType
单个syslog发送通道(上报的服务端)的日志类型1(bit0):操作日志
2(bit1):安全日志
4(bit2):系统事件
8(bit3):入侵检测日志
支持不同日志组合
7#以BMCSet_CustomSyslog_0_LogType为例
if (BMCSet_CustomSyslog_0_LogType 为空)
 设置默认值
else
 获取BMCSet_CustomSyslog_0_LogType值,并设置
BMCSet_CustomSyslog_0_IpAddr
BMCSet_CustomSyslog_1_IpAddr
BMCSet_CustomSyslog_2_IpAddr
BMCSet_CustomSyslog_3_IpAddr
单个syslog发送通道(上报的服务端)IP地址IP地址字符串空字符串#以BMCSet_CustomSyslog_0_IpAddr为例
if (BMCSet_CustomSyslog_0_IpAddr 为空)
 设置默认值
else
 获取BMCSet_CustomSyslog_0_IpAddr值,并设置
BMCSet_CustomSyslog_0_Port
BMCSet_CustomSyslog_1_Port
BMCSet_CustomSyslog_2_Port
BMCSet_CustomSyslog_3_Port
单个syslog通道(上报的服务端)端口号0-655350#以BMCSet_CustomSyslog_0_Port为例
if (BMCSet_CustomSyslog_0_Port 为空)
 设置默认值
else
 获取BMCSet_CustomSyslog_0_Port值,并设置

power_mgmt

定制项名称定制项说明取值默认值处理流程
BMCSet_CustomPsuFruProductVersion电源FRU Product Version字段取值模式0:FRU显示的Product Version为硬件版本;
1: FRU显示的Product Version为软件(固件)版本;
if (BMCSet_CustomPsuFruProductVersion = "")
 设置电源FRU Rroduct Version显示为硬件版本信息
else
 设置电源FRU Rroduct Version显示为硬件/软件版本信息

power_strategy

定制项名称定制项说明取值默认值处理流程
BMCSet_CustomPowerCappingStatus功耗封顶使能状态on:无动作
off或不配置:关闭
offif (BMCSet_CustomPowerCappingStatus == on )
  无动作
else
  关闭功耗封顶
BMCSet_CustomPSActiveStandby
Custom_PSActiveStandbyMaxLevel
Custom_PSActiveStandbyMinLevel
电源主备状态切换条件0 <= Custom_PSActiveStandbyMinLevel <= Custom_PSActiveStandbyMaxLevel <= 100

BMCSet_CustomPSActiveStandby:
on:按照Custom_PSActiveStandbyMaxLevel和Custom_PSActiveStandbyMinLevel值设置切换条件;
off或不配置:恢复Custom_PSActiveStandbyMaxLevel和Custom_PSActiveStandbyMinLevel默认值
BMCSet_CustomPSActiveStandby:off
Custom_PSActiveStandbyMaxLevel:75
Custom_PSActiveStandbyMinLevel:65
if (BMCSet_CustomPSActiveStandby = on)
  if (0 <= Custom_PSActiveStandbyMinLevel <= Custom_PSActiveStandbyMaxLevel <= 100)
   设置主备状态切换条件上下限为Custom_PSActiveStandbyMaxLevel和Custom_PSActiveStandbyMinLevel的值
  else
   返回参数错误
else
  设置上下限参数为默认值(65,75)
BMCSetExpectedPSCount设置预期的电源模块数量0if (BMCSetExpectedPSCount为空)
 设置预期的电源模块数量为0
else
 设置预期的电源模块数量
BMCSet_LeakagePowerPolicy液冷服务器漏液后的电源控制策略noaction:漏液后不操作
poweroff:漏液后自动下电服务器
noactionif (BMCSet_LeakagePowerPolicy = poweroff)
 获取并设置漏液后的下电策略
else
 清除漏液后的电源控制策略
BMCSet_LeakageValvePolicy液冷服务器漏液后的关断阀控制策略noaction:漏液后不操作
shutoff:漏液后关断阀自动关断
noactionif (BMCSet_LeakageValvePolicy = shutoff)
 获取并设置漏液后的关断阀策略
else
 清除漏液后的关断阀控制策略
BMCSet_PowerWorkingMode
Custom_ExpectedActivePSU
设置电源工作模式BMCSet_PowerWorkingMode:电源供电模式,取值范围:
Active/Standby:主备供电模式
LoadBalancing:负载均衡供电模式

Custom_ExpectedActivePSU:期望的主用电源
BMCSet_PowerWorkingMode='LoadBalancing'
Custom_ExpectedActivePSU=''
if (BMCSet_PowerWorkingMode = Active/Standby)
 设置电源供电模式为主备供电模式
 设置主用电源列表为Custom_ExpectedActivePSU
else
 设置电源供电模式为负载均衡

product_mgmt

定制项名称定制项说明取值默认值处理流程
BMCSet_MACHINEALIAS机器别名不配置或字符串长度为0:使用默认的机器别名
"null":清空机器别名
其它值:机器别名设置成实际配置的值,长度范围:1~64
if (BMCSet_MACHINEALIAS == 空)
  机器别名保持不变
elses if (BMCSet_MACHINEALIAS == "null")
  设置机器别名为空
else
  设置机器别名为BMCSet_MACHINEALIAS的值
BMCSet_CustomerRedfishVersion客户Redfish规范版本长度范围:0-128空字符串if(BMCSet_CustomerRedfishVersion != ‘’):
 设置客户Redfish规范版本为CustomerRedfishVersion的值
else:
 设置客户Redfish规范版本为空字符串
BMCSet_Copyright设备厂商版权信息不配置或字符串长度为0:使用默认的版权信息
"null":清空版权信息
其它值:版权信息设置成实际配置的值,长度范围:1~128
if (BMCSet_Copyright == 空)
  版权信息保持不变
else if (BMCSet_Copyright == "null")
  设置版权信息为空
else
  设置版权信息为BMCSet_Copyright的值
BMCSet_OfficalWeb设备厂商官方网页不配置或字符串长度为0:使用默认的官方网页
其它值:官方网页设置成实际配置的值,长度范围:1~128
if (BMCSet_OfficalWeb == 空)
  官方网页保持不变
else
  设置官方网页为BMCSet_OfficalWeb的值
BMCSet_LanguageSetWeb支持的语言集合输入为逗号连接各种语言的字符串, 如: zh,en,fr
zh:中文
en:英文
ja:日文
fr:法文
ru::俄文
其中中英是默认必须安装的
en,zh,ja,fr,ruif (BMCSet_LanguageSet 符合模式 en,zh[,#language]*)
  设置对应语言
else
  设置失败
BMCSet_RedfishCustomManuNameredfish响应体OEM厂商名称不配置或字符串长度为0:使用默认的名称Huawei
其它值:OEM厂商名称设置成定制的值,长度范围:1~128,不允许带空格
Huaweiif (BMCSet_RedfishCustomManuName == 空)
  设置成默认值Huawei
else
  设置成BMCSet_RedfishCustomManuName的值
BMCSet_PackageCustomerBMC定制版本的客户名称if (BMCSet_PackageCustomer != 空)
 设置定制客户名称为BMCSet_PackageCustomer的值
else
 设置定制客户名称为空字符串
BMCSet_PackageCustomerVersionBMC定制版本的套餐信息if(BMCSet_PackageCustomerVersion != 空)
  设置客户定制套餐版本为BMCSet_PackageCustomerVersion的值
else
  设置定制套餐版本为空字符串
BMCSet_PackageProviderBMC定制版本提供商if(BMCSet_PackageProvider != 空)
  设置客户定制版本提供商为BMCSet_PackageProvider的值
else
  设置客户定制版本提供商为空字符串
BMCSet_SNMPCustomManuOidSNMP Oid厂商名称不配置或字符串长度为0:使用默认的名称2011.2.235.1.1
其它值:Oid的厂商名称部分设置成定制的值,长度范围:1~128,不允许带空格,格式需要满足%d.%d.%d.%d.%d
2011.2.235.1.1if (BMCSet_SNMPCustomManuOid == 空)
  设置成默认值2011.2.235.1.1
else
  设置成BMCSet_SNMPCustomManuOid的值
BMCSet_TrustedSupplyChainCheckEnabled供应链配置检查功能开关on:供应链配置检查功能打开
off或不配置:供应链配置检查功能关闭
offif(BMCSet_TrustedSupplyChainCheckEnabled == on)
  供应链配置检查功能打开
else
  供应链配置检查功能关闭

remote_console

定制项名称定制项说明取值默认值处理流程
BMCSet_VNCSSLEnableStateVNC SSL加密使能on或不配置 : 开启SSL加密传输
off:关闭SSL加密传输
onif (BMCSet_VNCSSLEnableState == 空)
  设置VNC SSL加密使能开关为开
else
  设置VNC SSL加密使能开关为BMCSet_VNCSSLEnableState的值
BMCSet_VNCKeyboardLayoutVNC键盘布局jp或不配置 : 日式键盘布局
en:美式键盘布局
jpif (BMCSet_VNCKeyboardLayout == 空)
  设置VNC键盘布局为日式键盘布局
else
  设置VNC键盘布局为BMCSet_VNCKeyboardLayout的值

rmcpd

定制项名称定制项说明取值默认值处理流程
BMCSet_RMCPCipherSuites_1
BMCSet_RMCPCipherSuites_2
BMCSet_RMCPCipherSuites_3
BMCSet_RMCPCipherSuites_17
RMCP+会话加密算法套件使能状态on: 使能套件
off或不配置:禁用套件
BMCSet_RMCPCipherSuites_1=off
BMCSet_RMCPCipherSuites_2=off
BMCSet_RMCPCipherSuites_3=off
BMCSet_RMCPCipherSuites_17=on
# 以BMCSet_RMCPCipherSuite_1为例
if (BMCSet_RMCPCipherSuite_1 == on)
  使能RMCP+会话加密套件1
else
  禁用RMCP+会话加密套件1

sensor

定制项名称定制项说明取值默认值处理流程
BMCSet_QuerySELMaxNumValue可查询的IPMI SEL最大条数1~20002000if (BMCSet_QuerySELMaxNumValue != 空)
  设置可查询的IPMI SEL最大条数为BMCSet_QuerySELMaxNumValue的值
else
  设置可查询的IPMI SEL最大条数为2000
BMCSet_PEF_EnableIPMI传感器PEF使能开关on或不配置:开启PEF功能
off:禁用PEF功能
onif (BMCSet_PEF_Enable == off)
  禁用传感器PEF功能
else
  启用传感器PEF功能
BMCSet_SEL_ModeIPMI传感器SEL存储模式ClearAfterFull或不配置:清空模式
RotateAfterFull: 循环滚动模式
ClearAfterFullif (BMCSet_SEL_Mode == "RotateAfterFull")
  设置传感器SEL记录模式为循环滚动模式
else
  设置传感器SEL记录模式为清空模式
BMCSet_CustomDynamicSensorNumBase传感器动态分配起始号码1~2541if (BMCSet_CustomDynamicSensorNumBase == 空)
  设置传感器号其实编号为1
else
  设置传感器号其实编号为1为BMCSet_CustomDynamicSensorNumBase的值

ssdp

定制项名称定制项说明取值默认值处理流程
BMCSet_SSDPEnableSSDP Notify功能使能状态0或不配置:关闭SSDP Notify功能
1:开启SSDP Notify功能
0if (BMCSet_SSDPEnable == "")
 关闭SSDP Notify功能
else
 设置SSDP Notify功能使能状态为BMCSet_SSDPEnable的值
BMCSet_SSDP_NOTIFY_INTERVALSSDP Notify时间间隔设置1~1800,单位:秒600if (BMCSet_SSDP_NOTIFY_INTERVAL == "")
  设置为600
else
  设置相应值

storage

定制项名称定制项说明取值默认值处理流程
BMCSet_DrivesLogAutoCollectEnable设置是否自动周期收集硬盘日志0, 11if (BMCSet_DrivesLogAutoCollectEnable == true)
 硬盘周期性进行日志收集
else
 退出硬盘周期日志收集流程
BMCSet_DrivesLogCollectInterval设置自动周期收集硬盘日志的周期1~255 单位小时24if (BMCSet_DrivesLogAutoCollectEnable == true)
 设置硬盘日志收集周期为:BMCSet_DrivesLogCollectInterval
end

trust

定制项名称定制项说明取值默认值处理流程
BMCSet_SecurityBannerEnable
Custom_SecurityBanner
安全公告BMCSet_SecurityBannerEnable:定制安全公告使能,取值范围:
on或不配置: 打开安全公告使能;
off: 关闭安全公告使能,关闭安全公告使能会清空安全公告内容

Custom_SecurityBanner:定制安全公告内容,BMCSet_SecurityBannerEnable为off时无法定制;
长度范围:0~1024
BMCSet_SecurityBannerEnable=on
Custom_SecurityBanner=WARNING! This system is PRIVATE and PROPRIETARY and may only be accessed by authorized users. Unauthorized use of the system is prohibited. The owner, or its agents, may monitor any activity or communication on the system. The owner, or its agents, may retrieve any information stored within the system. By accessing and using the system, you are consenting to such monitoring and information retrieval for law enforcement and other purposes....
if (BMCSet_SecurityBannerEnable == off)
  关闭安全公告使能
  清空安全公告内容
else
  打开安全公告使能
  if(Custom_SecurityBanner 为空)
   设置安全公告为默认值
  else
   设置安全公告为Custom_SecurityBanner的值
Custom_TLSProtocolTLS协议设置4: 支持TLS 1.2协议及以上版本
5: 仅支持TLS 1.3协议
4if (Custom_TLSProtocol 为空)
 设置TLS协议为4
else
 设置TLS协议为Custom_TLSProtocol的值
BMCSet_CertAlgorithmSSL证书算法0:SSL证书算法为RSA,导出csr时使用RSA算法
1:SSL证书算法为ECC,导出csr时使用ECC算法
2:SSL证书算法为SM2,导出csr时使用SM2算法
0if (BMCSet_CertAlgorithm 为空)
 设置SSL证书算法为0
else
 设置SSL证书算法为BMCSet_CertAlgorithm的值
fi