Anuket Project
Hardware Delivery Validation(HDV)
Overview
This is a sub project of CIRV about the hardware validation tool implementation. We have contributed a proto type code implementation based on redfish interface. You can find the repo from Git Repo chapter. Further more, we also would like to support ipmi interface implementation to meet perspective from commuity. Right now, we are actively open to collect any requirements for impi interface. If you have any input, welcome input your items into Requirements List Table at below. Or you can also write a mail to me for further dicussion. Find my email information from Contact chapter.
Project description and goals
Hardware Delivery Verification includes detailed background and requirement discussion for HDV.
We then created a proto type cirv-hdv first commited at the beginning of this year(2020).
We are going to refactor the hdv code to be much friendly for usage, and easily extensible to cover much more hardware model via customize the cases related configuration file. Also we work endeavor to make sure the hdv tool could support a common standard resource description file (short as DF) which are originally required from CNTT RI chapter. In order to make that happen, we would define a DF from hdv scope. Right now we are planning to cover both redfish and impi interface implementation, but for sure it's decided by the progress in future. And for the priority, redfish takes precedence over ipmi. Finally, a quick start user guide will be included. The hdv tool is a very useful tool to validate or configurate hardware, especially if a very large scale of resource pool to build. It is capable to help operator to examine hardware efficiently.
Requirements List
welcome hardware validation requirements of ipmi interfaces
requirement number | short description | details | originator | comments |
---|---|---|---|---|
Architecture
The HDV tool consists of HDV Engine, testcase configuration files, and hardware resource descriptions file.
The test case configuration file defines a resource validation check point by including redfish urls, request data if needed, and expected result.
- The HDV Engine is a http request handler which mainly interact with hardware resource to execute the redfish request and return the response.
- Engine takes charge of examination of each hardware by running test case one by one.
- The Hardware resource description file, which is a large scale of hardware credentials information for servers.
Project Roadmap
- to fill according to my intern effort and progress.
Key date week from June 1st, 6, 12, 18, 24 for part-time mentees
Milestone work-items Due Date details git reviews task status comments hdv overview - connection setup, weekly meeting introduction
- hdv code overview
- milestone setup
2 weeks(6.1-1.2) build up a overview about the hdv project.
#70168 DONE code refactor based on redfish implementation - re-define and optimize the configuration file structure merge depends.yaml and cases.yaml into one configuration file.
- Add case enabled flag, convert "expected_result" json to yaml and start writting unit tests.
3weeks(6.15-7.4) How to get the resource from a request url?
- directly case
- depends case
description:
for each case, we define all url(s) in order, ie, grandpa,parent,child url controlled in sorted order. To get a depends case, we have to get the parent's or parent's parent's resource id at first ...
in progress - redefine the hardware description file per cntt HDV requirements
1week(7.6-7.11) How to define the applicable hardware description file which can be treated as uniform input resource configuration file.
take cntt hdv decription file into account.
? BMC ip/user/passwordcabling?
- remove the support of excel format configuration file from project
1week(7.13-7.17) description:
This is originally introduced from cmcc, however, it's not proposed in community per opnfv feedback.
- so we need to clear up excel related code from current code.
- update the config.yaml to remove the position variable.
- extend the case configuration template from one hardware model to multiple case.
1week/model
(7.20-7.25)
description:
we are intended to extend multiple vendor&model supported by document new configuration value, where it's follows designed rules.
#70913 support typical hardware model.
Huawei,H3C,Inspur
- bug fix
1 week.(7.27-7.31) defects, depends on the progress. document of hdv - design and user guide
1 week.(8.3-8.8) description:
- include a instruction of design and principle of HDV
- a quick start user guide of how to config it.
ipmi documents collection. ... Document
- TBD
Q&A
- question1: What's the hdv tool function scope?
- answer: At present, it only support redfish inteface.
- question2: Any plan to also support ipmi?
- answer: It depends on the detailed implementable ipmi requirements collected, so we are actively open now for any comments, you can contact me if you are interested.
Contact
Git repos
git clone "https://gerrit.opnfv.org/gerrit/cirv-hdv"