## Features of OpenBMC Test Automation ##
**Interface Feature List**
* REST
* DMTF Redfish
* Out-of-band IPMI
* SSH to BMC and Host OS
**Key Feature List**
* Power on/off
* Reboot Host
* Reset BMC
* Code update BMC and host
* Power management
* Fan controller
* HTX bootme
* XCAT execution
* Network
* IPMI support (generic and DCMI compliant)
* Factory reset
* RAS (Reliability, availability and serviceability)
* Web UI testing
* Secure boot
* SNMP (Simple Network Management Protocol)
* Remote Logging via Rsyslog
* LDAP (Lightweight Directory Access Protocol)
* Certificate
* Local User Management(Redfish/IPMI)
* DateTime
* Event Logging
* PLDM (Platform Level Data Model) via pldmtool
**Debugging Supported List**
* SOL collection
* FFDC collection
* Error injection from host
## Installation Setup Guide ##
* [Robot Framework Install Instruction](https://github.com/robotframework/robotframework/blob/master/INSTALL.rst)
* Miscellaneous
Packages required to be installed for OpenBmc Automation.
Install the packages and it's dependencies via `pip`
REST base packages:
```
$ pip install -U requests
$ pip install -U robotframework-requests
$ pip install -U robotframework-httplibrary
```
Python redfish library packages:
For more detailed intstructions see [python-redfish-library](https://github.com/DMTF/python-redfish-library)
```
$ pip install redfish
```
SSH and SCP base packages:
For more detailed installation instructions see [robotframework-sshlibrary](https://pypi.python.org/pypi/robotframework-sshlibrary)
```
$ pip install robotframework-sshlibrary
$ pip install robotframework-scplibrary
```
Installing tox:
```
$ pip install -U tox
```
If using Python 3.x, use the corresponding `pip3` to install packages.
## OpenBMC Test Development ##
These documents contain details on developing OpenBMC test code and debugging.
- [MAINTAINERS](MAINTAINERS): OpenBMC test code maintainers information.
- [CONTRIBUTING.md](CONTRIBUTING.md): Coding guidelines.
- [REST-cheatsheet.md](https://github.com/openbmc/docs/blob/master/REST-cheatsheet.md): Quick reference for some common
curl commands required for legacy REST testing.
- [REDFISH-cheatsheet.md](https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md): Quick reference for some common
curl commands required for redfish testing.
- [README.md](https://github.com/openbmc/phosphor-webui/blob/master/README.md): Web UI setup reference.
- [Corporate CLA and Individual CLA](https://github.com/openbmc/docs/blob/master/CONTRIBUTING.md#submitting-changes-via-gerrit-server): Submitting changes via Gerrit server
## OpenBMC Test Documentation ##
- [Tools](https://github.com/openbmc/openbmc-test-automation/blob/master/docs/openbmc_test_tools.md): Reference information for helper tools.
- [Code Update](https://github.com/openbmc/openbmc-test-automation/blob/master/docs/code_update.md): Currently supported BMC and PNOR update.
- [Certificate Generate](https://github.com/openbmc/openbmc-test-automation/blob/master/docs/certificate_generate.md): Steps to create and install CA signed certificate.
## Testing Setup Steps ##
To verify the installation setup is completed and ready to execute.
* Download the openbmc-test-automation repository:
```
$ git clone https://github.com/openbmc/openbmc-test-automation
$ cd openbmc-test-automation
```
* Execute basic setup test run:
```
$ robot -v OPENBMC_HOST:xx.xx.xx.xx templates/test_openbmc_setup.robot
```
where xx.xx.xx.xx is the BMC hostname or IP.
## Test Layout ##
There are several sub-directories within the openbmc-test-automation base which
contain test suites, tools, templates, etc. These sub-directories are
classified as follows:
`tests/`: Contains the general test cases for OpenBMC stack functional
verification. The "tests" subdirectory uses legacy REST and will be
deprecated at some point and therefore no longer supported.
`extended/`: Contains test cases for boot testing, code update testing using legacy REST, etc.
`systest/`: Contains test cases for HTX bootme testing.
`xcat/`: Contains test cases for XCAT automation.
`gui/`: Contains test cases for web UI and security scanning tool automation.
`pldm/`: Contains test cases for platform management subsystem (base, bios, fru, platform, OEM).
`snmp/`: Contains test cases for SNMP (Simple Network Management Protocol)
configuration testing.
`openpower/ras/`: Contains test cases for RAS (Reliability, Availability and
Serviceability) for an OpenPOWER system.
`openpower/secureboot/`: Contains test cases for secure boot testing on a
secure boot feature enabled OpenPOWER system only.
`tools/`: Contains various tools.
`templates/`: Contains sample code examples and setup testing.
`test_list/`: Contains the argument files used for skipping test cases
(e.g "skip_test", "skip_test_extended", etc.) or
grouping them (e.g "HW_CI", "CT_basic_run", etc.).
## Redfish Test Layout ##
OpenBMC is moving steadily towards DTMF Redfish, which is an open industry standard
specification and schema that meets the expectations of end users for simple,
modern and secure management of scalable platform hardware.
`redfish/`: Contains test cases for DMTF Redfish-related feature supported on OpenBMC.
`redfish/extended/`: Contains test cases for combined legacy REST and DMTF Redfish-related
feature supported on OpenBMC.
## Quickstart ##
To run openbmc-automation first you need to install the prerequisite Python
packages which will help to invoke tests through tox (Note that tox
version 2.3.1 or greater is required) or via Robot CLI command.
**Robot Command Line**
* Execute all test suites for `tests/`:
```
$ robot -v OPENBMC_HOST:xx.xx.xx.xx tests
```
* Execute a test suite:
```
$ robot -v OPENBMC_HOST:xx.xx.xx.xx redfish/extended/test_basic_ci.robot
```
* Initialize the following test variables which will be used during test execution:
User can forward declare as environment variables:
```
$ export OPENBMC_HOST=<openbmc machine IP address/hostname>
$ export OPENBMC_USERNAME=<openbmc username>
$ export OPENBMC_PASSWORD=<openbmc password>
$ export IPMI_COMMAND=<Dbus/External>
```
or
User can input as robot variables as part of the CLI command:
```
-v OPENBMC_HOST:<openbmc machine IP address/hostname>
-v OPENBMC_USERNAME:<openbmc username>
-v OPENBMC_PASSWORD:<openbmc password>
```
* For QEMU tests, set the following environment variables as well:
```
$ export SSH_PORT=<ssh port number>
$ export HTTPS_PORT=<https port number>
```
* Run tests:
```
$ tox tests
```
* How to run individual test:
One specific test:
```
$ tox -e default -- --include Power_On_Test tests/test_basic_poweron.robot
```
No preset environment variables, default configuration for all supported
systems:
```
$ OPENBMC_HOST=x.x.x.x tox -e default -- tests
```
No preset environment variables, one test case from a test suite:
```
$ OPENBMC_HOST=x.x.x.x tox -e default -- --include Power_On_Test tests/test_basic_poweron.robot
```
No preset environment variables, the entire test suite:
```
$ OPENBMC_HOST=x.x.x.x tox -e default -- tests
```
No preset environment variables, the entire test suite excluding test
cases using argument file:
```
$ OPENBMC_HOST=x.x.x.x tox -e default -- --argumentfile test_lists/skip_test tests
```
Exclude test list for supported systems:
```
Palmetto: test_lists/skip_test_palmetto
Witherspoon: test_lists/skip_test_witherspoon
```
* Run IPMI tests:
Running only out-of-band IPMI tests:
```
$ robot -v IPMI_COMMAND:External -v OPENBMC_HOST:x.x.x.x --argu
没有合适的资源?快使用搜索试试~ 我知道了~
openbmc-test-automation
共437个文件
robot:269个
py:81个
tcl:11个
2星 需积分: 49 9 下载量 143 浏览量
2021-03-19
20:36:43
上传
评论 1
收藏 823KB ZIP 举报
温馨提示
OpenBMC测试自动化的功能 接口功能列表 休息 DMTF红鱼 带外IPMI SSH到BMC和主机OS 关键功能清单 开启/关闭电源 重新启动主机 重置BMC 代码更新BMC和主机 能源管理 风扇控制器 HTX短靴 XCAT执行 网络 IPMI支持(通用和DCMI兼容) 恢复出厂设置 RAS(可靠性,可用性和可维护性) Web UI测试 安全启动 SNMP(简单网络管理协议) 通过Rsyslog进行远程日志记录 LDAP(轻型目录访问协议) 证书 本地用户管理(Redfish / IPMI) 约会时间 事件记录 通过pldmtool的PLDM(平台级别数据模型) 调试支持列表 SOL系列 FFDC集合 来自主机的错误注入 安装设置指南 需要为OpenBmc Automation安装其他软件包。通过pip安装软件包及其依赖项 REST基本软件包: $ pip install -U r
资源详情
资源评论
资源推荐
收起资源包目录
openbmc-test-automation (437个子文件)
All 2KB
bash_simple_template 827B
BMC_WEB_CI 174B
setup.cfg 55B
Code_update 46B
convert_ip_to_dummy 788B
cp_cleanup 9B
cp_ffdc_check 3KB
cp_master 2KB
cp_post_boot 4KB
cp_post_reboot 9B
cp_pre_boot 9B
cp_setup 9B
cp_stop_check 5KB
CT_basic_run 1KB
tools.exp 9KB
generate_inventory 4KB
generate_test_document 2KB
github_issues_to_csv 4KB
.gitignore 97B
HW_CI 934B
HW_CI_DEV 934B
tox.ini 1KB
integrated 137B
boot_table.json 27KB
boot_table_redfish.json 22KB
resource_lock_table.json 12KB
applytime_table.json 602B
olympus.json 384B
LICENSE 11KB
MAINTAINERS 2KB
Manufacturing 859B
CONTRIBUTING.md 26KB
README.md 11KB
certificate_generate.md 9KB
redfish_coding_guidelines.md 5KB
openbmc_test_tools.md 5KB
code_update.md 4KB
redfish_request_via_mTLS.md 3KB
openbmc_test_architecture.md 2KB
OBMC_reboot 888B
obmc_ser_num 4KB
OS_reboot 256B
parm_def 518B
parm_def 146B
parm_def 66B
PDU_reboot 104B
Power_off 286B
Power_on 108B
print_ffdc_functions 2KB
gen_print.py 77KB
state.py 41KB
obmc_boot_test.py 40KB
var_funcs.py 34KB
Romulus.py 29KB
gen_cmd.py 29KB
gen_valid.py 28KB
ipmi_utils.py 26KB
gen_plug_in_utils.py 23KB
gen_misc.py 23KB
Witherspoon.py 22KB
gen_arg.py 21KB
openbmctool_utils.py 20KB
gen_call_robot.py 19KB
Palmetto.py 15KB
boot_data.py 15KB
utils.py 14KB
gen_robot_ssh.py 14KB
openbmc_ffdc_list.py 14KB
bmc_redfish_utils.py 13KB
variables.py 12KB
bmc_ssh_utils.py 12KB
gen_csv_results.py 11KB
process_plug_in_packages.py 11KB
code_update_utils.py 11KB
tally_sheet.py 11KB
bmc_redfish.py 10KB
redfish_plus.py 10KB
gen_robot_plug_in.py 9KB
func_timer.py 9KB
auto_status_file.py 8KB
gen_robot_valid.py 8KB
bmc_network_utils.py 8KB
gen_plug_in.py 8KB
utilities.py 8KB
pldm_variables.py 7KB
websocket_monitor.py 7KB
utils_keywords.py 7KB
openbmc_ffdc.py 7KB
func_args.py 6KB
resource_variables.py 6KB
management_console_utils.py 5KB
gen_robot_print.py 5KB
ipmi_client.py 5KB
state_map.py 5KB
dump_utils.py 5KB
run_keyword.py 5KB
generate_testsuite_info.py 4KB
variables.py 4KB
prop_call.py 4KB
共 437 条
- 1
- 2
- 3
- 4
- 5
jacknrose
- 粉丝: 26
- 资源: 4542
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于小程序的客家菜餐馆点菜系统源代码(java+小程序+mysql).zip
- 基于小程序的家庭事务管理微信小程序源代码(java+小程序+mysql+LW).zip
- PHP微信朋友圈广告植入源码 无限制多用户版
- 基于小程序的综合文化信息管理系统源代码(java+小程序+mysql+LW).zip
- java+mvc+jsp的数据库课程设计-企业人事管理系统源码+课设报告(高分项目)
- 基于小程序的外卖商城平台的微信小程序源代码(java+小程序+mysql+LW).zip
- 基于小程序的在线视频教育系统源代码(java+小程序+mysql+LW).zip
- 航飞动三自由度弹道仿真,第一段无动力飞行,第二段启动推力,第三段比例导引
- 基于小程序的预约挂号系统源代码(java+小程序+mysql+LW).zip
- 基于小程序的民大食堂用餐综合服务平台源代码(java+小程序+mysql+LW).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2