技术领域
本发明涉及BMC检验技术,尤其涉及一种自动测BMC用户名和密码的方法。
背景技术:
BMC又叫基板管理控制器,是独立于CPU,BIOS,操作系统的一种单独芯片实现。是一个专门的服务处理机,它利用传感器来监控一台计算机,网络服务器,或者是其他硬件驱动设备的状态。只要服务器的主板接通电源,不管服务器的状态如何,都可以提供远程检测,管理和恢复功能,从而协助系统管理人员迅速诊断系统故障的原因,在尽可能短的时间内重新恢复工作。
由于BMC是一种独产于操作系统的小型系统,在登陆BMC管理系统需要用户名和密码。不同的客户在部署服务器设备时为了方便统一管理和控制设备,会根据自己的需求和使用习惯定制不同的BMC用户名及密码。工厂在服务器设备生产时,根据前端传递过来的客户定制BMC用户名及密码进行烧录,针对不同客户BMC用户名和密码的需求,需要在出厂前做最后检验以确保流到客户手中的机器是刷成了正确的值。当前检验有两种解决方案
现有技术1:没有单独针对BMC用户名密码的自动检查;当版本号对了就认定刷入正确。这种方案的缺点就是当刷新写入出错,或者刷入文件混淆但版本号相同,会导致异常漏出。
现有技术2:出厂时人工核对BMC用户名和密码,如附图1,这种方案需BMC连网,首先通过人工获得BMC IP地址,再手动输入用户及密码,进行登陆验证。不仅效率较低,同时也容易出错漏失。
技术实现要素:
为了解决以上技术问题,本发明提出了一种自动测BMC用户名和密码的方法。通过采用IPMI工具,结合shell脚本控制,在Linux系统下自动检查每台服务器订制的BMC用户名和密码,来实现自动卡关,减少人力测试成本的同时,提高产品质量。
本发明基于Linux系统平台,开发BMC用户名,密码读取和比较控制脚本,利用IPMI工具的功能,对当前实际所使用的用户名与密码进行测试,再通过判断其返回值来确定测试结果;同时配套开发数据库与网页维护接口。
具体操作步骤如下:
(1)OS下检验主程序调用BMC用户名与密码测试脚本check_bmc.sh;
(2)通过IPMI工具获取当前待测机用户列表;
(3)判断用户列表是否为空,非空则取出游标所指向的第一个用户名,同时游标往下移动一次,为空则直接退出;
(4)假设该取出的用户名为”aa”,则使用”aa”以及当前测试机器所对应的生产指令号为索引条件,在数据库中检索用户列表是否有相对应的匹配值;
(5)如果存在,则从数据库中取出“aa”的标准密码,不存在,则直接报错,回到步骤(3);
(6)使用IPMITOOL工具用户探测机制,ipmitool user test <user id> 16 <password]>,尝试登陆;
(7)判断返回值,为真提示正确,为假则提示错误。回到步骤(3)执行;
(8)重复上述步骤,直至列表中用户检查完毕。
本发明的有益效果是
本发明采用系统自动化检验BMC用户名和密码,提高了订制化产品的自动化测试覆盖率,改善了之前人工检查生产效率低以及出错引发的返工客诉问题,提高产品质量。
附图说明
图1是自动测订制化BMC用户名和密码的方法流程图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
本发明基于Linux系统平台,开发BMC用户名,密码读取和比较控制脚本,利用IPMI工具的功能,对当前实际所使用的用户名与密码进行测试,再通过判断其返回值来确定测试结果。
同时配套开发数据库与网页维护接口,实现整套的技术解决方案,提高生产效率
如图所示,具体操作步骤如下:
(1)OS下检验主程序调用BMC用户名与密码测试脚本check_bmc.sh;
(2)通过IPMI工具获取当前待测机用户列表;
(3)判断用户列表是否为空,非空则取出游标所指向的第一个用户名,同时游标往下移动一次,为空则直接退出;
(4)假设该取出的用户名为”aa”,则使用”aa”以及当前测试机器所对应的生产指令号为索引条件,在数据库中检索用户列表是否有相对应的匹配值;
(5)如果存在,则从数据库中取出“aa”的标准密码,不存在,则直接报错,回到步骤(3);
(6)使用IPMITOOL工具用户探测机制,ipmitool user test <user id> 16 <password]>,尝试登陆;
(7)判断返回值,为真提示正确,为假则提示错误。回到步骤(3)执行;
(8)重复上述步骤,直至列表中用户检查完毕。
本发明设计了Linux下自动检验BMC用户名及密码的方法,无需连网及人工手动操作验证。